实验通过主板自带的小灯泡和按钮实现通过按钮来控制小灯泡的亮灭。
对按钮的输入次数进行判断从而进行控制灯的亮灭。
volatile int b1;
volatile int b2;
volatile int click;
volatile int laststate;
volatile int toggle;
void setup(){
click = 0;
laststate = digitalRead(11);
toggle = 0;
b1 = 0;
b2 = 0;
pinMode(11, INPUT_PULLUP);
pinMode(13, OUTPUT);
}
void loop(){
if (digitalRead(11) == 0) {
b1 = !digitalRead(11);
if (b1 != laststate) {
delay(20);
b2 = digitalRead(11);
if (b1 == b2) {
laststate = b1;
click = click + 1;
}
}
if (click == 1) {
toggle = 1 - toggle;
digitalWrite(13,toggle);
}
if (click == 2) {
click = 0;
toggle = 1 - toggle;
digitalWrite(13,toggle);
}
delay(1000);
}
}
视频:
https://v.qq.com/x/page/p3013jks94d.html