Model semafora

Zadatak

Napravite model semafora za automobile. Na Arduino spojite tri svjetleće diode – crvenu, žutu i zelenu, na izvode 6, 7 i 8. Semafor mora raditi kako inače rade semafori u prometu. Na početku neka bude uključeno crveno svjetlo na tri sekunde. Potom neka svijetle crveno i žuto zajedno jednu sekundu. Nakon toga neka svijetli zeleno tri sekunde. Naposlijetku, neka svijetli samo žuto na jednu sekundu i neka se ciklus ponavlja ispočetka.

Prikaz spajanja

Arduino kod
int LedCrvena = 6;
int LedZuta = 7;
int LedZelena = 8;

void setup() {
  pinMode(LedCrvena, OUTPUT);     //postavi izvod LedCrvena (6) kao izlazni
  pinMode(LedZuta, OUTPUT);       //postavi izvod LedZuta (7) kao izlazni
  pinMode(LedZelena, OUTPUT);     //postavi izvod LedZelena (8) kao izlazni
}

void loop() {
  //svijetli crveno 3 sekunde
  digitalWrite(LedCrvena, HIGH);  //uključi crveno svjetlo
  digitalWrite(LedZuta, LOW);     //isključi žuto svjetlo
  digitalWrite(LedZelena, LOW);   //isključi zeleno svjetlo
  delay(3000);                    //čekaj 3 sekunde

  //svijetle crveno i žuto 1 sekundu
  digitalWrite(LedCrvena, HIGH);  //uključi crveno svjetlo
  digitalWrite(LedZuta, HIGH);    //uključi žuto svjetlo
  digitalWrite(LedZelena, LOW);   //isključi zeleno svjetlo
  delay(1000);                    //čekaj 1 sekundu

  //svijetli zeleno 3 sekunde
  digitalWrite(LedCrvena, LOW);   //isključi crveno svjetlo
  digitalWrite(LedZuta, LOW);     //isključi žuto svjetlo
  digitalWrite(LedZelena, HIGH);  //uključi zeleno svjetlo
  delay(3000);                    //čekaj 3 sekunde

  //svijetli žuto 1 sekundu
  digitalWrite(LedCrvena, LOW);   //isključi crveno svjetlo
  digitalWrite(LedZuta, LOW);     //uključi žuto svjetlo
  digitalWrite(LedZelena, HIGH);  //isključi zeleno svjetlo
  delay(1000);                    //čekaj 1 sekundu
}