//Declaration
#define LED_GREEN 3
#define LED_YELLOW 4
#define LED_RED 5
#define SWITCH 6
#define BUTTON 7
//INIT/SETUP
void setup ()
{
//Richtung der PINs intit
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_YELLOW, OUTPUT);
pinMode(LED_RED, OUTPUT);
pinMode(SWITCH, INPUT);
pinMode(BUTTON, INPUT);
//Init Ausgabe
Serial.begin(9600);
}
//LOOP
void loop ()
{
Serial.println("Außerhalb Schleife");
delay(200);
//Abfrage ob Schalter eingeschalten
if (digitalRead(SWITCH)==HIGH)
{
Serial.println("Innerhalb Schleife - SWITCH EIN");
delay(200);
//Ampelablauf init
digitalWrite(LED_GREEN, HIGH);
digitalWrite(LED_YELLOW, LOW);
digitalWrite(LED_RED, LOW);
if (digitalRead(BUTTON)==HIGH)
{
Serial.println("Innerhalb Schleife - BUTTON BETÄTIGT");
delay(200);
//Ampel GRÜN
digitalWrite(LED_GREEN, HIGH);
digitalWrite(LED_YELLOW, LOW);
digitalWrite(LED_RED, LOW);
delay(1000);
//Ampel GELB
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_YELLOW, HIGH);
digitalWrite(LED_RED, LOW);
delay(1000);
//Ampel ROT
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_YELLOW, LOW);
digitalWrite(LED_RED, HIGH);
delay(5000);
//Ampel GELB
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_YELLOW, HIGH);
digitalWrite(LED_RED, LOW);
delay(1000);
//Ampel GRÜN
digitalWrite(LED_GREEN, HIGH);
digitalWrite(LED_YELLOW, LOW);
digitalWrite(LED_RED, LOW);
delay(1000);
}
}
else
{
Serial.println("Innerhalb Schleife - SWITCH AUS");
delay(200);
//Ampelablauf GELB AUS
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_YELLOW, LOW);
digitalWrite(LED_RED, LOW);
delay(1000);
//Ampel GELB EIN
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_YELLOW, HIGH);
digitalWrite(LED_RED, LOW);
delay(1000);
}
}
//UP