int ledPins[10] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
int ampelphasen[10][10] = {
{1, 0, 0, 0, 1, 0, 0, 1, 1, 0}, // state 0
{1, 0, 0, 1, 0, 0, 0, 1, 1, 0}, // state 1
{1, 0, 0, 1, 0, 0, 1, 0, 1, 0}, // state 2
{1, 0, 0, 1, 0, 1, 0, 0, 1, 0}, // state 3
{1, 1, 0, 1, 0, 1, 0, 0, 1, 0}, // state 4
{0, 0, 1, 1, 0, 1, 0, 0, 0, 1}, // state 5
{0, 0, 1, 1, 0, 1, 0, 0, 1, 0}, // state 6
{0, 1, 0, 1, 0, 1, 0, 0, 1, 0}, // state 7
{1, 0, 0, 1, 0, 1, 0, 0, 1, 0}, // state 8
{1, 0, 0, 1, 0, 1, 1, 0, 1, 0} // state 9
};
int wartezeiten[10] = {5000, 2000, 500, 2000, 500, 5000, 2000, 500, 2000, 500};
int myState = 0;
void setup() {
for (int i = 0; i < 10; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void zeigeAmpelphase() {
for (int i = 0; i < 10; i++) {
digitalWrite(ledPins[i], ampelphasen[myState][i]);
}
delay(wartezeiten[myState]);
}
void loop() {
zeigeAmpelphase();
myState++;
if (myState >= 10) myState = 0;
}