主題: Arduino問題..
瀏覽單個文章
fpe
Major Member
 

加入日期: Aug 2011
文章: 251
引用:
作者poo123
以下是我最早拿範例做修改並拿掉else..幾次試下來加上拉電組比較穩(摸電線亂亮LED)

問題還是在loop內控制2個LED.我只想做各1次亮滅後停止(紅外線ON時不要無限閃爍).
然後..
斷開紅外線pinMode(2, INPUT)後.再紅外線ON時.2顆LED亮滅各1次..
斷開紅外線pinMode(2, INPUT)後.再紅外線ON時.2顆LED亮滅各1次..
斷開紅外線pinMode(2, INPUT)後.再紅外線ON時.2顆LED亮滅各1次..
.
.
.
.



int buttonState = 0;

void setup() {
pinMode(2, INPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);

}

void loop() {

buttonState = digitalRead(2);


if (buttonState == HIGH) {

digitalWrite(3, HIGH); digitalWrite(4, LOW); // 停止
delay(1000);
digitalWrite(3, LOW);digitalWrite(4, LOW);
delay(1000);
digitalWrite(3, LOW);d...


上面程式只要紅外線是on就會無限閃爍
要在程式裡加計數器限制就好了

void setup() {
pinMode(2, INPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
int sun=0;
}

void loop() {
if (digitalRead(2 == HIGH && sun == 0) ){

digitalWrite(3, HIGH);
delay(1000);
digitalWrite(3, LOW);
delay(1000);
digitalWrite(4, HIGH);
delay(1000);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
sun += 1;
}
else if (digitalRead(2 == LOW && sun == 1)) {
sun = 0;

}

}

這樣就會在紅外線在ON的時候只執行一次
 
舊 2018-09-09, 04:27 PM #12
回應時引用此文章
fpe離線中