Learning classes.

Dependencies:   C12832

Dependents:   PURS_ZI_004

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Mikrovalna.cpp Source File

Mikrovalna.cpp

00001 #include "mbed.h"
00002 #include "C12832.h"
00003 #include "Mikrovalna.h"
00004 
00005 Mikrovalna::Mikrovalna(PinName sekundePin, PinName startStopPin) : sekunde(sekundePin), startStop(startStopPin), lcd(p5, p7, p6, p8, p11), relej(LED1) {
00006     ukljucena = false;
00007     sekunde.rise(this, &Mikrovalna::namjestiVrijeme);
00008     startStop.rise(this, &Mikrovalna::ukljuciIskljuci);
00009     debounceSekunde.start();
00010     debounceStartStop.start();
00011     relej = 0;
00012     vrijeme = 0;
00013     lcd.cls();
00014     lcd.locate(0,3);
00015     lcd.printf("PURS_ZI_004\nNamjesti vrijeme/pokreni");
00016 }
00017 
00018 void Mikrovalna::ukljuciIskljuci() {
00019     if(debounceStartStop.read_ms() > 200) {
00020         if (!ukljucena && vrijeme > 0) {
00021             iskljuci.attach(this, &Mikrovalna::iskljucenje, vrijeme);
00022             relej = 1;
00023             ukljucena = true;
00024             lcd.cls();
00025             lcd.locate(0,3);
00026             lcd.printf("Ukljucena na %d s", vrijeme);
00027         } else {
00028             iskljuci.detach();
00029             relej = 0;
00030             vrijeme = 0;
00031             ukljucena = false;
00032             lcd.cls();
00033             lcd.locate(0,3);
00034             lcd.printf("Iskljucena");
00035         }
00036         debounceStartStop.reset();
00037     }
00038 }
00039 
00040 void Mikrovalna::iskljucenje() {
00041     relej = 0;
00042     vrijeme = 0;
00043     ukljucena = false;
00044     lcd.cls();
00045     lcd.locate(0,3);
00046     lcd.printf("Gotovo");
00047 }
00048 
00049 void Mikrovalna::namjestiVrijeme() {
00050     if(debounceSekunde.read_ms() > 200) {
00051         vrijeme += 5;
00052         if (vrijeme > 30) vrijeme = 0;
00053         debounceSekunde.reset();
00054         lcd.cls();
00055         lcd.locate(0,3);
00056         lcd.printf("%d", vrijeme);
00057     }
00058 }