实现米思齐按键控制LED
硬件:Arduino、LED
软件:Mixly IDE
模块:
程序代码:
volatile boolean b1; //用于读取目前的开关状态
volatile boolean b2;
volatile byte click;
volatile boolean laststate;
volatile boolean toggle;
void setup(){
pinMode(8, INPUT);
pinMode(13, OUTPUT);
laststate = 0; //用来记录上一次的开关状态,初始化为0
toggle = 0; //输出给LED的信号,初始化为0
click = 0; //关灯信号的改变次数,初始化为0
b1 = 0;
b2 = 0;
pinMode(8, INPUT_PULLUP);
}
void loop(){
b1 = digitalRead(8); //读取开关的初始化状态
if (b1 != laststate) { //如果与以前的开关至不同
delay(20); //去震动
b2 = digitalRead(8); //载读取一次开关状态
if (b2 == b1) { //确认两次开关状态是否一致
laststate = b1; //存储开关状态
click = click + 1; //次数累计
}
}
if (click == 2) { //如果开关状态改变两次
click = 0; //开关信号改变次数归零
toggle = !toggle; //取相反值
digitalWrite(13,toggle);
}
}
效果请点击以下下链接查看:
https://b23.tv/av72037282