1-4-单按键独立控制灯光开关
如果手头没有开发板,可以使用 Wokwi 进行仿真。
示例:

实训项目:单按键独立控制灯光开关
Arduino程序编写任务
在蓝蜻蜓ESP32物联网开发平台上,完成以下功能:
- 初始化数字端口
- 初始化4个LED灯和2个按键。
- 设计按键扫描函数
- 当SW1按键按下时,切换D3灯的开关状态,然后等待按键的松开。
- 当SW2按键按下时,切换D4灯的开关状态,然后等待按键的松开。
- 在主函数中
- 循环扫描按键的状态,并作正确的处理。
- 程序编译与运行
- 接上ESP32开发板。
- 编译程序。
- 下载代码。
- 运行程序。
工程代码
#include <Arduino.h>
#define d3 14
#define d4 27
#define d5 26
#define d6 33
#define sw1 32
#define sw2 39
void Init_Port()
{
pinMode(d3,OUTPUT);
pinMode(d4,OUTPUT);
pinMode(d5,OUTPUT);
pinMode(d6,OUTPUT);
pinMode(sw1,INPUT_PULLUP);
pinMode(sw2,INPUT_PULLUP);
}
void Scan_Keys()
{
if(digitalRead(sw1) == LOW)
{
digitalWrite(d3,!digitalRead(d3));
while(digitalRead(sw1) == LOW);//等待按键抬起,跳出循环
}
if(digitalRead(sw2) == LOW)
{
digitalWrite(d4,!digitalRead(d4));
while(digitalRead(sw2) == LOW);//等待按键抬起,跳出循环
}
}
void setup()
{
Init_Port();
}
void loop()
{
Scan_Keys();
}

浙公网安备 33010602011771号