![](/media/cache/group/tvz-logo.png.50x50_q85.png)
Program uključuje svjetlosne efekte ovisno o modu rada koji je izabran. Program ima 4 moda rada. U 4. modu rada, sve ledice su isključene. Mod rada se izabire pomoću integriranog tipkala na razvojnoj pločici. Vanjsko tipkalo služi za povrat u 4. mod. Ledica na razvojnoj pločici služi kao indikator ispravnosti rada.
Dependencies: flasher
Diff: main.cpp
- Revision:
- 0:da85fd0e990d
diff -r 000000000000 -r da85fd0e990d main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Sep 01 09:26:20 2022 +0000 @@ -0,0 +1,86 @@ +//REFERENCE/Korišteni dijelovi koda: +//https://os.mbed.com/handbook/Ticker +//https://os.mbed.com/handbook/InterruptIn +//https://os.mbed.com/questions/5979/mbed-1768-Button-input/ +//https://os.mbed.com/users/4180_1/notebook/pushbuttons/ +//https://os.mbed.com/cookbook/Writing-a-Library + +#include "mbed.h" +#include "flasher.h" //library + +InterruptIn myButton(USER_BUTTON); +Flasher led1(D5); +Flasher led2(D4); +Flasher led3(D3); +DigitalOut myled(LED1); +Ticker blink1; +InterruptIn button(D6); + +Flasher::Flasher(PinName pin) : _pin(pin) { + _pin = 0; +} + +void Flasher::flash(int n) { + for(int i=0; i<n*2; i++) { + _pin = !_pin; + wait(0.2); + } +} + +volatile bool buttonPressed; //zastavica da je tipkalo pritisnuto + +void onButtonPush() { + if (myButton == 1) { //potvrda da nije bouncing + buttonPressed = true; + } +} + +void RADI() //potvrda da program radi ok +{ + myled = !myled; +} + +void OFF() //funkcija sve ledice na nulu +{ + NVIC_SystemReset(); +} + + +int main () { + + blink1.attach(&RADI, 2.0); //ticker + + button.mode(PullUp); + button.rise(&OFF); //hw interrupt + + int count=0; + + myButton.rise(&onButtonPush); // kada pin prelazi in "0" i "1" pozovi funkciju + + while (1) { + + if (buttonPressed) { //tipkalo pritisnuto + count++; + buttonPressed = false; //tipkalo reset + } + //wait_ms(10); + if (count==1) + led1.flash(2); + else if (count==2){ + led3.flash(1); + led1.flash(1); + } + else if (count==3){ + led3.flash(3); + led2.flash(2); + led1.flash(1); + } + else if (count==4){ + led3.flash(0); + led2.flash(0); + led1.flash(0); + count=0; + } + } + +} \ No newline at end of file