ESP32 S3 - DHT22

Apprenez à utiliser l'ESP32 S3 avec un capteur DHT22 pour mesurer la température et l'humidité. Ce tutoriel adapté aux débutants couvre à la fois le capteur DHT22 brut et la version module pratique, avec des schémas de câblage complets et des exemples de code prêts à téléverser.

Ce que vous allez construire :

  1. Un circuit fonctionnel connectant un capteur ou un module DHT22 à l'ESP32 S3
  2. Un firmware qui lit la température en Celsius et en Fahrenheit ainsi que l'humidité relative
  3. Un flux en direct sur le Serial Monitor affichant des relevés environnementaux en temps réel
  4. Une base que vous pouvez étendre en stations météo, capteurs de maison intelligente, et plus encore
ESP32 S3 - DHT22

À propos du capteur de température et d'humidité DHT22

Le DHT22 est un capteur numérique de température et d'humidité qui fournit des relevés environnementaux fiables et calibrés via une interface à fil unique, ce qui en fait l'un des choix les plus populaires pour les projets ESP32 S3. Il fonctionne entre 3,3 V et 5 V, donc il s'intègre directement à l'ESP32 S3 sans convertisseur de niveau. Le capteur échantillonne son environnement toutes les deux secondes et rapporte les deux valeurs en un seul cycle de lecture.

Spécifications clés

Le DHT22 fonctionne avec une tension d'alimentation de 3 V à 5 V, ce qui le rend totalement compatible avec le rail 3,3 V de l'ESP32 S3. La mesure d'humidité couvre 0 % à 100 % avec une précision de ±2 % à 5 %. La mesure de température couvre -40 °C à 80 °C avec une précision de ±0,5 °C. Le capteur se met à jour à un taux maximal de 0,5 Hz, ce qui signifie qu'un nouveau relevé est disponible toutes les deux secondes.

DHT22
Tension de fonctionnement3 à 5V
La plage d'humidité 0% à 100%
La précision d'humidité ± 2% à 5%
La plage de température -40°C à 80°C
La précision de température ± 0,5°C
Le taux de lecture 0,5Hz (une fois toutes les 2 secondes)

Brochage du DHT22

Le DHT22 est disponible en capteur brut à quatre broches et en module pré-assemblé à trois broches qui inclut une résistance de pull-up intégrée.

DHT22 sensor module Pinout

Broches du capteur DHT22 brut (4 broches) :

  1. Broche GND : connectez à GND (0 V)
  2. Broche VCC : connectez à VCC (3,3 V ou 5 V)
  3. Broche DATA : broche de communication entre le capteur et l'ESP32 S3
  4. Broche NC : non connectée — laissez-la déconnectée

Broches du module DHT22 (3 broches) :

  1. VCC (ou +) : connectez à 3,3 V ou 5 V
  2. GND (ou -) : connectez à GND
  3. DATA (ou OUT) : broche de communication vers l'ESP32 S3

Schéma de câblage entre le DHT22 et l'ESP32 S3

Connecter le DHT22 à votre ESP32 S3 ne demande que quelques fils et, si vous utilisez le capteur brut, une résistance de pull-up externe. Avec la version module, la résistance de pull-up est déjà intégrée, ce qui fait du module l'option la plus simple pour les débutants.

Notes de sécurité

Alimentez toujours le DHT22 depuis la broche 3,3 V de l'ESP32 S3 plutôt que depuis un rail 5 V externe, sauf si vous avez vérifié la capacité de conversion de niveau de votre module spécifique. Gardez la piste ou le fil de câblage de la ligne DATA court pour éviter le bruit sur ce bus à fil unique. Lorsque vous utilisez le capteur brut, la résistance de pull-up de 10 kΩ entre DATA et VCC n'est pas optionnelle — l'omettre produira des lectures échouées ou aucune donnée du tout.

Câblage ESP32 S3 - Capteur DHT22

ESP32 S3 DHT22 Temperature and humidity Sensor Wiring Diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Broche du capteur DHT22 Broche ESP32 S3
VCC 3,3V ou 5V
GND GND
DATA GPIO20
Résistance 10kΩ Entre DATA et VCC

Câblage ESP32 S3 - Module DHT22

Le module DHT22 simplifie le câblage en incluant la résistance de pull-up en interne — aucune résistance externe n'est nécessaire.

ESP32 S3 DHT22 Temperature and humidity Module Wiring Diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Broche du module DHT22 Broche ESP32 S3
VCC (ou +) 3,3V ou 5V
GND (ou -) GND
DATA (ou OUT) GPIO20

Code ESP32 S3 - DHT22

