Arduino如何做到延时关灯
作者:野牛程序员:2023-08-18 20:24:40Arduino阅读 3192
要实现按下按键后延时一段时间再关灯的功能,可以使用以下的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

