const int LEDROT = 4;
const int LEDGELB = 3;
const int LEDGRUEN = 2;
void setup() {
pinMode(LEDROT, OUTPUT);
pinMode(LEDGELB, OUTPUT);
pinMode(LEDGRUEN, OUTPUT);
Serial.begin(9600);
Serial.println("Ampelsteuerung gestartet");
}
void loop() {
// Phase 1: Rot leuchtet – Autos stehen
digitalWrite(LEDGELB, 0);
digitalWrite(LEDROT, 1);
digitalWrite(LEDGRUEN, 0);
Serial.println("Rot: Autos stehen / Stop");
delay(3000);
// Phase 2: Rot + Gelb – Achtung, gleich Grün
digitalWrite(LEDGELB, 1);
Serial.println("Rot + Gelb: Achtung, gleich Gruen");
delay(1000);
// Phase 3: Grün leuchtet – Autos fahren
digitalWrite(LEDROT, 0);
digitalWrite(LEDGELB, 0);
digitalWrite(LEDGRUEN, 1);
Serial.println("Gruen: Autos fahren / Los geht's");
delay(3000);
// Phase 4: Grün blinkt – Achtung, gleich Rot
Serial.println("Gruen blinkt: Achtung, gleich Rot");
for (int i = 0; i < 4; i++) {
digitalWrite(LEDGRUEN, 0);
delay(500);
digitalWrite(LEDGRUEN, 1);
delay(500);
}
// Phase 5: Gelb leuchtet – Halt vorbereiten
digitalWrite(LEDGRUEN, 0);
digitalWrite(LEDGELB, 1);
Serial.println("Gelb: Halt vorbereiten / Achtung");
delay(1000);
// Zurück zu Rot
digitalWrite(LEDGELB, 0);
}