Mixly按键控制LED灯
程序员文章站
2022-06-20 12:17:55
...
一、实验目的及要求
button开关led。
二、实验原理与内容
实现米思齐按键控制LED(改写方法3)。
三、实验软硬件环境
硬件:Arduino、LED
软件:Mixly IDE
四、实验过程(实验步骤、记录、数据、分析)
Mixly模块:
模块代码:
volatile byte LED; //定义字节型变量LED
volatile byte SW; //定义字节型变量SW(switch表示开关)
volatile int b1; //定义整型变量b1
volatile int b2; //定义整型变量b2
volatile byte click; //定义字节型变量click(按下的次数)
volatile boolean lastState; //定义布尔型变量lastState(上一次开关状态)
volatile boolean toggle; //定义布尔值LED灯的信号
void setup(){
pinMode(LED, OUTPUT);
pinMode(8, INPUT_PULLUP);
Serial.begin(9600);
LED = 13;
SW = 8;
lastState = 0;
toggle = 0;
click = 0;
b1 = digitalRead(8);
b2 = digitalRead(8);
}
void loop(){
b1 = digitalRead(8);
Serial.println(b1); //自动打印b1状态(注:这只是为了测试,可删)
if (b1 != lastState) {
delay(20); //延迟20毫秒防止抖动
b2 = digitalRead(8); //读取目前开关的状态并赋值给b2
if (b2 == b1) { //如果b1的状态不等于b2的状态
lastState = b1; //将b1的状态赋值给上一个状态
click = click + 1; //按下的次数加1
}
}
if (click == 2) { //如果按下的次数为2,则执行以下:
click = 0; //将按下的次数初始化为0
toggle = !toggle; //信号取反,一开始关,则现在开,反之则关
pinMode(LED, OUTPUT);
digitalWrite(LED,toggle);
}
}
实验图片
实验视频:
注:按键控制LED灯