//Ampelschaltung
/*
**************************************************************
****************** DEF *************************
**************************************************************
*/
//Konstanten
int WAIT;
//globaleVariablen
bool tasterstatus;
bool switchstatus;
//PIN Deklaration
#define LED_GREEN 3
#define LED_Yellow 4
#define LED_RED 5
#define BUTTON 6
#define SWITCH 7
#define LED_GREEN_F 9
#define LED_RED_F 8
/*
**************************************************************
****************** Setup *************************
**************************************************************
*/
void setup() {
//hier wird einmal durchlaufen
//Hier werden Initialisierungen geschrieben
//Hier werden die PIN Richungen definiert IN/OUT
//PIN Richtungen definieren
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_RED, OUTPUT);
pinMode(LED_Yellow, OUTPUT);
pinMode(tasterstatus, INPUT);
pinMode(switchstatus, INPUT);
//Testen der Ampel-LEDs
/* LED_GREEN = 1
LED_RED = 1
LED_Yellow = 1
Wait 2 sek
LED_GREEN = 0
LED_RED = 0
LED_Yellow = 0 */
digitalWrite(LED_GREEN, HIGH);
digitalWrite(LED_RED, HIGH);
digitalWrite(LED_Yellow, HIGH);
digitalWrite(LED_GREEN_F, HIGH);
digitalWrite(LED_RED_F, HIGH);
delay(2000);
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_RED, LOW);
digitalWrite(LED_Yellow, LOW);
digitalWrite(LED_GREEN_F, LOW);
digitalWrite(LED_RED_F, LOW);
}
void loop() {
switchstatus=digitalRead(SWITCH);
if(switchstatus==LOW)
{
digitalWrite(LED_Yellow, HIGH);
delay(1000);
digitalWrite(LED_Yellow, LOW);
delay(1000);
}
else{
tasterstatus=digitalRead(BUTTON);
if(tasterstatus==HIGH)
{
digitalWrite(LED_GREEN, HIGH);
delay(5000);
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_Yellow, HIGH);
delay(2000);
digitalWrite(LED_Yellow, LOW);
digitalWrite(LED_RED, HIGH);
delay(5000);
digitalWrite(LED_RED_F, LOW);
digitalWrite(LED_GREEN_F, HIGH);
delay(5000);
digitalWrite(LED_RED_F, HIGH);
digitalWrite(LED_GREEN_F, LOW);
digitalWrite(LED_Yellow, HIGH);
delay(1000);
digitalWrite(LED_RED, LOW);
digitalWrite(LED_Yellow, LOW);
digitalWrite(LED_GREEN, HIGH);
}
else
{
digitalWrite(LED_RED_F, HIGH);
digitalWrite(LED_GREEN, HIGH);
}
}
}