/*
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
}
$abcdeabcde151015202530354045505560fghijfghij