DDEG

Dependencies:   HYT TextLCD mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "HYT.h"
00003 #include "TextLCD.h"
00004 
00005 
00006 TextLCD lcd(p15, p16, p17, p18, p19, p20);
00007 Serial              pc(USBTX, USBRX);
00008 Ticker              timeKeeping;
00009 HYT                 SENSOR (p9, p10); // sda, scl
00010 // HYT sensor polling cycle
00011 void dataUpdate(void)
00012 {
00013     SENSOR.MRCommand();
00014     wait(3);
00015     SENSOR.DFCommand();
00016 }
00017 
00018 void secondsCallback(void) {
00019     pc.printf("Humidity level: %.1f\r\n%", SENSOR.humidity);
00020     pc.printf("Temperature level: %.1f\r\n%", SENSOR.temperature);
00021     pc.printf("-------------------------------\r\n%", SENSOR.temperature);
00022     lcd.locate(1,0);
00023     lcd.printf("Humidity level: %.1f\r\n%", SENSOR.humidity);
00024 }
00025 
00026 
00027 char ReadT;
00028 char ReadH;
00029 DigitalOut TV(LED1);
00030 DigitalOut TC1(LED2);
00031 DigitalOut myled3(LED3);
00032 DigitalOut myled4(LED4);
00033 
00034 
00035 int main()
00036 {
00037     timeKeeping.attach(&secondsCallback, 3.0f);
00038 
00039     while(1) {
00040 
00041         dataUpdate();
00042         ReadT = SENSOR.temperature;
00043         ReadH = SENSOR.humidity;
00044                 if (ReadT < 25 && ReadH > 60){
00045             pc.printf(" Heating mode \r\n%");
00046 
00047                 TV = 1;
00048                 TC1 = 0;
00049             }
00050             else if (ReadT < 25 && ReadH < 50){
00051             pc.printf("Heating & Humidification \r\n%");
00052                 TV = 1;
00053                 TC1 =1;
00054             }
00055             else if (ReadT > 25 && ReadT <32  && ReadH >50){
00056             pc.printf(" Keep working \r\n%");
00057             }
00058             else{
00059             pc.printf(" Turn off \r\n%");
00060             TV = 0;
00061             TC1 = 0;
00062             }
00063     }
00064 }