Thermometer indicating temperature and humidity by LED blink pattern
Dependencies: BLE_API mbed nRF51822
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
Generated on Fri Aug 26 2022 21:33:01 by 1.7.2