You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.4 KiB
62 lines
1.4 KiB
9 months ago
|
int ledRot = 10;
|
||
|
int ledGelb = 11;
|
||
|
int ledGruen = 12;
|
||
|
boolean blinkmode = false;
|
||
|
int phase = 1;// Ampelphase
|
||
|
|
||
|
void setup() {
|
||
|
// put your setup code here, to run once:
|
||
|
pinMode(ledRot, OUTPUT);
|
||
|
pinMode(ledGelb, OUTPUT);
|
||
|
pinMode(ledGruen, OUTPUT);
|
||
|
}
|
||
|
|
||
|
void loop() {
|
||
|
|
||
|
// put your main code here, to run repeatedly:
|
||
|
if(blinkmode) {
|
||
|
// Blinkmodus
|
||
|
digitalWrite(ledRot, HIGH);
|
||
|
digitalWrite(ledGelb, HIGH);
|
||
|
digitalWrite(ledGruen, HIGH);
|
||
|
delay(1500);
|
||
|
digitalWrite(ledRot, LOW);
|
||
|
digitalWrite(ledGelb, LOW);
|
||
|
digitalWrite(ledGruen, LOW);
|
||
|
delay(200);
|
||
|
}
|
||
|
else {
|
||
|
// Ampelmodus
|
||
|
switch(phase) {
|
||
|
case 1: // Phase rot
|
||
|
digitalWrite(ledRot, HIGH);
|
||
|
digitalWrite(ledGelb, LOW);
|
||
|
digitalWrite(ledGruen, LOW);
|
||
|
delay(1500);
|
||
|
phase = 2;
|
||
|
break;
|
||
|
case 2: // Phase Rot/Gelb
|
||
|
digitalWrite(ledRot, HIGH);
|
||
|
digitalWrite(ledGelb, HIGH);
|
||
|
digitalWrite(ledGruen, LOW);
|
||
|
delay(1000);
|
||
|
phase = 3;
|
||
|
break;
|
||
|
case 3: // Phase Grün
|
||
|
digitalWrite(ledRot, LOW);
|
||
|
digitalWrite(ledGelb, LOW);
|
||
|
digitalWrite(ledGruen, HIGH);
|
||
|
delay(2000);
|
||
|
phase = 4;
|
||
|
break;
|
||
|
case 4: // Phase Gelb
|
||
|
digitalWrite(ledRot, LOW);
|
||
|
digitalWrite(ledGelb, HIGH);
|
||
|
digitalWrite(ledGruen, LOW);
|
||
|
delay(1500);
|
||
|
phase = 1;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|