Program semafora sastavljen od 5 LED dioda od kojih su 3 za semafor vozila, a 2 za semafor pješaka. Program započinje "servisnim" načinom blinkanjem žutog svjetla semafora te pokretanjem automatskog ciklusa u kojem se izmjenjuje rad semafora za vozila te semafora za pješake.

Dependencies:   mbed

https://os.mbed.com/media/uploads/tdragosa/2021-05-05_13-29-45.jpg

Committer:
tdragosa
Date:
Wed May 05 11:26:42 2021 +0000
Revision:
0:957be69322e9

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tdragosa 0:957be69322e9 1 #include "mbed.h" // pozivanje mbed.h biblioteke
tdragosa 0:957be69322e9 2 DigitalOut crveno_v(D3); // deklariranje output pina za diodu crvenog svijetla semafora vozila
tdragosa 0:957be69322e9 3 DigitalOut zuto_v(D4); // deklariranje output pina za diodu žutog svijetla semafora vozila
tdragosa 0:957be69322e9 4 DigitalOut zeleno_v(D5); // deklariranje output pina za diodu zelenog svijetla semafora vozila
tdragosa 0:957be69322e9 5 DigitalOut crveno_p(D6); // deklariranje output pina za diodu crvenoog svijetla semafora pješaka
tdragosa 0:957be69322e9 6 DigitalOut zeleno_p(D7);// deklariranje output pina za diodu zelenog svijetla semafora pješaka
tdragosa 0:957be69322e9 7 Ticker vozila; // deklariranje tickera vozila
tdragosa 0:957be69322e9 8 Ticker pjesaci; // deklariranje tickera pješaci
tdragosa 0:957be69322e9 9 int i=0; // deklariranje integera i
tdragosa 0:957be69322e9 10
tdragosa 0:957be69322e9 11
tdragosa 0:957be69322e9 12
tdragosa 0:957be69322e9 13 void voz () // početak podfunkcije za ciklus semafora vozila
tdragosa 0:957be69322e9 14 {
tdragosa 0:957be69322e9 15 crveno_v=1;
tdragosa 0:957be69322e9 16 zuto_v=0;
tdragosa 0:957be69322e9 17 zeleno_v=0;
tdragosa 0:957be69322e9 18 crveno_p=1;
tdragosa 0:957be69322e9 19 zeleno_p=0;
tdragosa 0:957be69322e9 20 wait(2);
tdragosa 0:957be69322e9 21
tdragosa 0:957be69322e9 22 crveno_v=1;
tdragosa 0:957be69322e9 23 zuto_v=1;
tdragosa 0:957be69322e9 24 zeleno_v=0;
tdragosa 0:957be69322e9 25 crveno_p=1;
tdragosa 0:957be69322e9 26 zeleno_p=0;
tdragosa 0:957be69322e9 27 wait(2);
tdragosa 0:957be69322e9 28
tdragosa 0:957be69322e9 29 crveno_v=0;
tdragosa 0:957be69322e9 30 zuto_v=0;
tdragosa 0:957be69322e9 31 zeleno_v=1;
tdragosa 0:957be69322e9 32 crveno_p=1;
tdragosa 0:957be69322e9 33 zeleno_p=0;
tdragosa 0:957be69322e9 34 wait(15);
tdragosa 0:957be69322e9 35 }
tdragosa 0:957be69322e9 36
tdragosa 0:957be69322e9 37
tdragosa 0:957be69322e9 38
tdragosa 0:957be69322e9 39 void pjes () // početak podfunkcije za ciklus semafora pješaka
tdragosa 0:957be69322e9 40 {
tdragosa 0:957be69322e9 41
tdragosa 0:957be69322e9 42
tdragosa 0:957be69322e9 43
tdragosa 0:957be69322e9 44 crveno_v=0;
tdragosa 0:957be69322e9 45 zuto_v=1;
tdragosa 0:957be69322e9 46 zeleno_v=0;
tdragosa 0:957be69322e9 47 crveno_p=1;
tdragosa 0:957be69322e9 48 zeleno_p=0;
tdragosa 0:957be69322e9 49 wait(2);
tdragosa 0:957be69322e9 50
tdragosa 0:957be69322e9 51 crveno_v=1;
tdragosa 0:957be69322e9 52 zuto_v=0;
tdragosa 0:957be69322e9 53 zeleno_v=0;
tdragosa 0:957be69322e9 54 crveno_p=1;
tdragosa 0:957be69322e9 55 zeleno_p=0;
tdragosa 0:957be69322e9 56 wait(2);
tdragosa 0:957be69322e9 57
tdragosa 0:957be69322e9 58 crveno_v=1;
tdragosa 0:957be69322e9 59 zuto_v=0;
tdragosa 0:957be69322e9 60 zeleno_v=0;
tdragosa 0:957be69322e9 61 crveno_p=0;
tdragosa 0:957be69322e9 62 zeleno_p=1;
tdragosa 0:957be69322e9 63 wait(10)
tdragosa 0:957be69322e9 64
tdragosa 0:957be69322e9 65 }
tdragosa 0:957be69322e9 66
tdragosa 0:957be69322e9 67
tdragosa 0:957be69322e9 68 int main() // glavna funkcija
tdragosa 0:957be69322e9 69 {
tdragosa 0:957be69322e9 70 crveno_v=0;
tdragosa 0:957be69322e9 71 zuto_v=0;
tdragosa 0:957be69322e9 72 zeleno_v=0;
tdragosa 0:957be69322e9 73 crveno_p=0;
tdragosa 0:957be69322e9 74 zeleno_p=0;
tdragosa 0:957be69322e9 75
tdragosa 0:957be69322e9 76 for(i=0; i<=10; i++) { // 10 promjena stanja
tdragosa 0:957be69322e9 77 zuto_v=!zuto_v; // u što se upisuje - što se upisuje
tdragosa 0:957be69322e9 78 wait(0.5);
tdragosa 0:957be69322e9 79 }
tdragosa 0:957be69322e9 80
tdragosa 0:957be69322e9 81 crveno_v=1;
tdragosa 0:957be69322e9 82 zuto_v=0;
tdragosa 0:957be69322e9 83 zeleno_v=0;
tdragosa 0:957be69322e9 84 crveno_p=1;
tdragosa 0:957be69322e9 85 zeleno_p=0;
tdragosa 0:957be69322e9 86 wait(5);
tdragosa 0:957be69322e9 87
tdragosa 0:957be69322e9 88 zuto_v=1;
tdragosa 0:957be69322e9 89 wait(2);
tdragosa 0:957be69322e9 90
tdragosa 0:957be69322e9 91 crveno_v=0;
tdragosa 0:957be69322e9 92 zuto_v=0;
tdragosa 0:957be69322e9 93 zeleno_v=1;
tdragosa 0:957be69322e9 94 wait(10);
tdragosa 0:957be69322e9 95
tdragosa 0:957be69322e9 96 pjesaci.attach(&pjes, 1); //
tdragosa 0:957be69322e9 97 vozila.attach(&voz, 1); //
tdragosa 0:957be69322e9 98
tdragosa 0:957be69322e9 99 }