本文主要是介绍ESP32S3中使用按键控制LED灯亮灭,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
// 定义 LED 与 按键引脚
int led_pin = 4;
int button_pin = 5;// 定义 LED 逻辑值
int led_logic = 0;
// 判断 LED 的状态是否改变过
bool status = false;void setup() { pinMode(led_pin, OUTPUT);pinMode(button_pin, INPUT_PULLDOWN);
}void loop() {// 按键消抖if (digitalRead(button_pin)) {// 睡眠 10ms,如果依然为高电平,说明抖动已消失。delay(10);if (digitalRead(button_pin) && !status) {led_logic = !led_logic;digitalWrite(led_pin, led_logic);// led 的状态发生了变化,即使我持续按着按键,LED 的状态也不应该改变。status = !status;}else if (!digitalRead(button_pin)) {status = false; }}
}
当按钮5按下时,LED灯4,会间断性的亮灭,即按下触发LED4灯亮,再按下,触发LED4灭,再按下,LED4灯亮,反复如此。
原理就是根据上拉电阻,根据检测IO5的状态进行设置IO4口的高低电平。
这篇关于ESP32S3中使用按键控制LED灯亮灭的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!