【问题标题】:Arduino traffic lightsArduino交通灯
【发布时间】:2016-10-11 06:42:04
【问题描述】:

这是我在 Arduino Uno 上设置简单红绿灯的代码。我想制作一个根据值控制灯光的计数器。为此,我在 for 循环中使用了增量,这是我的代码似乎卡住的地方,我不知道如何继续。某个巫师能指出我正确的方向吗?和/或任何需要

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);
  }

}

【问题讨论】:

  • 您递增到 15,然后检查是否小于 6 ...这对您有意义吗?编辑:我不确定允许的语法,但 for () 应该有 3 个部分..你有两个。这不是魔法……是第一天的基础知识。
  • "for (int counter = 0; counter

标签: arduino


【解决方案1】:

不太确定,如果 for() 循环有效,但 arduino 参考说明了这一点:

三个标题元素中的任何一个或全部都可以省略,尽管分号是必需的。

但只要不需要,我会坚持“经典”定义。

编辑:作为评论的答案(对于stackoverflow来说太新了),只需将所有内容放入for循环中。

【讨论】:

    猜你喜欢
    • 2022-06-10
    • 1970-01-01
    • 2019-11-29
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多