Mehrere LED in verschiedenen Modi mit Hilfe eines Taster steuern

Moin liebe Community! Ich bin absoluter Arduino Neuling und habe mir die Basics gerade bei YouTube beigebracht...

Ich weiß, dass es zu dem Oberthema schon tausende Threads gibt, aber keiner beantwortet zu 100% meine Frage, deshalb stelle ich sie nun selbst.

Und zwar möchte ich die Beleuchtung eines Modellflugzeuges mit Hilfe eines Tasters ändern können! Zum Beispiel "Taxi" wo bestimmte Lichter an sind, oder beim "Takeoff" wo dann auch bestimmte Lichter blinken sollen. Und da stecke ich momentan fest. Mein Sketch funktioniert für "An und Aus" super, aber halt nicht für das blinken.

Würde mich über eure Hilfe sehr freuen!

Hier der Sketch:

// Konstanten
const int tasterPin = 2; // Taster an Pin 2 angeschlossen
const int rotPin = 3; // Rote LED an Pin 3 angeschlossen
const int gruenPin = 4; // Gruene LED an Pin 4 angeschlossen
const int beaconPin = 5; // beacon LED an Pin 5 angeschlossen
const int navigationPin = 6; // position LED an Pin 6 angeschlossen
const int taxiPin = 7; // strobe LED an Pin 7 angeschlossen
const int strobePin = 8; // taxi LED an Pin 8 angeschlossen
const int landingPin = 9; // landing LED an Pin 9 angeschlossen

// Variablen
int lichtmodus = 0; // Variable für die verschiedenen festgelegten Farben
int tasterStatus = LOW; // Variable zu speichern des Tasterstatus

void setup()
{
pinMode(tasterPin, INPUT); // Setzt den TasterPin als Eingang
pinMode(rotPin, OUTPUT); // Setzt den LEDPin als Ausgang
pinMode(gruenPin, OUTPUT); // Setzt den LEDPin als Ausgang
pinMode(beaconPin, OUTPUT); // Setzt den LEDPin als Ausgang
pinMode(navigationPin, OUTPUT); // Setzt den LEDPin als Ausgang
pinMode(taxiPin, OUTPUT); // Setzt den LEDPin als Ausgang
pinMode(strobePin, OUTPUT); // Setzt den LEDPin als Ausgang
pinMode(landingPin, OUTPUT); // Setzt den LEDPin als Ausgang
}

void loop()
{
// Abfrage ob der Taster gedrückt ist
tasterStatus = digitalRead(tasterPin);

// Wenn Taster gedrückt ist...
if (tasterStatus == HIGH)
{
lichtmodus++; // Lichtmodus +1
delay(300); // 300ms warten
}

//+++++++++++++++ LEUCHTPROGRAMME +++++++++++++++++

// Modus 0 = Licht aus
if (lichtmodus == 0)
{
analogWrite(rotPin, 0);
analogWrite(gruenPin, 0);
analogWrite(beaconPin, 0);
analogWrite(navigationPin, 0);
analogWrite(taxiPin, 0);
analogWrite(strobePin, 0);
analogWrite(landingPin, 0);
}

// Modus 1 = GATE
else if (lichtmodus == 1)
{
analogWrite(rotPin, 255);
analogWrite(gruenPin, 255);
analogWrite(beaconPin, 0);
analogWrite(navigationPin, 255);
analogWrite(taxiPin, 0);
analogWrite(strobePin, 0);
analogWrite(landingPin, 0);
}

// Modus 2 = PUSHBACK
else if (lichtmodus == 2)
{
analogWrite(rotPin, 255);
analogWrite(gruenPin, 255);
analogWrite(beaconPin, 255);
analogWrite(navigationPin, 255);
analogWrite(taxiPin, 0);
analogWrite(strobePin, 0);
analogWrite(landingPin, 0);

}

// Modus 3 = TAXI
else if (lichtmodus == 3)
{
analogWrite(rotPin, 255);
analogWrite(gruenPin, 255);
analogWrite(beaconPin, 255);
analogWrite(navigationPin, 255);
analogWrite(taxiPin, 255);
analogWrite(strobePin, 0);
analogWrite(landingPin, 0);

}

// Modus 4 = TAKEOFF
else if (lichtmodus == 4)
{
analogWrite(rotPin, 255);
analogWrite(gruenPin, 255);
analogWrite(beaconPin, 255);
analogWrite(navigationPin, 255);
analogWrite(taxiPin, 255);
analogWrite(strobePin, 255);
analogWrite(landingPin, 255);
}

// Modus 5 = FLIGHT
else if (lichtmodus == 5)
{
analogWrite(rotPin, 255);
analogWrite(gruenPin, 255);
analogWrite(beaconPin, 255);
analogWrite(navigationPin, 255);
analogWrite(taxiPin, 0);
analogWrite(strobePin, 255);
analogWrite(landingPin, 0);
}

// Modus 4 = LANDING
else if (lichtmodus == 6)
{
analogWrite(rotPin, 255);
analogWrite(gruenPin, 255);
analogWrite(beaconPin, 255);
analogWrite(navigationPin, 255);
analogWrite(taxiPin, 255);
analogWrite(strobePin, 255);
analogWrite(landingPin, 255);
}

// Modus 4 = TAXI
else if (lichtmodus == 7)
{
analogWrite(rotPin, 255);
analogWrite(gruenPin, 255);
analogWrite(beaconPin, 255);
analogWrite(navigationPin, 255);
analogWrite(taxiPin, 255);
analogWrite(strobePin, 0);
analogWrite(landingPin, 0);
}

// Anzahl der Leuchtmodi auf 8 begrenzen. (0 bis 7)
else
{
lichtmodus = 0;
}
}

Bitte keine 2 Threads zum gleichen Thema!

Ich komme in meinen Account nicht mehr rein, deswegen habe ich einen neuen Account gemacht. Aber vielleicht kannst du mir ja helfen? :wink:

Du hast beide Threads mit dem selben Account gestartet.

Boa17:
Aber vielleicht kannst du mir ja helfen? :wink:

Du solltest Dich an Uwe, unseren freundlichen Moderator wenden, damit er die Themen zusammenführt.