Le code suivant initialise le DHT22 sur GPIO20, puis entre dans une boucle qui demande un nouveau relevé toutes les deux secondes, convertit la température brute en Celsius et en Fahrenheit, et affiche les trois valeurs sur le Serial Monitor dans une ligne formatée. Une vérification d'erreur est incluse, de sorte que le programme affiche un message d'échec clair plutôt que de générer silencieusement des valeurs erronées si le capteur ne répond pas.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-dht22 */ #include <DHT.h> #define DHT22_PIN 20 // The ESP32 S3 pin GPIO20 connected to DHT22 sensor DHT dht22(DHT22_PIN, DHT22); void setup() { Serial.begin(115200); dht22.begin(); // initialize the DHT22 sensor } void loop() { // read humidity float humi = dht22.readHumidity(); // read temperature in Celsius float temperature_C = dht22.readTemperature(); // read temperature in Fahrenheit float temperature_F = dht22.readTemperature(true); // check whether the reading is successful or not if ( isnan(temperature_C) || isnan(temperature_F) || isnan(humi)) { Serial.println("Failed to read from DHT22 sensor!"); } else { Serial.print("Humidity: "); Serial.print(humi); Serial.print("%"); Serial.print(" | "); Serial.print("Temperature: "); Serial.print(temperature_C); Serial.print("°C ~ "); Serial.print(temperature_F); Serial.println("°F"); } // wait a 2 seconds between readings delay(2000); }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Préparez le câblage : connectez le capteur ou le module DHT22 à votre ESP32 S3 selon le schéma de câblage ci-dessus.
  3. Connectez à l'ordinateur : branchez l'ESP32 S3 à votre ordinateur avec un câble USB Type-C.
  4. Ouvrez Arduino IDE : lancez Arduino IDE sur votre ordinateur.
  5. Sélectionnez votre carte : choisissez ESP32 S3 dans le sélecteur de carte et sélectionnez le bon port COM.
  6. Installez la bibliothèque DHT : cliquez sur l'icône Library Manager dans la barre latérale gauche d'Arduino IDE.
  7. Recherchez la bibliothèque : tapez "DHT" dans le champ de recherche et trouvez la bibliothèque DHT sensor d'Adafruit.
  8. Installez la bibliothèque : cliquez sur le bouton Install à côté de la bibliothèque Adafruit DHT.
  • Search for DHT sensor library created by Adafruit and click the Install button.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Library Manager
Type:
All
Topic:
All
DHT sensor library by Adafruit
Arduino library for DHT11, DHT22, etc Temp & Humidity Sensors More info
1.4.6
INSTALL
Newbiely.ino
···
1 void setup() {
Output
Serial Monitor
Ln 1, Col 1
ESP32S3 Dev Module on COM15
1
  1. Installez les dépendances : lorsque demandé, cliquez sur Install All pour installer toutes les dépendances nécessaires (y compris la bibliothèque Adafruit Unified Sensor).
ESP32 S3 Adafruit Unified sensor library
  1. Téléversez le code : copiez le code ci-dessus, collez-le dans Arduino IDE, et cliquez sur le bouton Upload.
  2. Testez le capteur : essayez de changer la température autour du DHT22 (placez-le près d'une tasse chaude ou utilisez un ventilateur pour le refroidir).
  3. Consultez les relevés : ouvrez le Serial Monitor (réglé sur 115200 bauds) pour voir les relevés de température et d'humidité en direct.
  4. Astuce pro : attendez au moins 2 secondes entre les lectures — le capteur DHT22 se met à jour à un taux maximal de 0,5 Hz, donc l'interroger plus vite renverra simplement la même valeur en cache ou une erreur de lecture.

Sortie du Serial Monitor

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-06-16 09:01:02] Humidity: 51.30% | Temperature: 24.10°C ~ 75.38°F [2026-06-16 09:01:04] Humidity: 51.10% | Temperature: 24.20°C ~ 75.56°F [2026-06-16 09:01:06] Humidity: 50.80% | Temperature: 24.30°C ~ 75.74°F [2026-06-16 09:01:08] Humidity: 50.50% | Temperature: 24.50°C ~ 76.10°F
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Applications et idées de projets

L'ESP32 S3 et le DHT22 forment une combinaison puissante pour tout projet nécessitant une détection environnementale précise et à faible coût. Voici des façons concrètes de mettre ce circuit au travail :

  1. Station météo domestique : surveillez la température et l'humidité intérieures avec une journalisation continue des données sur une carte microSD ou un tableau de bord cloud.
  2. Contrôleur de serre intelligente : déclenchez automatiquement des ventilateurs ou des brumisateurs selon les relevés d'humidité en direct.
  3. Moniteur de confort : envoyez une notification ou faites sonner un buzzer quand les conditions de la pièce sortent d'une plage confortable.
  4. Surveillance de salle serveur : suivez la température en continu pour détecter une surchauffe avant que l'équipement soit endommagé.
  5. Thermostat DIY : combinez avec un relais pour construire un système de contrôle de température intelligent pour n'importe quelle pièce.
  6. Moniteur d'habitat pour animaux : assurez-vous que les reptiles ou autres animaux sensibles à l'humidité ont toujours des conditions optimales.
  7. Suivi de la qualité de l'air intérieur : associez avec des capteurs de CO₂ ou de COV pour construire un moniteur environnemental complet.

Tutoriel vidéo

Regardez la vidéo pas à pas de ce projet ESP32 S3 ci-dessous.

Mettez-vous au défi

Maintenant que votre ESP32 S3 lit de façon fiable les données de température et d'humidité, poussez le projet plus loin avec ces défis progressivement plus difficiles :

  1. Débutant : ajoutez une LED qui s'allume quand la température dépasse 25 °C et s'éteint quand elle descend en dessous de 23 °C, en implémentant une bande d'hystérésis simple.
  2. Débutant : affichez un avertissement "Too Humid" sur le Serial Monitor lorsque l'humidité dépasse 70 %.
  3. Intermédiaire : enregistrez les relevés de température et d'humidité sur une carte SD avec des horodatages ISO 8601 obtenus depuis un serveur NTP via WiFi.
  4. Intermédiaire : publiez les relevés sur un broker MQTT toutes les 30 secondes afin qu'un tableau de bord Home Assistant puisse afficher des graphiques en direct.
  5. Avancé : construisez un serveur web sur l'ESP32 S3 qui affiche un graphique de température et d'humidité en temps réel dans le navigateur en utilisant Chart.js.
  6. Avancé : déployez deux capteurs DHT22 sur des broches GPIO différentes pour surveiller deux pièces simultanément et comparer les relevés dans un seul flux de sortie du Serial Monitor.

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !