我正在用Arduino Uno做计算器。我正在使用4x4键盘和16x2 LCD进行显示。这是我的问题:如果键盘上的按钮保持不动1分钟,程序将执行一个功能。我怎样才能做到这一点?
答案 0 :(得分:1)
您可以使用millis()
来衡量时间,使用简单的标记boolean
和digitalRead()
来确定按下按钮的时间。它应该是那样的(尚未测试):
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
}
}
编辑:纠正键盘状况。