// C++ code
//
const int ledCount = 6;
const int ledPins[] = {2, 3, 4, 5, 6, 7}; // LED pins (left to right)
const int delayTime = 100; // Adjust speed (ms)
void setup() {
// Set all LED pins as OUTPUT
for (int i = 0; i < ledCount; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
// Move outward from center (LEDs 3 & 4 → 2 & 5 → 1 & 6)
for (int i = 0; i <= ledCount / 2; i++) {
// Turn on the symmetric pair
int left = (ledCount / 2) - 1 - i;
int right = (ledCount / 2) + i;
// Ensure we don't go out of bounds
if (left >= 0 && right < ledCount) {
digitalWrite(ledPins[left], HIGH);
digitalWrite(ledPins[right], HIGH);
delay(delayTime);
digitalWrite(ledPins[left], LOW);
digitalWrite(ledPins[right], LOW);
}
}
// Move inward toward center (LEDs 1 & 6 → 2 & 5 → 3 & 4)
for (int i = (ledCount / 2) - 1; i >= 0; i--) {
int left = (ledCount / 2) - 1 - i;
int right = (ledCount / 2) + i;
if (left >= 0 && right < ledCount) {
digitalWrite(ledPins[left], HIGH);
digitalWrite(ledPins[right], HIGH);
delay(delayTime);
digitalWrite(ledPins[left], LOW);
digitalWrite(ledPins[right], LOW);
}
}
}