Myst80
1
Total noob here so sorry for the stupid question...i'm just trying to get an LED to blink 3 times then stop.
This is my code:
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
for (int count = 0; count <= 3; count++) {
digitalWrite(LED_BUILTIN, HIGH);
delay(200);
digitalWrite(LED_BUILTIN, LOW);
delay(200);
}
}
Can someone please explain what i'm doing wrong? I did try googling it & tried a bunch of different things but it just keeps flashing!!!
Thanks!
Mel
LarryD
2
After you are finished the for(), your loop() function restarts, thus you restart the for() over and over and over . . . Ad infinitum.
Wawa
3
The for() loop is inside the main loop(), so it repeats after it has finished.
You must use extra code to run that for loop only once.
boolean runOnce;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
if (runOnce == false) {
for (int count = 0; count <= 3; count++) {
digitalWrite(LED_BUILTIN, HIGH);
delay(200);
digitalWrite(LED_BUILTIN, LOW);
delay(200);
}
}
runOnce = true;
}
Or... move that for loop to setup().
Leo..
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
for (int count = 0; count <= 3; count++) {
digitalWrite(LED_BUILTIN, HIGH);
delay(200);
digitalWrite(LED_BUILTIN, LOW);
delay(200);
}
}
void loop() {}