Arduino Nano ESP32 - Capteur de température et d'humidité

Ce tutoriel fournit des instructions sur comment utiliser Arduino Nano ESP32 pour lire les valeurs de température et d'humidité à partir des capteurs DHT11 ou DHT22, et les afficher sur le moniteur série.

Préparation du matériel

1×Arduino Nano ESP32
1×USB Cable Type-C
1×Temperature and Humidity Sensor DHT11
1×(Optional) Temperature and Humidity Sensor DHT22
1×10 kΩ resistor
1×Breadboard
1×Jumper Wires
1×(Optional) DC Power Jack
1×(Recommended) Screw Terminal Adapter for Arduino Nano

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos des capteurs de température et d'humidité DHT11 et DHT22

En résumé, le capteur DHT22 est plus précis, possède une plus grande plage de mesure mais est plus cher que le DHT11. Voyons les points communs et les différences entre eux.

Les communs

  • Le même brochage
  • Le même câblage pour Arduino Nano ESP32
  • Un code similaire pour Arduino Nano ESP32

Les différences

Le tableau ci-dessous montre les différences détaillées entre le DHT11 et le DHT22 :

DHT22 DHT11
The price low cost ultra low cost
The humidity range 0% to 100% 20% to 80%
The humidity accuracy ± 2% to 5% 5%
The temperature range -40°C to 80°C 0°C to 50°C
The temperature accuracy ± 0.5°C ± 2°C
The reading rate 0.5Hz (one time per 2 seconds) 1Hz (one time per second)
Dimension 15.1mm x 25mm x 7.7mm 15.5mm x 12mm x 5.5mm
Operating Voltage3 to 5V 3 to 5V

Brochage DHT11 et DHT22

Le capteur DHT11 et DHT22 comprend 4 broches :

  • Broche GND : connectez cette broche à GND (0V)
  • Broche VCC : connectez cette broche à VCC (3,3V ou 5V)
  • Broche DATA : la broche est utilisée pour communiquer entre le capteur et l'Arduino Nano ESP32
  • Broche NC : Non connectée
Capteur de température et d'humidité DHT11 et DHT22 Brochage

Nous vous recommandons vivement d'utiliser les modules de capteurs DHT11 et DHT22. Les modules disposent d'une résistance intégrée et n'ont que trois broches : VCC, GND et broches DATA (ou alternativement : +, - et broches OUT).

Module de température et d'humidité DHT11 et DHT22 Brochage
image source: diyables.io

L'ordre des broches sur le module peut varier selon les fabricants. Veuillez vérifier attentivement les étiquettes des broches imprimées sur le module.

Schéma de câblage entre DHT11/DHT22 et Arduino Nano ESP32

Le câblage de l'Arduino Nano ESP32 est le même pour les deux capteurs. Sous forme originale, une résistance de 5K à 10K Ohms est nécessaire pour maintenir la ligne de données haute et permettre la communication entre le capteur et l'Arduino Nano ESP32.

Câblage du capteur DHT11 avec Arduino Nano ESP32

Schéma de câblage du capteur de température et d'humidité Arduino Nano ESP32 DHT11

This image is created using Fritzing. Click to enlarge image

Câblage du capteur DHT22 avec Arduino Nano ESP32

Schéma de câblage du capteur de température et d'humidité Arduino Nano ESP32 DHT22

This image is created using Fritzing. Click to enlarge image

Câblage du module DHT11 avec Arduino Nano ESP32

La plupart des modules de capteur DHT22 comportent une résistance intégrée, vous n'avez donc pas besoin de l'ajouter. Cela nous évite quelques travaux de câblage ou de soudure.

Schéma de câblage du module de température et d'humidité Arduino Nano ESP32 DHT11

This image is created using Fritzing. Click to enlarge image

Câblage du module Arduino Nano ESP32 - DHT22

La plupart des modules de capteur DHT22 ont une résistance intégrée, vous n'avez donc pas besoin de l'ajouter. Cela nous évite quelques travaux de câblage ou de soudure.

Schéma de câblage du module de température et d'humidité Arduino Nano ESP32 DHT22

This image is created using Fritzing. Click to enlarge image

Code Arduino Nano ESP32 - DHT11

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano ESP32 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/arduino-nano-esp32/arduino-nano-esp32-temperature-humidity-sensor */ #include <DHT.h> #define DHT_SENSOR_PIN D3 // The Arduino Nano ESP32 pin D31 connected to DHT11 sensor #define DHT_SENSOR_TYPE DHT11 DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(9600); dht_sensor.begin(); // initialize the DHT sensor } void loop() { // read humidity float humi = dht_sensor.readHumidity(); // read temperature in Celsius float temperature_C = dht_sensor.readTemperature(); // read temperature in Fahrenheit float temperature_F = dht_sensor.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 DHT 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); }

Code Arduino Nano ESP32 - DHT22

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano ESP32 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/arduino-nano-esp32/arduino-nano-esp32-temperature-humidity-sensor */ #include <DHT.h> #define DHT_SENSOR_PIN D3 // The Arduino Nano ESP32 pin D31 connected to DHT22 sensor #define DHT_SENSOR_TYPE DHT22 DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(9600); dht_sensor.begin(); // initialize the DHT sensor } void loop() { // read humidity float humi = dht_sensor.readHumidity(); // read temperature in Celsius float temperature_C = dht_sensor.readTemperature(); // read temperature in Fahrenheit float temperature_F = dht_sensor.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 DHT 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); }

Les deux codes ci-dessus ont seulement une ligne de différente.

Étapes rapides

Pour commencer avec Arduino Nano ESP32, suivez ces étapes :

  • Si vous êtes nouveau avec l'Arduino Nano ESP32, consultez le tutoriel sur comment configurer l'environnement pour l'Arduino Nano ESP32 dans l'IDE Arduino.
  • Câblez les composants selon le schéma fourni.
  • Connectez la carte Arduino Nano ESP32 à votre ordinateur à l'aide d'un câble USB.
  • Lancez l'IDE Arduino sur votre ordinateur.
  • Sélectionnez la carte Arduino Nano ESP32 et son port COM correspondant.
  • Ouvrez le Gestionnaire de Bibliothèques en cliquant sur l'icône Gestionnaire de bibliothèques dans la barre de navigation gauche de l'IDE Arduino
  • Tapez "Adafruit DHT" dans la boîte de recherche, puis recherchez la bibliothèque de capteurs DHT par Adafruit
  • Installez la bibliothèque en cliquant sur le bouton Install.
Bibliothèque de capteur DHT Arduino Nano ESP32
  • Une fenêtre peut apparaître pour vous demander d'installer les dépendances pour la bibliothèque
  • Installez toutes les dépendances de la bibliothèque en cliquant sur le bouton Install All.
Bibliothèque de capteurs unifiée Arduino Nano ESP32 Adafruit
  • Copiez l'un des codes ci-dessus et ouvrez-le avec l'IDE Arduino
  • Compilez et téléchargez le code sur la carte Arduino Nano ESP32 en cliquant sur le bouton Upload de l'IDE Arduino
  • Rendez le capteur plus froid ou plus chaud. Par exemple, en plaçant le capteur près d'une tasse de café chaud
  • Vérifiez le résultat sur le moniteur série. Cela ressemble à ce qui suit :.
COM6
Send
Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 32.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F Humidity: 32.00% | Temperature: 29.00°C ~ 84.20°F Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!