In this project we will measure the temprature and humidity with the DHT 11 temperature and humidity sensor with an arduino and a 20×4 LCD display.
Some characteristics of this sensor are:
|1||Can detect the environmental humidity and temperature|
|2||Humidity measurement range: 20% 95% humidity|
|3||Humidity error +-5%|
|4||Temperature measurement range:0-50 °C|
|5||Temperature error ±2°C|
|6||Supply voltage 3.3-5 Volts|
|7||One wire digital output form|
|8||Fixed bolt hole for easy installation|
You can use this sensor to measure temperature and humidity in relative restricted environments because the temperature range is between 0 to 50 degrees. It is perfect for rooms, garages, storehouses etc where temperature do not go under zero.
Why we choose this sensor???? Because being calibrated and with only 2 degrees error it is perfect for cheap and pretty precise monitoring sistems.
A picture of this sensor is below:
For easy in installation we will use a library you can download from here. This zip library can be installed by selecting from arduino software sketch-include library-add zip library .
Now let’s see how to connect the sensor from arduino. As you can see in the image the shield sensor has 3 pins:
“+” connect to 5V from arduino
“-” connect to GND from arduino
“S”connect to any digital pin(we choose digital pin number 4).
Before to start the program with the LCD you can upload a example sketch that you installed with the library and you can find it in arduino software at Examples-DHTlib-dht11_test. It’s working with serial monitor.
To install the 20×4 LCD display see this tutorial.
The program with LCD is presented below or you can download from here:
#define DHT11_PIN 4 //digital pin 4 is the input pin for sensor
#include <Wire.h> // Comes with Arduino IDE
// set the LCD address to 0x27 for a 20 chars 4 line display
// Set the pins on the I2C chip used for LCD connections:
// addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address
lcd.begin(20,4); // initialize the lcd for 20 chars 4 lines, turn on backlight
lcd.backlight(); // finish with backlight on
//first row and first column is indexed with 0
lcd.setCursor(0,0);//starting to display from character 0 line 0
lcd.setCursor(6,1); //starting to display from character 6 line 1
lcd.print((char) 223); //ASCII code for degree
lcd.setCursor(7,1); //starting to display from character 7 line 1
lcd.setCursor(0,2); //starting to display from character 0 line 2
lcd.setCursor(6,3); //starting to display from character 6 line 3
updateDHT(); // call function updateDHT
void updateDHT() // the function that read the sensor and display data
chk = DHT.read11(DHT11_PIN);// READ DATA
Please let us in the comment zone any suggestions that you think will improve the article!
If you like the article click the follow button from social media to stay in touch with us!
A small video with the sensor and the LCD display is: