SOMMAIRE ►
Découvrons comment connecter le capteur DHT21 Arduino. Ce capteur numérique mesure la température et l’humidité relative de l’air avec une grande précision. Il intègre un capteur capacitif pour l’humidité et un thermistor pour la température, ainsi qu’un microcontrôleur interne qui convertit les mesures en un signal numérique via un bus 1-Wire. Idéal pour les stations météo, la domotique, la ventilation, l’incubation ou le contrôle des serres.
Pour cette activité, nous aurons besoin:
- Arduino Uno / Nano / Mega
- Capteur de température et d’humidité DHT21
- Résistance de 4,7 kΩ à 10 kΩ
- Fils de connexion (type Dupont)
Capteur de température et d’humidité DHT21 datasheet
Capteur de température et d’humidité DHT21 est un capteur numérique 1-Wire qui communique avec l’Arduino via une seule broche de données. Le capteur est livré soit sous forme de composant nu avec quatre broches, soit monté sur un petit PCB avec des connecteurs. Sensor DHT21 est plus précis que le capteur DHT11 et mesure des températures négatives, ce qui le rend adapté aux applications extérieures.

Caractéristiques DHT21 (AM2301) Arduino pinout, datasheet
- Tension d’alimentation : 3,3 – 5,5 V DC (utilisé 5V)
- Courant de consommation : ~1,5 mA (mesure), ~0,1 mA (veille)
- Type de sortie : numérique série (protocole propriétaire 1-Wire)
- Plage de mesure d’humidité : 0 – 100 % HR
- Précision humidité : ±2 % HR (à 25 °C)
- Résolution humidité : 0,1 % HR
- Plage de mesure de température : -40 … +80 °C
- Précision température : ±0,3 °C
- Résolution température : 0,1 °C
- Fréquence d’échantillonnage : max 0,5 Hz (toutes les 2 secondes)
- Longueur de câble : 50 cm (sur la version filaire)
- Dimensions du module : 32 x 15 x 14 mm
- Température de fonctionnement : -40 … +80 °C
La bibliothèque DHT.h facilite la communication avec le capteur, en gérant les timings et le protocole 1-Wire. Contrairement aux capteurs analogiques (thermistances), le DHT21 offre une mesure numérique directement exploitable sans étalonnage complexe. Il est simple d’utilisation, mais moins rapide qu’un capteur comme le DS18B20 pour la température seule.
Comment brancher capteur de température DHT21

Voici les connexions pour la version avec câble (fils de couleur) :
- Fil rouge → 5V Arduino
- Fil noir → GND Arduino
- Fil jaune (ou blanc) → broche numérique 10 (par exemple)
Le DHT21 existe en deux versions : un module avec 4 broches (dont une non connectée) et une version avec un câble de 50 cm (3 fils). Nous nous concentrons sur la version filaire qui est la plus pratique. Une résistance de tirage de 4,7 kΩ à 10 kΩ doit être connectée entre la broche DATA et le 5V. Résistance est indispensable pour maintenir un niveau logique stable lorsque la ligne de données est en haute impédance. Sans elle, la communication échoue.
Programme Arduino pour le capteur DHT21 (AM2301)
#include "DHT.h" #define DHTPIN 10 // Broche connectée au DATA du capteur #define DHTTYPE DHT21 // DHT21 (AM2301) DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); Serial.println("Capteur DHT21 (AM2301) - Test"); dht.begin(); // Initialisation } void loop() { // Attendre 2 secondes entre les mesures (recommandé par le constructeur) delay(2000); // Lecture de l'humidité float humidity = dht.readHumidity(); // Lecture de la température en Celsius float temperature = dht.readTemperature(); // Vérification des erreurs de lecture if (isnan(humidity) || isnan(temperature)) { Serial.println("Erreur de lecture du capteur !"); return; } // Affichage des valeurs Serial.print("Humidité : "); Serial.print(humidity); Serial.print(" %\t"); Serial.print("Température : "); Serial.print(temperature); Serial.println(" °C"); }
Explication du code pour le capteur AM2301 Arduino :
- Fonctions readHumidity() et readTemperature() renvoient les valeurs sous forme de float.
- La fonction isnan() vérifie si les valeurs sont valides (en cas d’erreur de communication).
- Un délai de 2 secondes est requis entre chaque mesure pour éviter de saturer le capteur.
Erreurs fréquentes et solutions
- Le capteur ne répond pas (valeur NaN) : vérifiez la résistance de tirage (4,7-10 kΩ) sur la ligne DATA. Assurez-vous également que le délai entre les mesures est d’au moins 2 sec.
- La température affichée est erronée ou ne change pas : vérifiez le type de capteur (
DHTTYPE DHT21). Une erreur de type peut donner des lectures incohérentes. - L’humidité affiche toujours 100 % : le capteur peut être exposé à de la condensation (humidité > 90 %). Séchez-le ou éloignez-le des sources de vapeur.
- Le capteur chauffe anormalement : vérifiez l’alimentation (5V) et les connexions. Le DHT21 ne consomme que quelques mA, une chaleur importante indique un court-circuit.
Conclusion. Le DHT21 (AM2301) est un capteur de température précis, fiable et très facile à interfacer avec Arduino. Grâce à la bibliothèque Adafruit, son utilisation se résume à quelques lignes de code. Il est parfait pour la plupart des projets de monitoring environnemental, que ce soit pour une station météo, un terrarium, ou un système de ventilation automatique. Sa simplicité et son coût modéré en font un choix idéal pour les makers.








Laisser un commentaire