Thermometer indicating temperature and humidity by LED blink pattern

Dependencies:   BLE_API mbed nRF51822

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "hts221.h"
00003 #include "DeviceInformationService.h"
00004 
00005 #define ON 1
00006 #define OFF 0
00007 
00008 DigitalOut myled2(LED2);
00009 DigitalOut myled1(LED1);
00010 
00011 
00012 int main() {
00013     
00014     float temp = 12.0;
00015     int tempint = static_cast<int> (temp);
00016     int tempdigit1 = 0;
00017     int tempdigit10 = 0;
00018 
00019     float humi = 55;
00020     int humiint = static_cast<int> (humi);
00021     int humidigit1 = 0;
00022     int humidigit10 = 0;
00023     int i = 0; 
00024     
00025     
00026     if (hts221_init()) { //Check if the sensor is initialized correctly
00027         HTS221_Calib(); //calibrate thermometer
00028         while(true) {   //Infinite loop
00029             
00030             HTS221_ReadTempHumi(&temp, &humi);
00031             
00032             tempint = static_cast<int> (temp);
00033             tempdigit1 = tempint % 10;
00034             tempdigit10 = tempint / 10;
00035             for (i = tempdigit10 ; i ; i--) {
00036                 myled1 = ON; 
00037                 wait (0.5);
00038                 myled1 = OFF ;
00039                 wait (1.0);
00040             }
00041             for (i = tempdigit1 ; i ; i--) {
00042                 myled1 = ON; 
00043                 wait (0.1);
00044                 myled1 = OFF ;
00045                 wait (0.4);
00046             }         
00047             
00048             humiint = static_cast<int> (humi);
00049             humidigit1 = humiint % 10;
00050             humidigit10 = humiint / 10;
00051             for (i = humidigit10 ; i ; i--) {
00052                 myled2 = ON; 
00053                 wait (0.5);
00054                 myled2 = OFF ;
00055                 wait (1.0);
00056             }
00057             for (i = humidigit1 ; i ; i--) {
00058                 myled2 = ON; 
00059                 wait (0.1);
00060                 myled2 = OFF ;
00061                 wait (0.4);
00062             }         
00063             
00064             wait (4.0);
00065         }
00066     } else {    //Sensor initialize error
00067         while(true) {
00068             myled1 = ON;
00069             wait(0.1);
00070             myled1 = OFF;
00071             wait(0.2);
00072         }
00073     }
00074 }
00075