Learning classes.

Dependencies:   C12832

Dependents:   PURS_ZI_004

Committer:
tbjazic
Date:
Wed Feb 10 11:19:25 2016 +0000
Revision:
0:df735aa160f3
Initial.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tbjazic 0:df735aa160f3 1 #include "mbed.h"
tbjazic 0:df735aa160f3 2 #include "C12832.h"
tbjazic 0:df735aa160f3 3 #include "Mikrovalna.h"
tbjazic 0:df735aa160f3 4
tbjazic 0:df735aa160f3 5 Mikrovalna::Mikrovalna(PinName sekundePin, PinName startStopPin) : sekunde(sekundePin), startStop(startStopPin), lcd(p5, p7, p6, p8, p11), relej(LED1) {
tbjazic 0:df735aa160f3 6 ukljucena = false;
tbjazic 0:df735aa160f3 7 sekunde.rise(this, &Mikrovalna::namjestiVrijeme);
tbjazic 0:df735aa160f3 8 startStop.rise(this, &Mikrovalna::ukljuciIskljuci);
tbjazic 0:df735aa160f3 9 debounceSekunde.start();
tbjazic 0:df735aa160f3 10 debounceStartStop.start();
tbjazic 0:df735aa160f3 11 relej = 0;
tbjazic 0:df735aa160f3 12 vrijeme = 0;
tbjazic 0:df735aa160f3 13 lcd.cls();
tbjazic 0:df735aa160f3 14 lcd.locate(0,3);
tbjazic 0:df735aa160f3 15 lcd.printf("PURS_ZI_004\nNamjesti vrijeme/pokreni");
tbjazic 0:df735aa160f3 16 }
tbjazic 0:df735aa160f3 17
tbjazic 0:df735aa160f3 18 void Mikrovalna::ukljuciIskljuci() {
tbjazic 0:df735aa160f3 19 if(debounceStartStop.read_ms() > 200) {
tbjazic 0:df735aa160f3 20 if (!ukljucena && vrijeme > 0) {
tbjazic 0:df735aa160f3 21 iskljuci.attach(this, &Mikrovalna::iskljucenje, vrijeme);
tbjazic 0:df735aa160f3 22 relej = 1;
tbjazic 0:df735aa160f3 23 ukljucena = true;
tbjazic 0:df735aa160f3 24 lcd.cls();
tbjazic 0:df735aa160f3 25 lcd.locate(0,3);
tbjazic 0:df735aa160f3 26 lcd.printf("Ukljucena na %d s", vrijeme);
tbjazic 0:df735aa160f3 27 } else {
tbjazic 0:df735aa160f3 28 iskljuci.detach();
tbjazic 0:df735aa160f3 29 relej = 0;
tbjazic 0:df735aa160f3 30 vrijeme = 0;
tbjazic 0:df735aa160f3 31 ukljucena = false;
tbjazic 0:df735aa160f3 32 lcd.cls();
tbjazic 0:df735aa160f3 33 lcd.locate(0,3);
tbjazic 0:df735aa160f3 34 lcd.printf("Iskljucena");
tbjazic 0:df735aa160f3 35 }
tbjazic 0:df735aa160f3 36 debounceStartStop.reset();
tbjazic 0:df735aa160f3 37 }
tbjazic 0:df735aa160f3 38 }
tbjazic 0:df735aa160f3 39
tbjazic 0:df735aa160f3 40 void Mikrovalna::iskljucenje() {
tbjazic 0:df735aa160f3 41 relej = 0;
tbjazic 0:df735aa160f3 42 vrijeme = 0;
tbjazic 0:df735aa160f3 43 ukljucena = false;
tbjazic 0:df735aa160f3 44 lcd.cls();
tbjazic 0:df735aa160f3 45 lcd.locate(0,3);
tbjazic 0:df735aa160f3 46 lcd.printf("Gotovo");
tbjazic 0:df735aa160f3 47 }
tbjazic 0:df735aa160f3 48
tbjazic 0:df735aa160f3 49 void Mikrovalna::namjestiVrijeme() {
tbjazic 0:df735aa160f3 50 if(debounceSekunde.read_ms() > 200) {
tbjazic 0:df735aa160f3 51 vrijeme += 5;
tbjazic 0:df735aa160f3 52 if (vrijeme > 30) vrijeme = 0;
tbjazic 0:df735aa160f3 53 debounceSekunde.reset();
tbjazic 0:df735aa160f3 54 lcd.cls();
tbjazic 0:df735aa160f3 55 lcd.locate(0,3);
tbjazic 0:df735aa160f3 56 lcd.printf("%d", vrijeme);
tbjazic 0:df735aa160f3 57 }
tbjazic 0:df735aa160f3 58 }