Menu

Adskeeper - header widge

728x90

Search This Blog

468x60

Navbar

AdsKeeper - IAB Display Standard Ad Unit

Monday, March 1, 2021

Arduino Reading Humidity And Temperature From DHT-11 With SH1106 Display

Overview

Referring to DHT-11 in the previous post, I show a sample reading humidity and temperature from this device and display them on an SPI character LCD I made. 

Here I use the SH1106 device to display the same parameters from DHT-11. For an example program in how to use SH1106 display click here.

DHT-11 connect to Arduino pin A0 while the display module connects to the Arduino TWI port.

Arduino Reading Humidity And Temperature From DHT-11 With SH1106 Display
A running Arduino program

The picture shows the temperature reading of 34 degree Celsius and the humidity of 74 %RH.

Arduino Program And Circuit

Schematic Diagram

Connect the circuit as follow:

Arduino Reading Humidity And Temperature From DHT-11 With SH1106 Display
Circuit Connection


Arduino C Code



#include <SimpleDHT.h>
#include "U8glib.h"
U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);

//Connect DHT-11 To Pin A0
SimpleDHT11 dht11(A0);

byte temperature = 0;
byte humidity = 0;
  
void displayEnv(void){
  u8g.firstPage();
  do{
    
    u8g.setFont(u8g_font_timB10);
    u8g.setPrintPos(0,10);
    u8g.print("Humidity:");

    u8g.setFont(u8g_font_timB10);
    u8g.setPrintPos(0,25);
    u8g.print(String(humidity)+" %RH");

    u8g.setFont(u8g_font_timB10);
    u8g.setPrintPos(0,40);
    u8g.print("Temperature:");

    u8g.setFont(u8g_font_timB10);
    u8g.setPrintPos(0,55);
    u8g.print(String(temperature)+" "+char(176)+"C");
  }while(u8g.nextPage()); 
}

void displayErr(void){
  u8g.firstPage();
  do{
    
    u8g.setFont(u8g_font_helvB12);
    u8g.setPrintPos(35,25);
    u8g.print("DHT-11");
    u8g.setPrintPos(0,50);
    u8g.print("  NOT FOUND");

    
  }while(u8g.nextPage()); 
}

void setup() {
  
}

void loop() {
  
  int err = SimpleDHTErrSuccess;
  if ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
    displayErr();
    delay(1000);
    return;
  }
   
  displayEnv();
  delay(1500);
  
}

When there is no DHT-11 sensor connected, the system shows an error.

Arduino Reading Humidity And Temperature From DHT-11 With SH1106 Display
When there's no sensor connected
 

You can download the sketch here.

 

No comments:

Post a Comment

Adskeep- Standard Ads

Electronics and Programming Tutorials

336x280

DIY Electronic Projects And Instruments

AdsKeeper - 2091654

Labels

23K256 (1) 24C16B (2) 25AA010A (2) 8051 (7) 93AA46B (1) ADC (40) Analog Comparator (1) Arduino (16) ARM (32) AT89C52 (7) ATMega32 (59) ATMega644P (27) AVR (88) AVR PCB (2) Bootloader (1) CCS PICC (31) Change Notify Interrupt (CNI) (2) DAC (2) DHT11 (5) Display (157) Distance Sensor (3) dot matrix (1) ds1307 (10) DS18B20 (6) ds3231 (2) ds3232 (2) dsPIC (16) dsPIC30F1010 (3) dsPIC30F2010 (15) EEPROM (5) Environment Sensor (6) ESP32 (1) esp8266 (1) Graphical LCD (3) HD44780 (12) I2C (40) ILI9341 (1) Input/Output (84) Interrupt (22) IoT PCB (1) Keil (5) Keypad (16) KS0108 (3) LCD (87) LM35 (4) Master/Slave (2) MAX7221 (1) MCP23017 (8) MCP23S17 (7) MCP4921 (1) MCP4922 (2) Meter (3) MikroC (2) MikroC ARM (1) MikroC dsPIC (11) MikroC PIC (1) Module PCB (2) Motor (15) MPLABX (73) Nokia 5110 LCD (5) OLED (2) One-Wire (7) Oscillator (8) PCB (13) PCD8544 (3) PCF8574 (13) PIC (121) PIC12F (3) PIC16 (105) PIC16F628A (3) PIC16F630 (2) PIC16F716 (4) PIC16F818 (11) PIC16F818/819 (3) PIC16F84A (16) PIC16F876A (2) PIC16F877A (9) PIC16F88 (2) PIC16F887 (60) PIC18 (19) PIC18F1220 (5) PIC18F2550 (5) PIC18F4550 (13) PICKit2 (1) PICMicro PCB (4) Pin Change Interrupt (1) PLL (1) PWM (12) RTC (13) SBN0064G (1) Sensor (15) SH1106 (3) Shift Register (15) Shift Registers (19) SN74HC595N (9) Software SPI (1) Software TWI (3) SPI (44) sprinf (3) ST7735 (1) STM32 (29) STM32 Black Pill (1) STM32 Blue Pill (12) STM32 HAL (23) STM32CubeIDE (32) STM32F103C8T6 (9) STM32F103R6 (18) STM32F401CCU6 (1) SysTick (7) temperature sensor (15) TFT (1) TG12864A (1) Thermometer (22) Timer/Counter (32) TM1637 (2) twi (10) UART (11) Ultrasonic (4) Voltmeter (7) WDT (1) XC16 (2) XC8 (96)