
Use a DHT11 sensot to show temperature and humidity to lcd display
Dependencies: TS_DISCO_F746NG mbed LCD_DISCO_F746NG BSP_DISCO_F746NG DHT BUTTON_GROUP
main.cpp@0:0473fb57bba1, 2019-02-24 (annotated)
- Committer:
- Mario0799
- Date:
- Sun Feb 24 11:20:42 2019 +0000
- Revision:
- 0:0473fb57bba1
v1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Mario0799 | 0:0473fb57bba1 | 1 | #include "mbed.h" |
Mario0799 | 0:0473fb57bba1 | 2 | #include "DHT.h" |
Mario0799 | 0:0473fb57bba1 | 3 | #include "button_group.hpp" |
Mario0799 | 0:0473fb57bba1 | 4 | #include "TS_DISCO_F746NG.h" |
Mario0799 | 0:0473fb57bba1 | 5 | #include "LCD_DISCO_F746NG.h" |
Mario0799 | 0:0473fb57bba1 | 6 | |
Mario0799 | 0:0473fb57bba1 | 7 | Serial pc(USBTX, USBRX); |
Mario0799 | 0:0473fb57bba1 | 8 | DHT sensor(A0,DHT11); |
Mario0799 | 0:0473fb57bba1 | 9 | uint8_t text[30]; |
Mario0799 | 0:0473fb57bba1 | 10 | uint8_t text1[30]; |
Mario0799 | 0:0473fb57bba1 | 11 | uint8_t text2[30]; |
Mario0799 | 0:0473fb57bba1 | 12 | |
Mario0799 | 0:0473fb57bba1 | 13 | LCD_DISCO_F746NG lcd_; |
Mario0799 | 0:0473fb57bba1 | 14 | TS_DISCO_F746NG ts_; |
Mario0799 | 0:0473fb57bba1 | 15 | |
Mario0799 | 0:0473fb57bba1 | 16 | int main() { |
Mario0799 | 0:0473fb57bba1 | 17 | lcd_.Clear(LCD_COLOR_WHITE); |
Mario0799 | 0:0473fb57bba1 | 18 | lcd_.SetBackColor(LCD_COLOR_WHITE); |
Mario0799 | 0:0473fb57bba1 | 19 | lcd_.SetTextColor(LCD_COLOR_BLACK); |
Mario0799 | 0:0473fb57bba1 | 20 | |
Mario0799 | 0:0473fb57bba1 | 21 | int err; |
Mario0799 | 0:0473fb57bba1 | 22 | pc.printf("\r\nDHT Test program"); |
Mario0799 | 0:0473fb57bba1 | 23 | pc.printf("\r\n******************\r\n"); |
Mario0799 | 0:0473fb57bba1 | 24 | wait(1); // wait 1 second for device stable status |
Mario0799 | 0:0473fb57bba1 | 25 | while (1) { |
Mario0799 | 0:0473fb57bba1 | 26 | |
Mario0799 | 0:0473fb57bba1 | 27 | err = sensor.readData(); |
Mario0799 | 0:0473fb57bba1 | 28 | if (err == 0) { |
Mario0799 | 0:0473fb57bba1 | 29 | sprintf((char*)text, "Temperatura: %4.2f C",sensor.ReadTemperature(CELCIUS)); |
Mario0799 | 0:0473fb57bba1 | 30 | lcd_.DisplayStringAt(0, LINE(5),text , CENTER_MODE); |
Mario0799 | 0:0473fb57bba1 | 31 | sprintf((char*)text1, "Umidita': %4.2f %",sensor.ReadHumidity()); |
Mario0799 | 0:0473fb57bba1 | 32 | lcd_.DisplayStringAt(0, LINE(6),text1 , CENTER_MODE); |
Mario0799 | 0:0473fb57bba1 | 33 | |
Mario0799 | 0:0473fb57bba1 | 34 | pc.printf("Temperature is %4.2f C \r\n",sensor.ReadTemperature(CELCIUS)); |
Mario0799 | 0:0473fb57bba1 | 35 | pc.printf("Temperature is %4.2f F \r\n",sensor.ReadTemperature(FARENHEIT)); |
Mario0799 | 0:0473fb57bba1 | 36 | pc.printf("Temperature is %4.2f K \r\n",sensor.ReadTemperature(KELVIN)); |
Mario0799 | 0:0473fb57bba1 | 37 | pc.printf("Humidity is %4.2f \r\n",sensor.ReadHumidity()); |
Mario0799 | 0:0473fb57bba1 | 38 | pc.printf("Dew point is %4.2f \r\n",sensor.CalcdewPoint(sensor.ReadTemperature(CELCIUS), sensor.ReadHumidity())); |
Mario0799 | 0:0473fb57bba1 | 39 | pc.printf("Dew point (fast) is %4.2f \r\n",sensor.CalcdewPointFast(sensor.ReadTemperature(CELCIUS), sensor.ReadHumidity())); |
Mario0799 | 0:0473fb57bba1 | 40 | } else |
Mario0799 | 0:0473fb57bba1 | 41 | pc.printf("\r\nErr %i \n",err); |
Mario0799 | 0:0473fb57bba1 | 42 | |
Mario0799 | 0:0473fb57bba1 | 43 | wait(1); |
Mario0799 | 0:0473fb57bba1 | 44 | } |
Mario0799 | 0:0473fb57bba1 | 45 | } |