DHT11 Sensor Features
The DHT11 is a digital temperature and humidity sensor. This sensor is able to measure the humidity in the range of 20% to 80% with an accuracy of 5%. It can also measure the temperature in the range of 0 to 50 degrees Celsius with an accuracy of 2 degrees.
Note
The sampling frequency of this sensor is 1Hz. As a result, there must be at least one second between every readings of the sensor, otherwise the reading values will be incorrect.
You can download the DHT11 temperature and humidity module datasheet here.
DHT11 Sensor Module Datasheet
DHT11 Sensor Module Pinout
This module has 3 pins:
- VCC: Module power supply – 5 V
- GND: Ground
- Data: Sensor output
- TX: Send information via serial protocol
You can see Pinout of this module in the following image
Required Materials
Hardware Components
Software Apps
Interfacing DHT11 Sensor Module with Arduino
Step 1: Circuit
Connect the module to Arduino according to the following circuit.
Step 2: Installing Library
Go to Library manager and install DHT11 temperature sensor library.
Tip
If you need more help with installing a library on Arduino, read this tutorial: How to Install an Arduino Library
Step 3: Code
Upload the following code to Arduino board. This code reads temperature and humidity and displays that in the serial monitor.
/*
DHT11 - Tempertature & Hummidity Sensor
modified on 08 Sep 2020
by Mohammad Reza Akbari @ Electropeak
Home
Based on Adafruit Example
*/
#include "DHT.h"
#define DHTPIN 8 // Digital pin connected to DHT11
// Uncomment whatever type you're using!
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
Serial.println("Initializing... Please wait.");
delay(2000);
}
void loop() {
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print(F("°C "));
Serial.println(f);
delay(2000);
}
The code output is like this: