要得到按钮未按下的持续时间,需要使用 Arduino 中的 millis() 函数。该函数可以返回自 Arduino 开始运行以来经过的毫秒数。以下是获取按钮未按下时间的示例代码:
const int buttonPin = 2; //按钮引脚
int buttonState = 0; //记录按钮状态
unsigned long unpressedTime = 0; //记录按钮未按下的时间
unsigned long lastPressedTime = 0; //记录上一次按钮按下时间
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == LOW) {
lastPressedTime = millis();
} else {
unpressedTime = millis() - lastPressedTime;
Serial.print("Unpressed time: ");
Serial.println(unpressedTime);
}
}
在该代码中,我们首先将按钮引脚设置为输入并启用内部上拉电阻。然后我们循环读取按钮状态,如果按钮被按下,我们将当前时间保存到 lastPressedTime 变量中,如果按钮未被按下,我们计算出未按下的时间,并将其打印到串口监视器中。
这样我们就可以通过 Arduino 获取按钮未按下的时间了。