一、学习环境
1、Arduino的国内版本,Zduino uno。
2、Win10的64位系统。
3、安装IDE及驱动。
二、第一个程序
1、程序目标:实现一个按键控制板子上L灯闪及灭,按一下按钮亮,按一下按钮灭。
2、程序:
[code]
int val = 1; //定义变量val存储按钮状态
int old_val = 0; //用于存储上一次按钮状态的变量
int state = 0; //存储LED状态的变量,0表示灭,1表示亮
void setup() {
pinMode(13, OUTPUT); //设置13号引脚为LED输出引脚
pinMode(2, INPUT_PULLUP); //设置2号引脚为开关输入引脚,同时设定为高电平状态(PULLUP相当于上拉电阻吧,我理解是这么个意思)
}
void loop() {
val = digitalRead(2); //读取2号引脚上的电平状态,并赋值给变量val
if ((val == LOW) && (old_val == HIGH)) //设置判断条件,此次读取电平值为低电平(按钮按下)且上次电平值为高电平则执行程序:state=1-state
{
state = 1 - state;
delay(10);//延迟10ms消除杂波干扰
}
old_val = val;//用old_val变量存储本次读取的电平值
if (state == 1) //判断state状态
{
digitalWrite(13, HIGH);
}
else
{
digitalWrite(13, LOW);
[/code]
int val = 1; //定义变量val存储按钮状态
int old_val = 0; //用于存储上一次按钮状态的变量
int state = 0; //存储LED状态的变量,0表示灭,1表示亮
void setup() {
pinMode(13, OUTPUT); //设置13号引脚为LED输出引脚
pinMode(2, INPUT_PULLUP); //设置2号引脚为开关输入引脚,同时设定为高电平状态(PULLUP相当于上拉电阻吧,我理解是这么个意思)
}
void loop() {
val = digitalRead(2); //读取2号引脚上的电平状态,并赋值给变量val
if ((val == LOW) && (old_val == HIGH)) //设置判断条件,此次读取电平值为低电平(按钮按下)且上次电平值为高电平则执行程序:state=1-state
{
state = 1 - state;
delay(10);//延迟10ms消除杂波干扰
}
old_val = val;//用old_val变量存储本次读取的电平值
if (state == 1) //判断state状态
{
digitalWrite(13, HIGH);
}
else
{
digitalWrite(13, LOW);
[/code]