/*
https://forum.arduino.cc/t/led-schaltung-mit-3-tastern/1366411
2025-03-23 by noiasca
Sketch in Thread
*/
constexpr uint8_t key1 {5}; // orange?
constexpr uint8_t key2 {6}; // green?
constexpr uint8_t key3 {4}; // rest???
constexpr uint8_t ledGreen {8};
constexpr uint8_t ledYellow {9};
constexpr uint8_t ledRed {10};
enum State {IDLE, ORANGE, GREEN} state; // die Zustände
void setup() {
pinMode(key1, INPUT);
pinMode(key2, INPUT);
pinMode(key3, INPUT);
pinMode(ledGreen, OUTPUT);
pinMode(ledYellow, OUTPUT);
pinMode(ledRed, OUTPUT);
}
void off() {
digitalWrite(ledRed, LOW);
digitalWrite(ledYellow, LOW);
digitalWrite(ledGreen, LOW);
}
void loop() {
switch (state) {
case IDLE:
if (digitalRead(key1) == HIGH) {
digitalWrite(ledRed, HIGH);
digitalWrite(ledYellow, HIGH);
digitalWrite(ledGreen, LOW);
state = ORANGE;
}
if (digitalRead(key2) == HIGH) {
digitalWrite(ledRed, LOW);
digitalWrite(ledYellow, LOW);
digitalWrite(ledGreen, HIGH);
state = GREEN;
}
break;
case ORANGE:
case GREEN:
if (digitalRead(key3) == HIGH) {
off();
state = IDLE;
}
break;
}
}
//