Overview Of DHT-11
DHT-11 is a humidity and temperature sensor, interfaces to the controller using only one data wire. It could measure the humidity between 20 to 90 %RH with the accuracy of 5%RH. The temperature could be measure between 0 to 50 degree Celsius with the accuracy of 2 degree Celsius.
Arduino Example Of Using DHT-11 |
The voltage typically supplied at 5 VDC. However, The data DQ pin requires a pull up resistor of around 5 kOhm.
Connection diagram between DHT-11 and MCU. |
Arduino Interfacing And Programming
For this sensor, there are a lot of libraries available on line made by many author, especially on Github.
I use SimpleDHT by the authors on Github.
SimpleDHT library installation on Arduino |
In this example, I use an Arduino, a DHT-11 and an SPI LCD, to read and display the temperature and humidity on the screen. I modified the built-in example comes with this library.
Schematic |
Arduino Source Code:
#include <SimpleDHT.h>
#include <ShiftedLCD.h>
#include <SPI.h>
int pinDHT11 = 2;
SimpleDHT11 dht11(pinDHT11);
//Select pin 8 for Enable pin
LiquidCrystal lcd(8);
void setup() {
lcd.begin(16,4);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("DHT-11 Sensor");
}
void loop() {
// read without samples.
byte temperature = 0;
byte humidity = 0;
int err = SimpleDHTErrSuccess;
if ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
delay(1000);
return;
}
lcd.setCursor(0,0);
lcd.print("DHT-11 Sensor");
lcd.setCursor(0,1);
lcd.print("Temp: "+String(temperature)+char(223)+"C");
lcd.setCursor(-4,2);
lcd.print("Humidity: "+String(humidity)+"%RH");
// DHT11 sampling rate is 1HZ.
delay(1500);
}
Arduino sketch for this example could be download here.
No comments:
Post a Comment