Learning classes.

Dependencies:   C12832

Dependents:   PURS_ZI_004

Revision:
0:df735aa160f3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Mikrovalna.cpp	Wed Feb 10 11:19:25 2016 +0000
@@ -0,0 +1,58 @@
+#include "mbed.h"
+#include "C12832.h"
+#include "Mikrovalna.h"
+
+Mikrovalna::Mikrovalna(PinName sekundePin, PinName startStopPin) : sekunde(sekundePin), startStop(startStopPin), lcd(p5, p7, p6, p8, p11), relej(LED1) {
+    ukljucena = false;
+    sekunde.rise(this, &Mikrovalna::namjestiVrijeme);
+    startStop.rise(this, &Mikrovalna::ukljuciIskljuci);
+    debounceSekunde.start();
+    debounceStartStop.start();
+    relej = 0;
+    vrijeme = 0;
+    lcd.cls();
+    lcd.locate(0,3);
+    lcd.printf("PURS_ZI_004\nNamjesti vrijeme/pokreni");
+}
+
+void Mikrovalna::ukljuciIskljuci() {
+    if(debounceStartStop.read_ms() > 200) {
+        if (!ukljucena && vrijeme > 0) {
+            iskljuci.attach(this, &Mikrovalna::iskljucenje, vrijeme);
+            relej = 1;
+            ukljucena = true;
+            lcd.cls();
+            lcd.locate(0,3);
+            lcd.printf("Ukljucena na %d s", vrijeme);
+        } else {
+            iskljuci.detach();
+            relej = 0;
+            vrijeme = 0;
+            ukljucena = false;
+            lcd.cls();
+            lcd.locate(0,3);
+            lcd.printf("Iskljucena");
+        }
+        debounceStartStop.reset();
+    }
+}
+
+void Mikrovalna::iskljucenje() {
+    relej = 0;
+    vrijeme = 0;
+    ukljucena = false;
+    lcd.cls();
+    lcd.locate(0,3);
+    lcd.printf("Gotovo");
+}
+
+void Mikrovalna::namjestiVrijeme() {
+    if(debounceSekunde.read_ms() > 200) {
+        vrijeme += 5;
+        if (vrijeme > 30) vrijeme = 0;
+        debounceSekunde.reset();
+        lcd.cls();
+        lcd.locate(0,3);
+        lcd.printf("%d", vrijeme);
+    }
+}
\ No newline at end of file