// knight rider led with 3 leds glowing at a time
const int numLEDs = 12;
const int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
const int glowCount = 2;
const int delayTime = 100;
void setup() {
for (int i = 0; i < numLEDs; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
// Forward chase
for (int i = 0; i <= numLEDs - glowCount; i++) {
for (int j = 0; j < glowCount; j++) {
digitalWrite(ledPins[i + j], HIGH);
}
delay(delayTime);
for (int j = 0; j < glowCount; j++) {
digitalWrite(ledPins[i + j], LOW);
}
}
// Reverse chase
for (int i = numLEDs - glowCount; i >= 0; i--) {
for (int j = 0; j < glowCount; j++) {
digitalWrite(ledPins[i + j], HIGH);
}
delay(delayTime);
for (int j = 0; j < glowCount; j++) {
digitalWrite(ledPins[i + j], LOW);
}
}
}