728x90

728x90

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

320x50

Search This Blog

tyro-728x90