2 Verkeerslichten

Je hebt in het vorige voorbeeld 1 lampje aangesloten en laten knipperen. Nu gaan we dat eens flink uitbreiden. Hierboven zie je 2 verkeerslichten. De bovenste lamp staat op groen, en de onderste staat op rood. Bij de bovenste gaat vervolgens groene uit en de oranje aan. Wanneer de bovenste lamp op rood springt gaat bij de onderste de rode lamp uit en de groene aan. De code om dit te laten werken vind je hieronder. Ook kan je op de afbeelding klikken en deze bewerken in TinkerCAD.

De code.

int rood1 = 13;
int oranje1 = 12;
int groen1 = 11;
int rood2 = 10;
int oranje2 = 9;
int groen2 = 8;

int wachten_lang = 5000;
int wachten_kort = 1500;

void setup(){
  pinMode(rood1, OUTPUT);
  pinMode(oranje1, OUTPUT);
  pinMode(groen1, OUTPUT);
  pinMode(rood2, OUTPUT);
  pinMode(oranje2, OUTPUT);
  pinMode(groen2, OUTPUT);
}

void loop(){
  digitalWrite(rood1, LOW);
  digitalWrite(oranje1, LOW);
  digitalWrite(groen1, HIGH);
  digitalWrite(rood2, HIGH);
  digitalWrite(oranje2, LOW);
  digitalWrite(groen2, LOW);


  delay(wachten_lang);

  digitalWrite(13, LOW);
  digitalWrite(12, HIGH);
  digitalWrite(11, LOW);
  digitalWrite(rood2, HIGH);
  digitalWrite(oranje2, LOW);
  digitalWrite(groen2, LOW);

  delay(wachten_kort);

  digitalWrite(rood1, HIGH);
  digitalWrite(oranje1, LOW);
  digitalWrite(groen1, LOW);
  digitalWrite(rood2, LOW);
  digitalWrite(oranje2, LOW);
  digitalWrite(groen2, HIGH);

  delay(wachten_lang);

  digitalWrite(rood1, HIGH);
  digitalWrite(oranje1, LOW);
  digitalWrite(groen1, LOW);
  digitalWrite(rood2, LOW);
  digitalWrite(oranje2, HIGH);
  digitalWrite(groen2, LOW);

  delay(wachten_kort);

}