// Fahrbahnampel
int ROT = 3;
int GELB = 4;
int GRUEN = 5;
// Fußgängerampel
int F_ROT = 6;
int F_GRUEN = 7;
// Taster
int TASTER = 12;
// Status des Taster
int TasterLesen;
void setup()
{
// Fahrbahnampel
pinMode(ROT, OUTPUT);
pinMode(GELB, OUTPUT);
pinMode(GRUEN, OUTPUT);
// Fußgängerampel
pinMode(F_ROT, OUTPUT);
pinMode(F_GRUEN, OUTPUT);
// Taster
pinMode(TASTER, INPUT_PULLUP);
}
void loop()
{
// Ampel grün/Fußgängerampel rot
digitalWrite(F_ROT, HIGH);
digitalWrite(GRUEN, HIGH);
// Zustand des Tasters lesen
TasterLesen = digitalRead(TASTER);
delay(200);
// PULLUP-Widerstand eingeschaltet-> LOW = Taster gedrückt
if (TasterLesen == LOW)
{
// 1 s Pause
delay(1000);
// Fahrbahnampel grün aus
digitalWrite(GRUEN, LOW);
// Fahrbahnampel gelb an
digitalWrite(GELB, HIGH);
delay(1000);
digitalWrite(GELB, LOW);
// Fahrbahnampel rot an
digitalWrite(ROT, HIGH);
// 1 s Sicherheitszeit
delay(1000);
// Fußgängerampel auf grün schalten
digitalWrite(F_ROT, LOW);
digitalWrite(F_GRUEN, HIGH);
delay(5000);
// Fußgängerampel auf rot schalten
digitalWrite(F_GRUEN, LOW);
digitalWrite(F_ROT, HIGH);
// 1 s Pause
delay(1000);
// Fahrbahnampel auf gelb und dann auf rot schalten
digitalWrite(GELB, HIGH);
delay(1000);
digitalWrite(ROT, LOW);
digitalWrite(GELB, LOW);
}
}
Letzte Aktualisierung: