abc Arduino
|
|
|
4.1.. Napraviti simulaciju semafora (po dvije LED diode: crvena, žuta i zelena). Koristiti funkcije za svaku kombinaciju. Šema povezivanja:
Listing programa :
// semafor 1
int r1 = 7; // crveni 1
int y1 = 8; // zuti 1
int g1 = 9; // zeleni 1
int r2 = 2; // crveni 2
int y2 = 3; // zuti 2
int g2 = 4; // zeleni 2
int kasni_s1 = 3000; // kasnjenje semafora 1
int kasni_s2 = 3000; // kasnjenje semafora 2
int prelaz = 2000; // kasnjenje semafora 2
void f_r1_g2(){
digitalWrite(r1, HIGH);
digitalWrite(y1, LOW);
digitalWrite(g1, LOW);
digitalWrite(r2, LOW);
digitalWrite(y2, LOW);
digitalWrite(g2, HIGH);
Serial.println("C1 Crveni 1 G2 zeleni 2");
}
void f_r1_y1_y2() {
digitalWrite(r1, HIGH);
digitalWrite(y1, HIGH);
digitalWrite(g1, LOW);
digitalWrite(r2, LOW);
digitalWrite(y2, HIGH);
digitalWrite(g2, LOW);
Serial.println("C1 Crveni 1 Y1 zuti 1 G2 zeleni 2");
}
void f_g1_r2() {
digitalWrite(r1, LOW);
digitalWrite(y1, LOW);
digitalWrite(g1, HIGH);
digitalWrite(r2, HIGH);
digitalWrite(y2, LOW);
digitalWrite(g2, LOW);
Serial.println("G1 zeleni 1 C2 Crveni 2 ");
}
void f_y1_r2_y2() {
digitalWrite(r1, LOW);
digitalWrite(y1, HIGH);
digitalWrite(g1, LOW);
digitalWrite(r2, HIGH);
digitalWrite(y2, HIGH);
digitalWrite(g2, LOW);
Serial.println("Y1 zuti 1 C2 Crveni 2 Y2 zuti 2 ");
}
void setup() {
pinMode(r1, OUTPUT);
pinMode(y1, OUTPUT);
pinMode(g1, OUTPUT);
pinMode(r2, OUTPUT);
pinMode(y2, OUTPUT);
pinMode(g2, OUTPUT);
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop() {
f_r1_g2(); // crveni 1 ::: zeleni 2
delay(kasni_s1);
f_r1_y1_y2(); // crveni 1 i ziti 1 ::: i zeleni 2
delay(prelaz); // Wait for 1000 millisecond(s)
f_g1_r2(); // zeleni 1 ::: crveni 2
delay(kasni_s2);
f_y1_r2_y2(); // zuti 1 ::: crveni 2 i ziti 2
delay(prelaz); // Wait for 1000 millisecond(s)
}
Ispis na ekranu: |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |