Description
DHT11 Temperature and Humidity Sensor
The DHT11 is a digital temperature and relative-humidity sensor. It combines an NTC thermistor for temperature measurement with a capacitive humidity sensor, and sends digital readings to microcontrollers such as Arduino.
Specifications
- Temperature range: 0–50 °C
- Temperature accuracy: ±2 °C
- Humidity range: 20–90% RH
- Humidity accuracy: ±5% RH
- Operating voltage: 3.5–5.5 V
- Current: 0.3 mA while measuring; 60 µA in standby
- Data output: digital single-wire protocol
- Sampling rate: 1 Hz (one reading per second)
How it works
An onboard microcontroller converts the sensor readings into a digital signal that can be read by a compatible microcontroller.
Applications
- Local weather stations
- Automatic climate-control systems
- Environmental monitoring
- Educational and hobby projects
Pinout
The DHT11 is available as a bare 4-pin sensor or as a module; pin arrangements can differ between versions.
- Bare 4-pin sensor: VCC (3.5–5.5 V), Data, NC (not connected), GND
- Module: VCC, Data, GND
Using it with Arduino Uno
Basic example
#include "DHT.h"
#define DHTPIN 2 // Broche à laquelle le capteur est connecté
#define DHTTYPE DHT11 // Définir le type de capteur
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Échec de lecture !");
return;
}
Serial.print("Humidité: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Température: ");
Serial.print(t);
Serial.println(" *C");
delay(2000);
}
Advanced example with I2C LCD
#include "DHT.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define DHTPIN 2 // Broche à laquelle le capteur est connecté
#define DHTTYPE DHT11 // Définir le type de capteur
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.begin();
lcd.backlight();
Serial.begin(9600);
dht.begin();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
lcd.setCursor(0, 0);
lcd.print("Échec de lecture!");
Serial.println("Échec de lecture !");
return;
}
lcd.setCursor(0, 0);
lcd.print("Hum: ");
lcd.print(h);
lcd.print(" %");
lcd.setCursor(0, 1);
lcd.print("Temp: ");
lcd.print(t);
lcd.print(" C");
Serial.print("Humidité: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Température: ");
Serial.print(t);
Serial.println(" *C");
delay(2000);
}
Advanced-example wiring
- DHT11 VCC: Arduino 5 V
- DHT11 Data: Arduino pin 2, with a 10 kΩ pull-up resistor
- DHT11 GND: Arduino GND
- LCD VCC/GND: Arduino 5 V/GND
- LCD SDA/SCL: Arduino A4/A5
Library installation
- In the Arduino IDE, open Sketch → Include Library → Manage Libraries.
- Search for and install
DHT sensor library. - For the LCD example, also install
LiquidCrystal_I2C.
Keywords: DHT11 temperature sensor, humidity sensor, relative humidity, Arduino weather sensor.











