Learning classes.
Dependencies: C12832
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 }
Generated on Fri Aug 5 2022 13:01:02 by 1.7.2