// Define LED pins
#define ARRAY_LEN(x) (sizeof(x) / sizeof((x)[0]))
//int LED[] {25, 26, 27, 14, 19, 18, 5, 17}; // anti clock
//int LED[] {17, 5,18,19,14,27,26,25}; // clock
int LED[] {17, 25, 5, 26, 18, 27, 19, 14}; // zigzag
void setup() {
// Set pins as outputs
for (int i = 0; i < ARRAY_LEN(LED); i++)
{
pinMode(LED[i], OUTPUT);
digitalWrite(LED[i], LOW);
if (i == 0) digitalWrite(LED[i], HIGH);
}
}
void loop() {
for (int i = 0; i < ARRAY_LEN(LED); i++)
{
if (digitalRead(LED[i]) == HIGH)
{
digitalWrite(LED[i], LOW);
if (i == ARRAY_LEN(LED)-1) digitalWrite(LED[0], HIGH);
else digitalWrite(LED[i+1], HIGH);
break;
}
}
delay(500);
}