2017-10-18 55 views
0

這是迄今爲止代碼:For循環:LED的顯示不正確的Arduino的

bool t1 = true; 
bool f1 = false; 
bool button_state = 0; 
int delay_led = 100; 
int led_num = 1, buzzer_delay = 75; 
void setup() { 
    // put your setup code here, to run once: 
pinMode(2, INPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); 
pinMode(12, OUTPUT); pinMode(13, OUTPUT); 
} 

void loop() { 
    // put your main code here, to run repeatedly: 
digitalRead(2); 
button_state = digitalRead(2); 

if (button_state == 0) 
{ 
    for (led_num = 10; led_num <= 13; led_num++) 
    { 
    digitalWrite(led_num, t1); 
    delay(delay_led); 
    digitalWrite(led_num, f1); 
    } 
} 

else 
{ 
    for (led_num >= 10; led_num <= 13; led_num++) 
    { 
    digitalWrite(led_num, t1); 
    } 
} 
} 

我試圖讓LED以一次亮了起來,這正是else語句用於。但是,我們的教練專門聲明使用循環來實現這一點。這裏是我們的任務:

Here is an image of our assignment

我無法弄清楚如何使用循環,而不是對的if/else,我不能得到的指示燈,同時亮起。任何幫助將不勝感激!

+0

你需要一直運行,並保持投票按鈕狀態.... 您的其他不需要循環的外循環,它只需要打開所有的燈,等待,然後把它們全部關掉。 – bigtlb

回答

1

你的第二個foor循環初始化語句led_num >= 10是錯誤的,因爲它沒有效果。相反的:

for (led_num >= 10; led_num <= 13; led_num++) 

這也許應該是:

for (led_num = 11; led_num <= 13; led_num++) 
+0

謝謝,羅恩!我贊成你的回答,但顯然,在一定水平之下的用戶不會公開地影響答案upvotes。 –