main
Dependencies: mbed Alarmni_sustav
Fork of Alarm_Barnjak by
Diff: main.cpp
- Revision:
- 0:d33881c5ba2d
- Child:
- 1:ffe9956395e9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu May 06 13:29:11 2021 +0000 @@ -0,0 +1,75 @@ +#include "mbed.h" +#include "klasaLED.h" +Serial pc(USBTX, USBRX); +LED led1(A0); //alarm-zelena +LED led2(D2);//centrala-žuta-signalna LED +LED led3(D3);//alarm-crvena +LED led4(D4);//centrala-zelena +LED led5(D5);//centrala-crvena +InterruptIn button(USER_BUTTON); +Timer senzor; +Timer alarm; +Timer debounce; +void flip() //Hardverski interrupt +{ + if(debounce.read_ms()>200) { + led1.status(0); + led3.status(0); + led4.status(0); + led5.status(0); + int i; + for(i=0; i<6; i++) { + led2.flip(); + led5.flip(); + wait(0.5); + senzor.reset(); + senzor.start(); + } + } +} +int main() +{ + debounce.start(); + button.rise(&flip); + + while(1) { + +//Početno LED stanje + led1.status(0); + led2.status(0); + led3.status(1); + led4.status(1); + led5.status(0); + +//Nakon 5 sekundi slijedi detekcija ulaska koji se sa senzora proslijeđuje na centralu + senzor.start(); + if (senzor.read() > 5) { + led3.flip(); + +//Dvije sekunde nakon detekcija ulaza upali signalnu LED na centrali + } + if (senzor.read() > 7) { + led2.flip(); +//Ukoliko centrala nije resetirana unutar 5 sekundi od aktivacije signalne LED, upali alarm i blokiraj centralu i alarm od resetiranja + } + if(senzor.read()>12 ) { + led1.flip(); + led2.flip(); + led4.flip(); + led5.flip(); + alarm.start(); + int x; + while(alarm.read()<1 && debounce.read_ms()>200) { + for(x=0; x<4; x++) { + led1.flip(); + led5.flip(); + wait(0.25); + alarm.reset(); + alarm.start(); + + } + } + } + } + return 0; +} \ No newline at end of file