DDEG
Dependencies: HYT TextLCD mbed
main.cpp@0:898a4cafdb06, 2018-09-14 (annotated)
- Committer:
- jw17594
- Date:
- Fri Sep 14 09:14:49 2018 +0000
- Revision:
- 0:898a4cafdb06
XXE
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jw17594 | 0:898a4cafdb06 | 1 | #include "mbed.h" |
jw17594 | 0:898a4cafdb06 | 2 | #include "HYT.h" |
jw17594 | 0:898a4cafdb06 | 3 | #include "TextLCD.h" |
jw17594 | 0:898a4cafdb06 | 4 | |
jw17594 | 0:898a4cafdb06 | 5 | |
jw17594 | 0:898a4cafdb06 | 6 | TextLCD lcd(p15, p16, p17, p18, p19, p20); |
jw17594 | 0:898a4cafdb06 | 7 | Serial pc(USBTX, USBRX); |
jw17594 | 0:898a4cafdb06 | 8 | Ticker timeKeeping; |
jw17594 | 0:898a4cafdb06 | 9 | HYT SENSOR (p9, p10); // sda, scl |
jw17594 | 0:898a4cafdb06 | 10 | // HYT sensor polling cycle |
jw17594 | 0:898a4cafdb06 | 11 | void dataUpdate(void) |
jw17594 | 0:898a4cafdb06 | 12 | { |
jw17594 | 0:898a4cafdb06 | 13 | SENSOR.MRCommand(); |
jw17594 | 0:898a4cafdb06 | 14 | wait(3); |
jw17594 | 0:898a4cafdb06 | 15 | SENSOR.DFCommand(); |
jw17594 | 0:898a4cafdb06 | 16 | } |
jw17594 | 0:898a4cafdb06 | 17 | |
jw17594 | 0:898a4cafdb06 | 18 | void secondsCallback(void) { |
jw17594 | 0:898a4cafdb06 | 19 | pc.printf("Humidity level: %.1f\r\n%", SENSOR.humidity); |
jw17594 | 0:898a4cafdb06 | 20 | pc.printf("Temperature level: %.1f\r\n%", SENSOR.temperature); |
jw17594 | 0:898a4cafdb06 | 21 | pc.printf("-------------------------------\r\n%", SENSOR.temperature); |
jw17594 | 0:898a4cafdb06 | 22 | lcd.locate(1,0); |
jw17594 | 0:898a4cafdb06 | 23 | lcd.printf("Humidity level: %.1f\r\n%", SENSOR.humidity); |
jw17594 | 0:898a4cafdb06 | 24 | } |
jw17594 | 0:898a4cafdb06 | 25 | |
jw17594 | 0:898a4cafdb06 | 26 | |
jw17594 | 0:898a4cafdb06 | 27 | char ReadT; |
jw17594 | 0:898a4cafdb06 | 28 | char ReadH; |
jw17594 | 0:898a4cafdb06 | 29 | DigitalOut TV(LED1); |
jw17594 | 0:898a4cafdb06 | 30 | DigitalOut TC1(LED2); |
jw17594 | 0:898a4cafdb06 | 31 | DigitalOut myled3(LED3); |
jw17594 | 0:898a4cafdb06 | 32 | DigitalOut myled4(LED4); |
jw17594 | 0:898a4cafdb06 | 33 | |
jw17594 | 0:898a4cafdb06 | 34 | |
jw17594 | 0:898a4cafdb06 | 35 | int main() |
jw17594 | 0:898a4cafdb06 | 36 | { |
jw17594 | 0:898a4cafdb06 | 37 | timeKeeping.attach(&secondsCallback, 3.0f); |
jw17594 | 0:898a4cafdb06 | 38 | |
jw17594 | 0:898a4cafdb06 | 39 | while(1) { |
jw17594 | 0:898a4cafdb06 | 40 | |
jw17594 | 0:898a4cafdb06 | 41 | dataUpdate(); |
jw17594 | 0:898a4cafdb06 | 42 | ReadT = SENSOR.temperature; |
jw17594 | 0:898a4cafdb06 | 43 | ReadH = SENSOR.humidity; |
jw17594 | 0:898a4cafdb06 | 44 | if (ReadT < 25 && ReadH > 60){ |
jw17594 | 0:898a4cafdb06 | 45 | pc.printf(" Heating mode \r\n%"); |
jw17594 | 0:898a4cafdb06 | 46 | |
jw17594 | 0:898a4cafdb06 | 47 | TV = 1; |
jw17594 | 0:898a4cafdb06 | 48 | TC1 = 0; |
jw17594 | 0:898a4cafdb06 | 49 | } |
jw17594 | 0:898a4cafdb06 | 50 | else if (ReadT < 25 && ReadH < 50){ |
jw17594 | 0:898a4cafdb06 | 51 | pc.printf("Heating & Humidification \r\n%"); |
jw17594 | 0:898a4cafdb06 | 52 | TV = 1; |
jw17594 | 0:898a4cafdb06 | 53 | TC1 =1; |
jw17594 | 0:898a4cafdb06 | 54 | } |
jw17594 | 0:898a4cafdb06 | 55 | else if (ReadT > 25 && ReadT <32 && ReadH >50){ |
jw17594 | 0:898a4cafdb06 | 56 | pc.printf(" Keep working \r\n%"); |
jw17594 | 0:898a4cafdb06 | 57 | } |
jw17594 | 0:898a4cafdb06 | 58 | else{ |
jw17594 | 0:898a4cafdb06 | 59 | pc.printf(" Turn off \r\n%"); |
jw17594 | 0:898a4cafdb06 | 60 | TV = 0; |
jw17594 | 0:898a4cafdb06 | 61 | TC1 = 0; |
jw17594 | 0:898a4cafdb06 | 62 | } |
jw17594 | 0:898a4cafdb06 | 63 | } |
jw17594 | 0:898a4cafdb06 | 64 | } |