int switchState = 0;
void setup() {
// Definieer de pinnen voor de verkeerslichten als uitgangen
// Verkeerslicht 1
pinMode(2, OUTPUT); // Groen
pinMode(3, OUTPUT); // Oranje
pinMode(4, OUTPUT); // Rood
// Verkeerslicht 2
pinMode(5, OUTPUT); // Groen
pinMode(6, OUTPUT); // Oranje
pinMode(7, OUTPUT); // Rood
// Verkeerslicht 3
pinMode(8, OUTPUT); // Groen
pinMode(9, OUTPUT); // Oranje
pinMode(10, OUTPUT); // Rood
// Verkeerslicht 4
pinMode(11, OUTPUT); // Groen
pinMode(12, OUTPUT); // Oranje
pinMode(13, OUTPUT); // Rood
// Definieer de pin voor de schakelaar als ingang
pinMode(1, INPUT);
}
void loop() {
// Lees de staat van de schakelaar
switchState = digitalRead(1);
if (switchState == LOW) {
// Verkeerslicht 1 en 2 - Groen
digitalWrite(2, HIGH); // Groen
digitalWrite(3, LOW); // Oranje
digitalWrite(4, LOW); // Rood
digitalWrite(5, HIGH); // Groen
digitalWrite(6, LOW); // Oranje
digitalWrite(7, LOW); // Rood
// Verkeerslicht 3 en 4 - Rood
digitalWrite(8, LOW); // Groen
digitalWrite(9, LOW); // Oranje
digitalWrite(10, HIGH); // Rood
digitalWrite(11, LOW); // Groen
digitalWrite(12, LOW); // Oranje
digitalWrite(13, HIGH); // Rood
delay(5000); // Blijf 5 seconden groen
// Verkeerslicht 1 en 2 - Oranje
digitalWrite(2, LOW); // Groen
digitalWrite(3, HIGH); // Oranje
digitalWrite(4, LOW); // Rood
digitalWrite(5, LOW); // Groen
digitalWrite(6, HIGH); // Oranje
digitalWrite(7, LOW); // Rood
delay(2000); // Blijf 2 seconden oranje
// Verkeerslicht 1 en 2 - Rood
digitalWrite(2, LOW); // Groen
digitalWrite(3, LOW); // Oranje
digitalWrite(4, HIGH); // Rood
digitalWrite(5, LOW); // Groen
digitalWrite(6, LOW); // Oranje
digitalWrite(7, HIGH); // Rood
// Verkeerslicht 3 en 4 - Groen
digitalWrite(8, HIGH); // Groen
digitalWrite(9, LOW); // Oranje
digitalWrite(10, LOW); // Rood
digitalWrite(11, HIGH); // Groen
digitalWrite(12, LOW); // Oranje
digitalWrite(13, LOW); // Rood
delay(5000); // Blijf 5 seconden groen
// Verkeerslicht 3 en 4 - Oranje
digitalWrite(8, LOW); // Groen
digitalWrite(9, HIGH); // Oranje
digitalWrite(10, LOW); // Rood
digitalWrite(11, LOW); // Groen
digitalWrite(12, HIGH); // Oranje
digitalWrite(13, LOW); // Rood
delay(2000); // Blijf 2 seconden oranje
// Verkeerslicht 3 en 4 - Rood
digitalWrite(8, LOW); // Groen
digitalWrite(9, LOW); // Oranje
digitalWrite(10, HIGH); // Rood
digitalWrite(11, LOW); // Groen
digitalWrite(12, LOW); // Oranje
digitalWrite(13, HIGH); // Rood
delay(1000); // Korte vertraging voordat we schakelen
} else {
// Verkeerslicht 3 en 4 - Groen
digitalWrite(8, HIGH); // Groen
digitalWrite(9, LOW); // Oranje
digitalWrite(10, LOW); // Rood
digitalWrite(11, HIGH); // Groen
digitalWrite(12, LOW); // Oranje
digitalWrite(13, LOW); // Rood
// Verkeerslicht 1 en 2 - Rood
digitalWrite(2, LOW); // Groen
digitalWrite(3, LOW); // Oranje
digitalWrite(4, HIGH); // Rood
digitalWrite(5, LOW); // Groen
digitalWrite(6, LOW); // Oranje
digitalWrite(7, HIGH); // Rood
delay(5000); // Blijf 5 seconden groen
// Verkeerslicht 3 en 4 - Oranje
digitalWrite(8, LOW); // Groen
digitalWrite(9, HIGH); // Oranje
digitalWrite(10, LOW); // Rood
digitalWrite(11, LOW); // Groen
digitalWrite(12, HIGH); // Oranje
digitalWrite(13, LOW); // Rood
delay(2000); // Blijf 2 seconden oranje
// Verkeerslicht 3 en 4 - Rood
digitalWrite(8, LOW); // Groen
digitalWrite(9, LOW); // Oranje
digitalWrite(10, HIGH); // Rood
digitalWrite(11, LOW); // Groen
digitalWrite(12, LOW); // Oranje
digitalWrite(13, HIGH); // Rood
// Verkeerslicht 1 en 2 - Groen
digitalWrite(2, HIGH); // Groen
digitalWrite(3, LOW); // Oranje
digitalWrite(4, LOW); // Rood
digitalWrite(5, HIGH); // Groen
digitalWrite(6, LOW); // Oranje
digitalWrite(7, LOW); // Rood
delay(5000); // Blijf 5 seconden groen
// Verkeerslicht 1 en 2 - Oranje
digitalWrite(2, LOW); // Groen
digitalWrite(3, HIGH); // Oranje
digitalWrite(4, LOW); // Rood
digitalWrite(5, LOW); // Groen
digitalWrite(6, HIGH); // Oranje
digitalWrite(7, LOW); // Rood
delay(2000); // Blijf 2 seconden oranje
// Verkeerslicht 1 en 2 - Rood
digitalWrite(2, LOW); // Groen
digitalWrite(3, LOW); // Oranje
digitalWrite(4, HIGH); // Rood
digitalWrite(5, LOW); // Groen
digitalWrite(6, LOW); // Oranje
digitalWrite(7, HIGH); // Rood
delay(1000); // Korte vertraging voordat we schakelen
}
}