Arduino-按下按钮时开始计时

Arduino-按下按钮时开始计时,arduino,Arduino,我想在按下按钮后启动计时器。计时器将点亮LED五分钟。在五分钟结束后,我希望它在注册另一个按钮按下之前等待两分钟 我已经想出了怎么做。 当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;

我想在按下按钮后启动计时器。计时器将点亮LED五分钟。在五分钟结束后,我希望它在注册另一个按钮按下之前等待两分钟

我已经想出了怎么做。
当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
  }
}
const int LED2=12;
常数int LED=13;
常数int按钮=7;
int-var=0;
int-val=0;
int old_val=0;
int state=0;
void setup(){//告诉计算机LED和按钮是什么
引脚模式(LED2,输出);
引脚模式(LED,输出);
pinMode(按钮,输入);
}
void循环(){
val=数字读取(按钮);
如果((val==高)&(old_val==低){
数字写入(LED,高电平);
延迟(240000);//打开LED2之前的等待时间
数字写入(LED2,高);
延迟(1000);
数字写入(LED2,低电平);
延误(490000);
var=0;
while(var<10){//while循环使LED2闪烁和熄灭
数字写入(LED2,高);
延迟(500);
数字写入(LED2,低电平);
延迟(500);
var++;
}
数字写入(LED,低电平);
延迟(120000);//再次按下按钮前的两分钟延迟
}
}

使用内置示例程序“立即闪烁”,并将其与“按钮”结合使用。这两个程序都作为教程提供,请尽量避免使用delay()函数,因为它会浪费处理器的时间,并且在出现中断时会出现计时不准的情况。

好的,那么您认为应该从哪里开始?您到底要问我们什么?你需要什么帮助?你已经试过什么了?