【发布时间】:2015-04-18 22:13:06
【问题描述】:
好的,所以我在 Arduino Uno 上开始了我的项目 2。它涉及 3 个闪烁的 LED。最初的想法是绿色 LED 将一直亮起,直到按下一个开关,这将使其他两个 LED 连续闪烁。但是,我试图让绿色 LED 一直闪烁,直到我按下开关(而不是在按下开关之前被动点亮)。所以我对 if 语句做了一个小的调整,但是这不起作用(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 只闪烁一次 - 它不应该继续闪烁吗?但是,当我在第二个 digitalWrite(3, LOW) 之后插入另一个延迟时,它起作用了。对此有何解释?我是新手,所以请解释清楚。
【问题讨论】: