1-4-单按键独立控制灯光开关

如果手头没有开发板,可以使用 Wokwi 进行仿真。

示例:

实训项目:单按键独立控制灯光开关

Arduino程序编写任务
在蓝蜻蜓ESP32物联网开发平台上,完成以下功能:

  1. 初始化数字端口
    • 初始化4个LED灯和2个按键。
  2. 设计按键扫描函数
    • 当SW1按键按下时,切换D3灯的开关状态,然后等待按键的松开。
    • 当SW2按键按下时,切换D4灯的开关状态,然后等待按键的松开。
  3. 在主函数中
    • 循环扫描按键的状态,并作正确的处理。
  4. 程序编译与运行
    • 接上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();
}
posted @ 2024-09-10 22:35  ZHYWJML  阅读(70)  评论(0)    收藏  举报