1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | // linke Ampel int ROT_L = 8; int GELB_L = 9; int GRUEN_L = 10; // rechte Ampel int ROT_R = 5; int GELB_R = 6; int GRUEN_R = 7; void setup() { pinMode(ROT_L, OUTPUT); pinMode(GELB_L, OUTPUT); pinMode(GRUEN_L, OUTPUT); pinMode(ROT_R, OUTPUT); pinMode(GELB_R, OUTPUT); pinMode(GRUEN_R, OUTPUT); } void loop() { // beim Start zeigen beide Ampeln rot digitalWrite(ROT_L, HIGH); digitalWrite(ROT_R, HIGH); // 1 Sekunde Sicherheitszone delay(1000); // linke Ampel wird über rot/gelb auf grün geschaltet // GELB_L -> an, 1 Sekunde warten, GELB_L -> aus, ROT_L -> aus, GRUEN_L -> an digitalWrite(GELB_L, HIGH); delay(1000); digitalWrite(GELB_L, LOW); digitalWrite(ROT_L, LOW); digitalWrite(GRUEN_L, HIGH); delay(5000); // linke Ampel wird von grün -> gelb auf rot geschaltet // GRUEN_L -> aus, GELB_L -> an, 1 Sekunde warten, GELB_L aus, ROT_L -> an digitalWrite(GRUEN_L, LOW); digitalWrite(GELB_L, HIGH); delay(1000); digitalWrite(GELB_L, LOW); digitalWrite(ROT_L, HIGH); // 1 Sekunde Sicherheitszone, beide Ampeln bleiben rot delay(1000); // rechte Ampel über rot-gelb auf grün schalten // GELB_R -> an, 1 Sekunde warten, GELB_R -> aus, ROT_R -> aus, GRUEN_R -> an digitalWrite(GELB_R, HIGH); delay(1000); digitalWrite(GELB_R, LOW); digitalWrite(ROT_R, LOW); digitalWrite(GRUEN_R, HIGH); delay(5000); // rechte Ampel wird von grün -> gelb auf rot geschaltet // GRUEN_R -> aus, GELB_R -> an, 1 Sekunde warten, GELB_R aus,loop beginnt von vornan digitalWrite(GRUEN_R, LOW); digitalWrite(GELB_R, HIGH); delay(1000); digitalWrite(GELB_R, LOW); } |
Letzte Aktualisierung: