好吧,所以我已經開始在Arduino Uno上的項目2。它涉及3個閃爍的LED。原來的想法是,綠色的LED燈會點亮,直到按下開關,這會使其他兩個LED燈連續閃爍。但是,我試圖讓綠色指示燈保持閃爍,直到按下開關(而不是在按下開關之前被動點亮)。所以我對if語句做了一個小調整,但是這不起作用(指示燈眨了一下,然後繼續點亮)。Arduino閃爍led問題
int switchState=0;
void setup() {
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(2, INPUT);
// put your setup code here, to run once:
}
void loop() {
switchState= digitalRead(2);
if (switchState==LOW) {
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
}
else {
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5, HIGH);
delay(250);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
delay(250);
}
// put your main code here, to run repeatedly:
}
將綠色LED分配給pd3,將另外兩個LED分配給pd4和pd5。
那麼,爲什麼在驗證條件後(開關是否被按下),LED指示燈只閃爍一次 - 不應該繼續閃爍?但是,當我在第二個數字寫法(3,LOW)之後插入另一個延遲時,它工作。這是什麼解釋?我是新來的,所以請清楚說明你的解釋。
我得到了數字寫(3,LOW)和數字寫(3,HIGH)之間需要幾毫秒的事實,但是1秒的延遲仍然會出現,對吧?如果條件相同(開關沒有按下),過程是否會像循環一樣運行? –
@RuslanMushkaev是的,它的確如此。然後將LED重新打開。如果您願意,我可以嘗試爲您繪製波形的外觀圖。以圖形方式查看可能更容易。換個角度來看,你的LED實際上是閃爍的。但是「關閉」狀態非常短暫,你的人無法看到它。很久以前,我實際上做了一個設計,通過這樣做來改變LED的亮度。這裏有一個arduino設計:http://www.arduino.cc/en/tutorial/fade這是相同的事情。 – milenko121175
好的,謝謝,我想我知道了 - 它每秒都會閃爍,但眨眼很快,我沒有看到它。這可以通過調整LOW部分之後的延遲來改變。 –