![](/media/cache/group/tvz-logo.png.50x50_q85.png)
Projektni zadatak iz Mikroupravljača - Mladenko Jurković
Dependencies: mbed SeeedShieldBot BluetoothSerial
Revision 0:b530fb5242f7, committed 2020-11-24
- Comitter:
- mjurkovic
- Date:
- Tue Nov 24 17:02:29 2020 +0000
- Commit message:
- ok
Changed in this revision
diff -r 000000000000 -r b530fb5242f7 BluetoothSerial.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BluetoothSerial.lib Tue Nov 24 17:02:29 2020 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/yihui/code/BluetoothSerial/#f56002898ee8
diff -r 000000000000 -r b530fb5242f7 SeeedShieldBot.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SeeedShieldBot.lib Tue Nov 24 17:02:29 2020 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/teams/components/code/SeeedShieldBot/#9fd1722259a1
diff -r 000000000000 -r b530fb5242f7 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Nov 24 17:02:29 2020 +0000 @@ -0,0 +1,153 @@ +#include"mbed.h" +DigitalOut LEDcrvena(D7); //LED svjetlo za vozila +DigitalOut LEDzuta(D6); //LED svjetlo za vozila +DigitalOut LEDzelena(D5); //LED svjetlo za vozila + +DigitalOut LEDzelenapjesaci(D2); //LED svjetlo za pješake +DigitalOut LEDcrvenapjesaci(D3); //LED svjetlo za pješake + +PwmOut z(D9); //PWM izlaz za zvučnik +InterruptIn tipkalo(D4); //Tipkalo za pješake + +Ticker zv; //Ticker za pozivanje zvuka +Timer debounce; //Timer za debounce +void pjesaci(void); //definiranje funkcije pjesaci +void zvuk(void); //definiranje funkcije zvuk + +int main() +{ + debounce.start(); + tipkalo.rise(&pjesaci); //pozivanje funkcije "pjesaci" koja odmah pali zeleno svjetlo za pješake, ukoliko je uključeno zeleno za vozila + + while(1) { + zv.attach(&zvuk, 0.5); + + LEDcrvena=1; + LEDcrvenapjesaci=1; + LEDzuta=0; + LEDzelena=0; + LEDzelenapjesaci=0; + wait(1); //crveno svjetlo vozilima, sigurnosni prijelaz između svjetla za vozila i pješake + + LEDcrvena=1; + LEDcrvenapjesaci=0; + LEDzuta=0; + LEDzelena=0; + LEDzelenapjesaci=1; + wait(12); //zeleno za pješake + + LEDcrvena=1; + LEDcrvenapjesaci=1; + LEDzuta=0; + LEDzelena=0; + LEDzelenapjesaci=0; + wait(1); //pali se crvena za pješake, priprema za žuto odnosno zeleno svjetlo vozilima + + LEDcrvena=1; + LEDcrvenapjesaci=1; + LEDzuta=1; + LEDzelena=0; + LEDzelenapjesaci=0; + wait(3); //pali se žuto svjetlo - priprema za kretanje vozila + + LEDcrvena=0; + LEDcrvenapjesaci=1; + LEDzuta=0; + LEDzelena=1; + LEDzelenapjesaci=0; + wait(15); //zeleno svjetlo vozilima + + LEDcrvena=0; + LEDcrvenapjesaci=1; + LEDzuta=1; + LEDzelena=0; + LEDzelenapjesaci=0; + wait(4); //pali se žuto svjetlo, upozorenje da slijedi crveno svjetlo + } +} +void pjesaci() +{ + if(debounce.read_ms()>200) { + if(LEDzelena==1) { //ako je zeleno svjetlo za vozila uključeno + + z.period(0.5); + z=0.5; + wait(2); //nakon pritiska tipke, zeleno svjetlo svjetli još 2 sekunde + + LEDcrvena=0; + LEDcrvenapjesaci=1; + LEDzuta=1; + LEDzelena=0; + LEDzelenapjesaci=0; + z.period(0.5); + z=0.5; //zvuk za crveno svjetlo pjesacima + wait(4); //pali se žuto svjetlo, priprema za crveno + + LEDcrvena=1; + LEDcrvenapjesaci=1; + LEDzuta=0; + LEDzelena=0; + LEDzelenapjesaci=0; + z.period(0.5); + z=0.5; //zvuk za crveno svjetlo pjesacima + wait(1); //crveno svjetlo vozilima, sigurnosni prijelaz između svjetla za vozila i pješake + + LEDcrvena=1; + LEDcrvenapjesaci=0; + LEDzuta=0; + LEDzelena=0; + LEDzelenapjesaci=1; + z.period(0.1); + z=0.5; //zvuk za zeleno svjetlo pjesacima + wait(6); //upalilo se crveno svjetlo vozilima, zeleno je pješacima + + LEDcrvena=1; + LEDcrvenapjesaci=1; + LEDzuta=0; + LEDzelena=0; + LEDzelenapjesaci=0; + z.period(0.5); + z=0.5; //zvuk za crveno svjetlo pjesacima + wait(1); //pali se crveno pješacima + + LEDcrvena=1; + LEDcrvenapjesaci=1; + LEDzuta=1; + LEDzelena=0; + LEDzelenapjesaci=0; + z.period(0.5); + z=0.5; //zvuk za crveno svjetlo pjesacima + wait(4); //uz crveno pješacima, pali se žuto svjetlo, priprema za zeleno za vozila + + LEDcrvena=0; + LEDcrvenapjesaci=1; + LEDzuta=0; + LEDzelena=1; + LEDzelenapjesaci=0; + z.period(0.5); + z=0.5; //zvuk za crveno svjetlo pjesacima + wait(15); //pali se zeleno svjetlo za vozila + + LEDcrvena=0; + LEDcrvenapjesaci=1; + LEDzuta=1; + LEDzelena=0; + LEDzelenapjesaci=0; + z.period(0.5); + z=0.5; //zvuk za crveno svjetlo pjesacima + wait(4); //pali se žuto svjetlo, priprema za crveno svjetlo vozilima + + } + debounce.reset(); + } +} +void zvuk() +{ + if(LEDzelenapjesaci==1) { + z.period(0.1); // definiranje PWM perioda za zvučnik --> zvuk za zeleno svjetlo pjesacima + z=0.5; //aktivni ciklus na 50%, PWM frekvencija definira visinu reproduciranog zvuka + } else if(LEDzelenapjesaci==0) { + z.period(0.5); //zvuk za crveno svjetlo pjesacima + z=0.5; + } +}
diff -r 000000000000 -r b530fb5242f7 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Tue Nov 24 17:02:29 2020 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file