Arduino如何做到延时关灯
作者:野牛程序员:2023-08-18 20:24:40Arduino阅读 2918
要实现按下按键后延时一段时间再关灯的功能,可以使用以下的Arduino示例代码:
const int buttonPin = 2; // 按键引脚 const int ledPin = 13; // LED引脚 int buttonState = 0; // 按键状态 int ledState = LOW; // LED状态 unsigned long lastPressTime = 0; // 上次按键按下的时间 const unsigned long delayTime = 5000; // 延时关闭时间(毫秒) void setup() { pinMode(buttonPin, INPUT); // 将按键引脚设置为输入模式 pinMode(ledPin, OUTPUT); // 将LED引脚设置为输出模式 } void loop() { buttonState = digitalRead(buttonPin); // 读取按键状态 if (buttonState == HIGH) { if (millis() - lastPressTime >= delayTime) { // 如果按键按下且延时时间已过,则切换LED状态 ledState = !ledState; digitalWrite(ledPin, ledState); lastPressTime = millis(); // 更新上次按键按下的时间 } } }
将这段代码上传到Arduino开发板上,然后连接一个按键到指定的按键引脚(这里是D2),以及一个LED到指定的LED引脚(这里是D13)。按下按键后,LED会在延时时间内保持点亮,然后自动熄灭。
在这个示例中,使用了lastPressTime
变量来记录上次按键按下的时间。当按键按下时,检查当前时间与上次按键按下的时间之间的间隔是否大于等于delayTime
,如果是,则切换LED状态。这样,LED会在按下按键后的一段时间内保持点亮,然后在延时时间后自动熄灭。请确保按键和LED引脚的设置与代码中的一致。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
