Arduino - DHT22

Dans ce tutoriel, nous allons apprendre :

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×DHT22 Module
1×10 kΩ resistor
1×Breadboard
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

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 du capteur de température et d'humidité DHT22

DHT22
Temperature Range -40°C to 80°CW
Temperature Accuracy ± 0.5°C
Humidity Range 0% to 100%
Humidity Accuracy ± 2 to 5%
Reading Rate 0.5Hz (once every 2 seconds)
Operating Voltage3 to 5V

Schéma de brochage

Le DHT22 existe sous deux formes : capteur et module.

Capteur de température et d'humidité DHT22 Brochage

Le capteur DHT22 a quatre broches :

  • Broche GND : doit être connectée à GND (0V)
  • Broche VCC : doit être connectée à VCC (5V ou 3,3V)
  • Broche DATA : la broche est utilisée pour communiquer entre le capteur et l'Arduino
  • Broche NC : Non connectée, nous pouvons ignorer cette broche

Le module DHT22 possède trois broches :

  • Broche GND : doit être connectée à GND (0V)
  • Broche VCC : doit être connectée à VCC (5V, ou 3,3V)
  • Broche DATA : la broche est utilisée pour communiquer entre le capteur et l'Arduino

Certains fabricants fournissent le capteur DHT22 sous forme de module avec trois broches : GND, VCC et DATA (ou alternativement : -, + et OUT).

Diagramme de câblage

Dans la forme de capteur, une résistance de 5K à 10K Ohms est nécessaire pour maintenir la ligne de données haute et afin de permettre la communication entre le capteur DHT22 et l'Arduino.

Câblage du capteur Arduino - DHT22

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

This image is created using Fritzing. Click to enlarge image

Câblage du module Arduino - DHT22

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

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

This image is created using Fritzing. Click to enlarge image

Comment programmer le capteur de température DHT22

La programmation pour les deux capteurs est similaire. Il y a seulement une ligne de code qui diffère.

  • Inclure la bibliothèque :
#include "DHT.h"
  • Définir la broche Arduino connectée au capteur DHT :
#define DHT22_PIN 2
  • Déclarez l'objet DHT22
DHT dht22(DHT22_PIN, DHT22);
  • Initialiser le capteur :
dht22.begin();
  • Lire l'humidité :
float humi = dht22.readHumidity();
  • Lire la température en Celsius :
float tempC = dht22.readTemperature();
  • Lire la température en Fahrenheit :
float tempF = dht22.readTemperature(true);

Code Arduino - DHT22

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino-dht22 */ #include "DHT.h" #define DHT22_PIN 2 DHT dht22(DHT22_PIN, DHT22); void setup() { Serial.begin(9600); dht22.begin(); // initialize the DHT22 sensor } void loop() { // wait a few seconds between measurements. delay(2000); // read humidity float humi = dht22.readHumidity(); // read temperature as Celsius float tempC = dht22.readTemperature(); // read temperature as Fahrenheit float tempF = dht22.readTemperature(true); // check if any reads failed if (isnan(humi) || isnan(tempC) || isnan(tempF)) { Serial.println("Failed to read from DHT22 sensor!"); } else { Serial.print("DHT22# Humidity: "); Serial.print(humi); Serial.print("%"); Serial.print(" | "); Serial.print("Temperature: "); Serial.print(tempC); Serial.print("°C ~ "); Serial.print(tempF); Serial.println("°F"); } }

Étapes rapides

  • Connectez l'Arduino au PC via le câble USB
  • Ouvrez l'Arduino IDE, sélectionnez la bonne carte et le bon port
  • Naviguez jusqu'à l'icône Libraries sur la barre gauche de l'Arduino IDE.
  • Recherchez "DHT", puis trouvez la bibliothèque de capteurs DHT par Adafruit
  • Cliquez sur le bouton Install pour installer la bibliothèque.
Bibliothèque de capteurs DHT Arduino
  • On vous demandera d'installer d'autres dépendances de bibliothèques
  • Cliquez sur le bouton Install All pour installer toutes les dépendances de la bibliothèque.
Bibliothèque de capteurs unifiée Arduino Adafruit
  • Copiez le code ci-dessus correspondant au capteur que vous avez et ouvrez-le avec Arduino IDE.
  • Cliquez sur le bouton Upload dans Arduino IDE pour téléverser le code sur Arduino.
  • Rendez l'environnement autour du capteur plus chaud ou plus froid.
  • Observez le résultat sur le moniteur série.
COM6
Send
DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 32.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F DHT22# Humidity: 32.00% | Temperature: 29.00°C ~ 84.20°F DHT22# 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!