const int numLeds = 5;
const int ledPins[numLeds] = {4, 5, 6,7,8};
const int blinkDelay = 100; // Time each LED stays on/off during blink
const int stepDelay = 300; // Time between moving to next LED
void setup() {
for (int i = 0; i < numLeds; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
// Run from left to right
for (int i = 0; i < numLeds; i++) {
animateLED(i);
}
// Run from right to left
for (int i = numLeds - 1; i >= 0; i--) {
animateLED(i);
}
}
void animateLED(int ledIndex) {
// Blink the current LED three times
for (int blinkCount = 0; blinkCount < 3; blinkCount++) {
digitalWrite(ledPins[ledIndex], HIGH);
delay(blinkDelay);
digitalWrite(ledPins[ledIndex], LOW);
delay(blinkDelay);
}
delay(stepDelay); // Pause before moving to next LED
}