Le DHT11 est un capteur de température et d’humidité à une seule broche de données. Il mesure de 0 à 50 °C à ± 2 °C près et de 20 à 80 ou 90 % d’humidité à ± 5 % près, et ne se lit pas plus d’une fois par seconde. Sur Arduino, trois fils et la bibliothèque DHT d’Adafruit suffisent. Un résultat « nan » vient presque toujours du câblage, du type de capteur déclaré ou d’une lecture trop rapide.
Brancher un DHT11 à un Arduino prend dix minutes, et c’est souvent le premier capteur qu’on lit dans un montage. Il est peu cher, tient dans la main et ne demande qu’une entrée numérique. Reste à savoir ce qu’il vaut vraiment, comment le câbler sans se tromper de broche et pourquoi il renvoie parfois des valeurs absurdes.
Que mesure le DHT11, et avec quelle précision ?
Le DHT11 renvoie deux grandeurs, la température de l’air et son humidité relative, sur un seul fil. Son boîtier est bleu et à grille, ce qui le distingue du DHT22, plus gros et blanc. Les deux s’utilisent de la même façon côté programme.
Les chiffres ci-dessous suivent le guide d’Adafruit. Seule la plage d’humidité varie d’une fiche à l’autre : 20 à 80 % chez Adafruit, jusqu’à 90 % chez certains revendeurs.
| Grandeur | Valeur | Remarque |
|---|---|---|
| Température | 0 à 50 °C | ± 2 °C, aucune mesure sous 0 °C |
| Humidité relative | 20 à 80 ou 90 % | ± 5 % |
| Fréquence de lecture | 1 mesure par seconde au plus | Une lecture toutes les 2 s est plus prudente |
| Alimentation | 3 à 5,5 V | Compatible 3,3 V (ESP32) et 5 V (Uno) |
| Courant | environ 2,5 mA | Consommation faible |
Ces valeurs placent le DHT11 dans la catégorie des capteurs d’ambiance : il dit s’il fait plutôt frais ou chaud, sec ou humide, sans plus. Pour une cave, une serre ou une chambre, c’est suffisant.

Brochage : trois ou quatre broches ?
Le composant nu possède quatre broches, dont une ne sert à rien. La plupart des cartes vendues pour Arduino le montent sur un petit circuit à trois broches, repérées S pour le signal, plus l’alimentation et la masse.
Le brochage change d’un fabricant à l’autre. Lisez donc les inscriptions sérigraphiées sur la carte plutôt que de recopier un schéma vu en ligne, car inverser le plus et la masse suffit à griller un capteur.
Sur le composant nu à quatre broches, comptées de gauche à droite en regardant la grille, on trouve dans l’ordre l’alimentation, les données, une broche inutilisée, la masse. Une résistance de rappel de 4,7 à 10 kΩ doit relier la broche de données au plus. La plupart des cartes à trois broches l’embarquent déjà ; sinon, ajoutez-la.
Le montage sur Arduino Uno
Reliez le plus du capteur au 5 V de l’Arduino, sa masse à GND, et sa broche de données à la broche numérique 2. N’importe quelle autre broche numérique convient, à condition de changer le numéro dans le programme.
Sur un ESP32, alimentez le capteur en 3,3 V et non en 5 V : le signal de données reste ainsi à 3,3 V, tension que supporte la puce. Le Bluetooth de l’ESP32 permet ensuite d’envoyer les mesures vers un téléphone, et la rubrique Arduino et ESP32 détaille les autres cartes.

