DDEG

Dependencies:   HYT TextLCD mbed

Committer:
jw17594
Date:
Fri Sep 14 09:14:49 2018 +0000
Revision:
0:898a4cafdb06
XXE

Who changed what in which revision?

UserRevisionLine numberNew 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 }