Hallo ich hab gerade meinen ersten sketch mit den adafruit tutorials erstellt und viele LEDs an viele PINs angeschlossen und verschiedene Lichtmodi über viele if ... else Befehle realisiert.
Macht ne Menge Spaß nur bin ich noch totaler Anfänger. Und ein Rätsel hab ich: nach der vorletzten Aktion (Wechselnder Farbblinker delay1000) wechselt mein Sketch nicht in den nächsten Modus, manchmal allerdings schon - ich muss halt auf dem Button rumdrücken.
Der Lightmode 8 schaltet einfach nicht weiter, woran könnte sowas liegen
...
if (lightMode == 6) {
lightMode = 7;
Serial.println("7: Farb-Welle");
} else {
if (lightMode == 7) {
lightMode = 8;
Serial.println("8: Farb-Blinker");
} else {
if (lightMode == 8) {
lightMode = 9;
Serial.println("9: Blitzer");
} else {
lightMode = 0; // turn light off!
Serial.println("0: alle aus");
}
...
if (lightMode == 8) { // Farb-Blinker
digitalWrite(grun1, HIGH);
digitalWrite(rot1, LOW);
digitalWrite(blau1, LOW);
digitalWrite(gelb1, LOW);
digitalWrite(grun2, HIGH);
digitalWrite(rot2, LOW);
digitalWrite(blau2, LOW);
digitalWrite(gelb2, LOW);
digitalWrite(grun3, LOW);
digitalWrite(rot3, LOW);
digitalWrite(orange, LOW);
delay(1000);
digitalWrite(grun1, LOW);
digitalWrite(rot1, HIGH);
digitalWrite(blau1, LOW);
digitalWrite(gelb1, LOW);
digitalWrite(grun2, LOW);
digitalWrite(rot2, HIGH);
digitalWrite(blau2, LOW);
digitalWrite(gelb2, LOW);
digitalWrite(grun3, LOW);
digitalWrite(rot3, LOW);
digitalWrite(orange, LOW);
delay(1000);
digitalWrite(grun1, LOW);
digitalWrite(rot1, LOW);
digitalWrite(blau1, HIGH);
digitalWrite(gelb1, LOW);
digitalWrite(grun2, LOW);
digitalWrite(rot2, LOW);
digitalWrite(blau2, HIGH);
digitalWrite(gelb2, LOW);
digitalWrite(grun3, LOW);
digitalWrite(rot3, LOW);
digitalWrite(orange, LOW);
delay(1000);
digitalWrite(grun1, LOW);
digitalWrite(rot1, LOW);
digitalWrite(blau1, LOW);
digitalWrite(gelb1, HIGH);
digitalWrite(grun2, LOW);
digitalWrite(rot2, LOW);
digitalWrite(blau2, LOW);
digitalWrite(gelb2, HIGH);
digitalWrite(grun3, LOW);
digitalWrite(rot3, LOW);
digitalWrite(orange, LOW);
delay(1000);
digitalWrite(grun1, LOW);
digitalWrite(rot1, HIGH);
digitalWrite(blau1, HIGH);
digitalWrite(gelb1, LOW);
digitalWrite(grun2, LOW);
digitalWrite(rot2, HIGH);
digitalWrite(blau2, HIGH);
digitalWrite(gelb2, LOW);
digitalWrite(grun3, LOW);
digitalWrite(rot3, LOW);
digitalWrite(orange, LOW);
delay(1000);
digitalWrite(grun1, LOW);
digitalWrite(rot1, HIGH);
digitalWrite(blau1, LOW);
digitalWrite(gelb1, HIGH);
digitalWrite(grun2, LOW);
digitalWrite(rot2, HIGH);
digitalWrite(blau2, LOW);
digitalWrite(gelb2, HIGH);
digitalWrite(grun3, LOW);
digitalWrite(rot3, LOW);
digitalWrite(orange, LOW);
delay(1000);
digitalWrite(grun1, LOW);
digitalWrite(rot1, LOW);
digitalWrite(blau1, HIGH);
digitalWrite(gelb1, HIGH);
digitalWrite(grun2, LOW);
digitalWrite(rot2, LOW);
digitalWrite(blau2, HIGH);
digitalWrite(gelb2, HIGH);
digitalWrite(grun3, LOW);
digitalWrite(rot3, LOW);
digitalWrite(orange, LOW);
delay(1000);
digitalWrite(grun1, HIGH);
digitalWrite(rot1, LOW);
digitalWrite(blau1, HIGH);
digitalWrite(gelb1, LOW);
digitalWrite(grun2, HIGH);
digitalWrite(rot2, LOW);
digitalWrite(blau2, HIGH);
digitalWrite(gelb2, LOW);
digitalWrite(grun3, LOW);
digitalWrite(rot3, LOW);
digitalWrite(orange, LOW);
delay(1000);
}
if (lightMode == 9) { // Blitzer
digitalWrite(grun1, LOW);
digitalWrite(rot1, LOW);
digitalWrite(blau1, LOW);
digitalWrite(gelb1, LOW);
digitalWrite(grun2, LOW);
digitalWrite(rot2, LOW);
digitalWrite(blau2, LOW);
digitalWrite(gelb2, LOW);
digitalWrite(grun3, LOW);
digitalWrite(rot3, LOW);
digitalWrite(orange, LOW);
delay(50);
digitalWrite(grun1, HIGH);
digitalWrite(rot1, HIGH);
digitalWrite(blau1, HIGH);
digitalWrite(gelb1, HIGH);
digitalWrite(grun2, HIGH);
digitalWrite(rot2, HIGH);
digitalWrite(blau2, HIGH);
digitalWrite(gelb2, HIGH);
digitalWrite(grun3, LOW);
digitalWrite(rot3, LOW);
digitalWrite(orange, HIGH);
delay(50);
}
}