我想在按下按钮后启动计时器。计时器将点亮一个LED五分钟。在五分钟过期后,我希望它等待两分钟再注册另一个按钮。
答案 0 :(得分:0)
我已经想出了如何做到这一点 当LED亮起时,我将使用延迟命令一段时间 然后在一段时间后我将LED设置为低电平 等等等等。 我有我在这里使用的所有代码。
const int LED2 = 12;
const int LED = 13;
const int BUTTON = 7;
int var = 0;
int val = 0;
int old_val = 0;
int state = 0;
void setup(){ //telling the computer what the LED and the button are
pinMode (LED2,OUTPUT);
pinMode (LED,OUTPUT);
pinMode (BUTTON,INPUT);
}
void loop(){
val = digitalRead(BUTTON);
if ((val == HIGH) && (old_val == LOW)){
digitalWrite(LED,HIGH);
delay(240000); //The period of time to wait before turning on the LED2
digitalWrite(LED2,HIGH);
delay (1000);
digitalWrite(LED2,LOW);
delay (490000);
var = 0;
while(var < 10){ //A while loop to flash the LED2 on and off
digitalWrite(LED2,HIGH);
delay (500);
digitalWrite(LED2,LOW);
delay (500);
var++;
}
digitalWrite(LED,LOW);
delay(120000); //A two minute delay before the button can be pressed again
}
}
答案 1 :(得分:0)
使用内置示例程序&#34;无延迟闪烁&#34;并将其与&#34; Button&#34;结合使用。这两个程序都可以作为http://arduino.cc/en/Tutorial/HomePage的教程使用。尽量避免使用delay()函数,因为它会浪费处理器时间,并且如果存在中断则会导致时序不准确。