👉 Wichtig: Das bedeutet:
Dein aktueller Code wertet nur Pin 3 aus. Pin 4 existiert elektrisch, aber softwareseitig noch gar nicht.
Aktuell:
if (digitalRead(3) == HIGH) LED an else LED aus
Das ist ein Taster = Momentkontakt. Sobald man loslässt → LED wieder aus.
Die Aufgabe verlangt aber:
🔹 linker Taster → einschalten
🔹 rechter Taster → ausschalten
🔹 LED merkt sich den Zustand
Also: kein else, sondern zwei unabhängige Entscheidungen.
Kein Schnickschnack, keine Entprell-Orgie, didaktisch sauber:
void setup() { pinMode(2, OUTPUT); // LED pinMode(3, INPUT); // linker Taster (EIN) pinMode(4, INPUT); // rechter Taster (AUS) } void loop() { if (digitalRead(3) == HIGH) // linker Taster gedrĂĽckt { digitalWrite(2, HIGH); // LED EIN } if (digitalRead(4) == HIGH) // rechter Taster gedrĂĽckt { digitalWrite(2, LOW); // LED AUS } }
else → Zustand bleibt erhaltenViele machen hier reflexartig:
if (Taste1) LED an; else LED aus;
Das ist falsch, weil:
else bedeutet „alle anderen Fälle“Merksatz für die Prüfung:
Schalten ≠Gedrückt halten
INPUT_PULLUP ist nicht erlaubt, weil ihr Widerstände verbaut habt