Konstrukcijski zadatak iz predmeta Mikroupravljači, Božićna svjetla. Program koristi jedan NUCLEO-F072RB, tri LED diode(crvenu, žutu i zelenu), žice za spajanje, tri otpornika i eksperimentalnu ploču. Kada se priključi napajanje NUCLEO-u, sa pritiskom na USER gumb se uključuju LED diode, višestrukim pritiskom se mjenja kojim ritmom svjetle, nakon 10 sekundi radi zaštite se svjetla isključuju.
Dependencies: led
Diff: main.cpp
- Revision:
- 0:cc3ff6b5fbce
- Child:
- 1:cd07874dbf19
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Feb 22 16:40:06 2021 +0000 @@ -0,0 +1,70 @@ +#include "mbed.h" +#include "led.h" +Serial pc(USBTX, USBRX); +LED led1(D2); +LED led2(D3); +LED led3(D4); +Ticker flipper1; +Timer svjetla; +Timer debounce; +InterruptIn gumb(USER_BUTTON); +int x=0; +int i=0; +int t=0.2; +void pritisak() +{ + if(debounce.read_ms()>200) { + x++; + } + debounce.reset(); +} +int main() +{//Inicijalizacija LED-ica + led1.stanje(0); + led2.stanje(0); + led3.stanje(0); + debounce.start(); + svjetla.reset(); + gumb.rise(&pritisak); + svjetla.start(); + + while (true) { + if(svjetla.read_ms()>10000){ + led1.stanje(0); + led2.stanje(0); + led3.stanje(0); + flipper1.detach(); + } + else{ + if(x==0){ + led1.stanje(0); + led2.stanje(0); + led3.stanje(0); + } + if(x==1){ + i++; + if(i==1){led1.stanje(1);led2.stanje(0);led3.stanje(0);} + if(i==2){led1.stanje(0);led2.stanje(1);led3.stanje(0);} + if(i==3){led1.stanje(0);led2.stanje(0);led3.stanje(1);} + if(i==4){i=0;} + wait(0.1); + } + if(x==2){ + i++; + if(i==1){led1.stanje(1);led2.stanje(0);led3.stanje(0);} + if(i==2){led1.stanje(0);led2.stanje(1);led3.stanje(0);} + if(i==3){led1.stanje(0);led2.stanje(0);led3.stanje(1);} + if(i==4){i=0;} + wait(0.2); + } + if(x==3){ + led1.stanje(1);led2.stanje(1);led3.stanje(1); + wait(0.2); + led1.stanje(0);led2.stanje(0);led3.stanje(0); + wait(0.2); + } + if(x==4){x=0;} + } + } +} +