Lire la température et l’humidité dans le programme
Le protocole du DHT11 est propriétaire, d’où l’usage d’une bibliothèque. Celle d’Adafruit, nommée « DHT sensor library », s’installe depuis le gestionnaire de bibliothèques de l’IDE Arduino et gère aussi les DHT22 et DHT21. Elle demande en plus la bibliothèque « Adafruit Unified Sensor », que l’IDE propose d’installer avec elle.
Le programme ci-dessous lit les deux grandeurs toutes les deux secondes et affiche un message d’erreur quand la lecture échoue.
#include <DHT.h>
#define BROCHE_DHT 2
#define TYPE_DHT DHT11
DHT capteur(BROCHE_DHT, TYPE_DHT);
void setup() {
Serial.begin(9600);
capteur.begin();
}
void loop() {
delay(2000);
float h = capteur.readHumidity();
float t = capteur.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Erreur de lecture");
return;
}
Serial.print(t);
Serial.print(" C ");
Serial.print(h);
Serial.println(" %");
}
Ouvrez le moniteur série à 9600 bauds. Pour vérifier que le capteur réagit, soufflez dessus comme sur une vitre froide : l’humidité doit grimper en quelques secondes avant de redescendre.
Pourquoi le moniteur série affiche « nan »
« nan » signifie que la bibliothèque n’a reçu aucune trame valide. Quatre causes expliquent la grande majorité des cas, et se testent dans cet ordre.
| Symptôme | Cause probable | Correction |
|---|---|---|
| nan en continu | Mauvais fil de données | Vérifier la broche déclarée dans le programme |
| nan en continu | Résistance de rappel absente | Ajouter 4,7 à 10 kΩ entre données et plus |
| valeurs impossibles | Type déclaré DHT22 au lieu de DHT11 | Corriger la constante du type |
| nan par intermittence | Lecture trop rapide | Espacer à 2 secondes ou plus |
Si les quatre points sont vérifiés et que le résultat reste « nan », changez de broche numérique et de câble de liaison : une plaque d’essai usée ou un fil Dupont cassé donne exactement les mêmes symptômes.
DHT11 ou DHT22 : lequel choisir ?
Le DHT22 se reconnaît à son boîtier blanc. Selon le guide d’Adafruit, il couvre l’humidité de 0 à 100 % avec une précision de 2 à 5 %, mais ne se lit qu’une fois toutes les deux secondes, contre une par seconde pour le DHT11. Il est aussi un peu plus gros.
Pour surveiller un local où l’humidité reste entre 20 et 80 %, le DHT11 suffit. Pour une cave très humide, une sortie de salle de bains ou un air très sec, le DHT22 évite les valeurs bloquées aux bornes de la plage. Dans le programme, un seul mot change : la constante de type.
Les limites à connaître avant de s’y fier
Le DHT11 mesure lentement. Une mesure par seconde au mieux, et un boîtier qui met du temps à se mettre à l’équilibre : il ne suit donc pas un changement brutal de température.
Il ne sait pas mesurer sous zéro. Placé dehors en hiver, il renvoie des valeurs fausses ou aucune valeur, ce qui exclut l’usage en station météo extérieure sans abri chauffé. Son erreur de 2 °C empêche aussi de piloter un thermostat précis.
Quand la précision compte, les capteurs de la série BME de Bosch mesurent température, humidité et pression avec de meilleures performances, au prix d’une liaison I2C. Pour la suite du parcours, la carte Arduino Nano reprend le même montage dans un format compact, et la rubrique composants et capteurs regroupe les autres capteurs de base.
Questions fréquentes
Quelle bibliothèque utiliser pour un DHT11 sur Arduino ?
La bibliothèque « DHT sensor library » d’Adafruit, installable depuis le gestionnaire de bibliothèques de l’IDE. Elle gère le DHT11, le DHT22 et le DHT21, avec la bibliothèque « Adafruit Unified Sensor » en complément.
Faut-il une résistance avec le DHT11 ?
Une résistance de rappel de 4,7 à 10 kΩ entre la broche de données et le plus d’alimentation est nécessaire. Beaucoup de cartes à trois broches l’ont déjà soudée ; un composant nu à quatre broches ne l’a pas.
Quelle broche de l’Arduino pour le DHT11 ?
N’importe quelle broche numérique libre. Il suffit que le numéro indiqué dans le programme corresponde au fil de données réellement branché.
Le DHT11 fonctionne-t-il en 3,3 V ?
Oui, il s’alimente de 3 à 5,5 V. Sur un ESP32, on l’alimente en 3,3 V pour que le signal de données reste compatible avec la puce.
Pourquoi mon DHT11 affiche-t-il toujours la même valeur ?
Le capteur ne mesure qu’une fois par seconde au plus et réagit lentement. Vérifiez aussi que la lecture n’est pas lancée trop souvent et soufflez dessus pour contrôler qu’il réagit.
Peut-on utiliser un DHT11 dehors ?
Pas en dessous de 0 °C, plage basse de ses mesures. Il lui faut en outre un abri contre la pluie et le soleil direct.
Branchez votre capteur, chargez le programme ci-dessus et laissez le moniteur série ouvert dix minutes. Comparez ensuite avec un thermomètre de la même pièce : un écart d’un ou deux degrés est normal, un écart plus grand signale un défaut de câblage ou un capteur à remplacer.
Adafruit Learning System, DHT11, DHT22 and AM2302 Sensors : plages, précision et fréquence de lecture des DHT11 et DHT22. Relevé le 12 novembre 2026.
Technicien en électronique, encadrant de club robotique — qui écrit ici.