所以我试图让LED对按钮作出反应。我似乎遇到的问题是如何在按钮点击和led反应之间添加延迟。基本上我想要,例如,点击按钮3次,然后2秒钟,LED闪光灯闪烁3次,或者如果我按住按钮3秒,对于保持的最后一秒,LED将打开3秒。到目前为止我所拥有的是:
//Global Vars
// Global Variables
int BUTTON = 2;
int LED = 12;
unsigned long DELAY = 2000;
void setup() {
pinMode(BUTTON, INPUT);
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
}
void loop() {
//Code that delays the button press
}
我不知道是否应该尝试将按钮按下的时间存储在数组中或执行其他操作。寻找建议/解释,甚至可能只是一些代码和解释。它只是为了娱乐/学习所以我更感兴趣的是知道如何去做,而不仅仅是拥有能够做到这一点的代码。谢谢!
答案 0 :(得分:-1)
这可以通过简单的if语句来解决。
if (digitalRead(BUTTON) = //however you have it set){
delay(DELAY);
digitalWrite(LED, HIGH);
}
这将读取按钮行的状态,当它与您想要执行延迟的状态匹配时,然后更改LED引脚的状态。