如果按钮在Arduino Uno中保持不变,则在1分钟后执行一个功能

时间:2015-05-05 15:42:13

标签: timer arduino arduino-uno arduino-ide

我正在用Arduino Uno做计算器。我正在使用4x4键盘和16x2 LCD进行显示。这是我的问题:如果键盘上的按钮保持不动1分钟,程序将执行一个功能。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用millis()来衡量时间,使用简单的标记booleandigitalRead()来确定按下按钮的时间。它应该是那样的(尚未测试):

unsigned long previousMillis = 0;
long interval = 60000;
int buttonPin = 4;
boolean buttonReleased=false;

void setup(){
}

void loop(){
  unsigned long currentMillis = millis();

  // edit, thanks to frarugi87
  if (digitalRead(buttonPin) == LOW){
    buttonReleased = true; 
    previousMillis = currentMillis; 
  } 

  if((currentMillis - previousMillis > interval)&&buttonReleased ) {
    previousMillis = currentMillis;  
    buttonReleased =false;
    // execute a function
  }
}

编辑:纠正键盘状况。