Mixly按键控制LED灯
程序员文章站
2022-07-14 08:54:22
...
Mixly按键控制LED灯
实验条件:笔记本电脑一台,硬件:Arduino开发板,软件:Mixly
(1)mixly图形化编程
(2)Mixly按键控制LED灯代码
volatile int b1;
volatile int b2;
volatile int click;
volatile int lastState;
volatile int toggle;
void setup(){
b1 = 0;
b2 = 0;
lastState = digitalRead(8);
toggle = 0;
click = 0;
pinMode(8, INPUT_PULLUP);
Serial.begin(9600);
pinMode(4, OUTPUT);
}
void loop(){
Serial.println(toggle);
b1 = digitalRead(8);
if (b1 != lastState) {
delay(20);
b2 = digitalRead(8);
if (b1 == b2) {
lastState = b1;
click = click + 1;
}
}
if (click == 2) {
click = 0;
toggle = 1 - toggle;
if (toggle == 1) {
digitalWrite(4,HIGH);
} else {
digitalWrite(4,LOW);
}
}
}
(3)实验效果图
按下按钮,灯亮
再按一下按钮,灯灭
程序主要部分代码解释:
开关状态laststate初始值为high,toggle=1;按一下按钮,读取目前开关的状态,b1=low,toggle=0;b1!= laststate,延时20ms,去震动;再次读取开关的状态,b2=low,toggle=0,b1=b2=low,灯亮,laststate=low,click=0+1=1;按一下按钮,读取目前开关的状态,b1=high,toggle=1;b1!= laststate,延时20ms,去震动;再次读取开关的状态,b2=high,toggle=1,b1=b2=high,灯灭,laststate=high,click=1+1=2;最后click=0,toggle=1-1=0,LED亮,toggle=1-0=1,LED灭。
下一篇: Web UI自动化之Excel用例读取