/*
Datum:
Autor: MIWIS
Zweck: steuern einer Verkehrsampel
*/
#define V_gruen 3
#define V_gelb 7
#define V_rot 11
//Die dauer der einzelnen Ampelphasen
int Zeit_V_Ampelphase_rot = 5;
int Zeit_V_Ampelphase_rot_gelb = 2;
int Zeit_V_Ampelphase_gruen = 10;
int Zeit_V_Ampelphase_gelb = 3;
//https://www.adac.de/verkehr/recht/verkehrsvorschriften-deutschland/ampel/
void setup() {
Serial.begin(9600);
Serial.println();
Serial.println("**************** Sketch startet ****************");
pinMode(V_gruen, OUTPUT);
pinMode(V_gelb, OUTPUT);
pinMode(V_rot, OUTPUT);
Verkehrsampel_ist_gelb(Zeit_V_Ampelphase_gelb);
Serial.println();
}
void loop() {
Serial.println();
Serial.println("*** Loop ***");
Verkehrsampel_ist_rot(Zeit_V_Ampelphase_rot);
Verkehrsampel_ist_rot_gelb(Zeit_V_Ampelphase_rot_gelb);
Verkehrsampel_ist_gruen(Zeit_V_Ampelphase_gruen);
Verkehrsampel_ist_gelb(Zeit_V_Ampelphase_gelb);
}
void Verkehrsampel_ist_rot(int dauer) {
Serial.println("Verkehrsampel ist rot");
digitalWrite(V_rot, HIGH);
delay(dauer * 1000);
digitalWrite(V_rot, LOW);
//Verkehrsampel ist komplett aus
}
void Verkehrsampel_ist_rot_gelb(int dauer) {
Serial.println("Verkehrsampel ist rot_gelb");
digitalWrite(V_rot, HIGH);
digitalWrite(V_gelb, HIGH);
delay(dauer * 1000);
digitalWrite(V_rot, LOW);
digitalWrite(V_gelb, LOW);
//Verkehrsampel ist komplett aus
}
void Verkehrsampel_ist_gruen(int dauer) {
Serial.println("Verkehrsampel ist grün");
digitalWrite(V_gruen, HIGH);
delay(dauer * 1000);
digitalWrite(V_gruen, LOW);
//Verkehrsampel ist komplett aus
}
void Verkehrsampel_ist_gelb(int dauer) {
Serial.println("Verkehrsampel ist gelb");
digitalWrite(V_gelb, HIGH);
delay(dauer * 1000);
digitalWrite(V_gelb, LOW);
//Verkehrsampel ist komplett aus
}