main

Dependencies:   mbed Alarmni_sustav

Fork of Alarm_Barnjak by Niko Barnjak

https://os.mbed.com/media/uploads/nbarnjak/shema.png

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