MU_konstrukcijski zadatak_VD
Dependencies: mbed MU_upravljanje_raskrzjem
Diff: main.cpp
- Revision:
- 0:13a153863b69
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Nov 25 17:09:44 2020 +0000 @@ -0,0 +1,125 @@ +#include "mbed.h" +#include "MU_upravljanje_raskrzjem.h" + +Traffic vcrvena1 (p5); +Traffic vzuta1 (p6); +Traffic vzelena1 (p7); +Traffic mcrvena1 (p8); +Traffic mzelena1 (p9); + +Traffic vcrvena2 (p30); +Traffic vzuta2 (p29); +Traffic vzelena2 (p28); +Traffic mcrvena2 (p27); +Traffic mzelena2 (p26); + +InterruptIn tipkalo(p18); + +Ticker tik1; + +int t=0,p=0; + +void tiker1() +{ + t=t+1; +} + +void pjesaci() +{ + p=1; +} + +void semafor2() +{ + if(t>=0 && t<100) { + vzelena2.light_on(t, 0, 100); + mcrvena2.light_on(t, 0, 100); + vcrvena1.light_on(t, 0, 100); + mzelena1.light_on(t, 0, 100); + } + if(t>=100 && t<200) { + mcrvena2.light_on(t, 100, 200); + vzelena2.light_on(t, 100, 200); + vcrvena1.light_on(t, 100, 200); + mcrvena1.light_on(t, 100, 200); + } + if(t>=200 && t<300) { + vcrvena1.light_on(t, 200,300); + mcrvena1.light_on(t, 200, 300); + vzuta2.light_on(t, 200, 300); + mcrvena2.light_on(t, 200, 300); + } + + + if(t>=300 && t<400) { + vcrvena1.light_on(t, 300,400); + mcrvena1.light_on(t, 300, 400); + vcrvena2.light_on(t, 300, 400); + mcrvena2.light_on(t, 300, 400); + } + if(t>=400 && t<500) { + vzuta1.light_on(t, 400,500); + mcrvena1.light_on(t, 400, 500); + vcrvena2.light_on(t, 400, 500); + mcrvena2.light_on(t, 400, 500); + } + if(t>=500 && t<800) { + vzelena1.light_on(t, 500, 800); + mcrvena1.light_on(t, 500, 800); + vcrvena2.light_on(t, 500, 800); + mzelena2.light_on(t, 500, 800); + } + if(t>=800 && t<900) { + vzelena1.light_on(t, 800,900); + mcrvena1.light_on(t, 800,900); + vcrvena2.light_on(t, 800,900); + mcrvena2.light_on(t, 800,900); + } + if(t>=900 && t<1000) { + vzuta1.light_on(t, 900,1000); + mcrvena1.light_on(t, 900,1000); + vcrvena2.light_on(t, 900,1000); + mcrvena2.light_on(t, 900,1000); + } + if(t>=1000 && t<1100) { + vcrvena1.light_on(t, 1000,1100); + mcrvena1.light_on(t, 1000,1100); + vcrvena2.light_on(t, 1000,1100); + mcrvena2.light_on(t, 1000,1100); + } + if(t>=1100 && t<1200) { + vcrvena1.light_on(t, 1100,1200); + mcrvena1.light_on(t, 1100,1200); + vzuta2.light_on(t, 1100,1200); + mcrvena2.light_on(t, 1100,1200); + } + if(t>=1200 && t<1300) { + vcrvena1.light_on(t, 1200,1300); + mzelena1.light_on(t, 1200,1300); + vzelena2.light_on(t, 1200,1300); + mcrvena2.light_on(t, 1200,1300); + } +} + + +int main() +{ + tik1.attach(&tiker1, 0.02); + while(1) { + if(p!=1) + t=0; + vcrvena1.light_on(t, 0, 1); + mzelena1.light_on(t, 0, 1); + vzelena2.light_on(t, 0, 1); + mcrvena2.light_on(t, 0, 1); + tipkalo.fall(&pjesaci); + if(p==1 && t<1200) + semafor2(); + if(p==1 && t>1200) { + t=0; + p=0; + } + } +} + +