2016-10-11 57 views
1

这是我在Arduino Uno上设置简单交通灯的代码。我想制作一个柜台,根据价值来控制灯光。为此,我在for循环中使用了一个增量,这就是我的代码似乎陷入了困境的地方,我不知道如何继续。一些巫师能否指引我朝着正确的方向发展?和/或任何需要Arduino交通灯

int red = 13; 
 
int yellow = 12; 
 
int green = 11; 
 
int counter = 0; 
 

 
void setup() { 
 
    // put your setup code here, to run once: 
 
    pinMode(red, OUTPUT); 
 
    pinMode(yellow, OUTPUT); 
 
    pinMode(green, OUTPUT); 
 
} 
 

 
void loop() { 
 
    // put your main code here, to run repeatedly: 
 
    changeLights(); 
 
} 
 
void changeLights() { 
 

 
    //Counts to x(15) 
 
    for (counter < 15; ++counter;) 
 
    { 
 
    delay(1000); 
 
    } 
 

 
    //turn on green lights for when counter is under 6 
 
    if (counter <= 6); 
 
    { 
 
    digitalWrite (green, HIGH); 
 
    } 
 

 
    //Turns on green and yellow light. 
 
    if (counter >= 6); 
 
    { 
 
    digitalWrite (green && yellow, HIGH); 
 
    } 
 

 
    //turns off green and yellow light, turns on red light. 
 
    if (counter > 9); 
 
    { 
 
    digitalWrite (green && yellow, LOW); (red, HIGH); 
 
    } 
 

 
}

+0

你增加到15,然后检查是否小于6 ...对你有意义吗?编辑:我不确定允许的语法,但()应该有3个部分..你有两个。这不是巫术。是第1天的基本面。 – ABuckau

+0

“for(int counter = 0; counter <15; ++ counter)” 那么,如何让我的if在整个计数器中检查值?是的,这是第一天这样做:)谢谢 – snw

回答

0

不太清楚,如果for()循环的作品,但Arduino的参考sayes它:

任何或所有三个头元素可能会被忽略,尽管需要分号。

但我会留在“经典”的定义只要不需要。

编辑:作为对评论的回答(对于stackoverflow来说太新了),把这些都放到for循环中。