Ovim programom se upravlja rasvjetom.

Dependencies:   Light

Revision:
0:b41f2bc36513
diff -r 000000000000 -r b41f2bc36513 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Aug 26 15:37:46 2022 +0000
@@ -0,0 +1,68 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2019 ARM Limited
+ * SPDX-License-Identifier: Apache-2.0
+ *Author: Hrvoje Čudina
+ */
+
+#include "mbed.h"                      // Inicijalizacija mbed biblioteke
+#include "platform/mbed_thread.h"      // Inicijalizacija mbed_thread biblioteke
+#include "Light.h"                     // Inicijalizacija Light biblioteke
+
+InterruptIn button(PA_4);              // Inicijalizacija hardverskog prekida
+DigitalOut Yellow(PA_15);              // Inicijalizacija digitalnog izlaza Yellow
+Timer debounce;                        // Inicijalizacija tajmera za debounce
+
+void ON(void);                         // Inicijalizacija prototipa funkcije
+
+void Turn_OFF(){                       // Funkcija za primjenu "Ticker" klase
+    if (Yellow == 1){
+        Yellow = 0;
+        }
+    }
+
+int main()
+{      
+    Light LED1(PA_13);  // Inicijalizacija konstruktora klase Light
+    Light LED2(PA_14);  // Inicijalizacija konstruktora klase Light
+    
+    Ticker OFF;         // Inicijalizacija konstruktora klase Ticker
+    
+    DigitalIn Sensor_1(PA_0); // Inicijalizacija digitalnog ulaza
+    Sensor_1.mode(PullUp); // Inicijalizacija moda digitalnog ulaza
+    
+    DigitalIn Sensor_2(PA_1); // Inicijalizacija digitalnog ulaza
+    Sensor_2.mode(PullUp); // Inicijalizacija moda digitalnog ulaza
+    
+    int n = 200; // Definiranje varijable n
+    
+    debounce.start(); // Početak odbrojavanja tajmera
+    button.rise(&ON); // Dodjela funkcije vanjskom prekidu
+    OFF.attach(&Turn_OFF, 5.0); // Dodjela funkcije Ticker konstruktoru
+
+    while (true) {
+        
+        if (Sensor_1 == 1){         // Provjera stanja senzora_1
+            LED1.Flash_control(n);
+            }
+        else {
+            LED1.Flash_off();
+            }
+            
+        if (Sensor_2 == 1){         // Provjera stanja senzora_2
+            LED2.Flash_control(n);
+            
+            }
+        else {
+            LED2.Flash_off();
+            }
+            
+        
+    }
+}
+
+void ON(){                          // Definirana funkcija za vanjski prekid
+    if(debounce.read_ms()>200){
+        Yellow = 1;
+        debounce.reset();
+        }
+    }
\ No newline at end of file