31 sij Semafor za automobile i pješake
Zadatak
Nadogradite model semafora iz lekcije Upravljivi semafor sa semaforom za pješake. Semafori moraju naizmjenično propuštati pješake i automobile. Pješacima će biti zeleno samo onda kada je automobilima crveno. U svim drugim slučajevima pješacima mora svijetliti crveno svjetlo.
Prikaz spajanja
Arduino kod
int LedCrvena = 6; int LedZuta = 7; int LedZelena = 8; int LedCrvenaP = 9; int LedZelenaP = 10; 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 pinMode(LedCrvenaP, OUTPUT); //postavi izvod LedCrvenaP (9) kao izlazni pinMode(LedZelenaP, OUTPUT); //postavi izvod LedZelenaP (10) kao izlazni } void loop() { //automobilima svijetli crveno, pješacima svijetli zeleno digitalWrite(LedCrvena, HIGH); //uključi crveno svjetlo digitalWrite(LedZuta, LOW); //isključi žuto svjetlo digitalWrite(LedZelena, LOW); //isključi zeleno svjetlo digitalWrite(LedCrvenaP, LOW); //isključi crveno svjetlo za pješake digitalWrite(LedZelenaP, HIGH); //uključi zeleno svjetlo za pješake delay(3000); //čekaj 3 sekunde //automobilima svijetle crveno i žuto, pješacima svijetli crveno digitalWrite(LedCrvena, HIGH); //uključi crveno svjetlo digitalWrite(LedZuta, HIGH); //uključi žuto svjetlo digitalWrite(LedZelena, LOW); //isključi zeleno svjetlo digitalWrite(LedCrvenaP, HIGH); //uključi crveno svjetlo za pješake digitalWrite(LedZelenaP, LOW); //isključi zeleno svjetlo za pješake delay(1000); //čekaj 1 sekundu //automobilima svijetli zeleno, pješacima svijetli crveno digitalWrite(LedCrvena, LOW); //isključi crveno svjetlo digitalWrite(LedZuta, LOW); //isključi žuto svjetlo digitalWrite(LedZelena, HIGH); //uključi zeleno svjetlo digitalWrite(LedCrvenaP, HIGH); //uključi crveno svjetlo za pješake digitalWrite(LedZelenaP, LOW); //isključi zeleno svjetlo za pješake delay(3000); //čekaj 3 sekunde //automobilima svijetli žuto, pješacima svijetli crveno digitalWrite(LedCrvena, LOW); //isključi crveno svjetlo digitalWrite(LedZuta, LOW); //uključi žuto svjetlo digitalWrite(LedZelena, HIGH); //isključi zeleno svjetlo digitalWrite(LedCrvenaP, HIGH); //uključi crveno svjetlo za pješake digitalWrite(LedZelenaP, LOW); //isključi zeleno svjetlo za pješake delay(1000); //čekaj 1 sekundu }