Arduino - DHT11

Dans ce tutoriel, nous allons apprendre :

Préparation du matériel

1×Arduino Uno R3
1×Câble USB 2.0 type A/B (pour PC USB-A)
1×Câble USB 2.0 type C/B (pour PC USB-C)
1×DHT11 Module
1×10 kΩ Resistor
1×Plaque d'essai
1×Fils de connexion
1×Optionnel: 9V Power Adapter for Arduino
1×Recommandé: Shield à bornier à vis pour Arduino Uno
1×Recommandé: Shield plaque d'essai pour Arduino Uno
1×Recommandé: Boîtier pour Arduino Uno
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Arduino Uno

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables STEM V3 (Arduino inclus)
1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
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é DHT11

DHT11
Operating Voltage3 to 5V
Temperature Range 0°C to 50°C
Temperature Accuracy ± 2°C
Humidity Range 20% to 80%
Humidity Accuracy 5%
Reading Rate 1Hz (once every second)

Brochage

Le DHT11 existe sous deux formes : capteur et module.

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

Le capteur DHT11 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 DHT11 a 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 DHT11 sous forme de module avec trois broches : GND, VCC et DATA (ou alternativement : -, + et OUT).

Diagramme de câblage

Dans sa forme de capteur, 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 DHT11 et l'Arduino.

Arduino - Câblage du capteur DHT11

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

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

Câblage du module Arduino - DHT11

La plupart des modules de capteur DHT11 sont équipés d'une résistance intégrée, vous n'avez donc 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 DHT11

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

Comment programmer le capteur de température DHT11

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

  • Inclure la bibliothèque :
#include "DHT.h"
  • Définissez la broche Arduino connectée au capteur DHT :
#define DHT11_PIN 2
  • Déclarer l'objet DHT11
DHT dht11(DHT11_PIN, DHT11);
  • Initialisez le capteur :
dht11.begin();
  • Lire l'humidité :
float humi = dht11.readHumidity();
  • Température lue en Celsius :
float tempC = dht11.readTemperature();
  • Lire la température en Fahrenheit :
float tempF = dht11.readTemperature(true);

Code Arduino - DHT11

/* * 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-dht11 */ #include "DHT.h" #define DHT11_PIN 2 DHT dht11(DHT11_PIN, DHT11); void setup() { Serial.begin(9600); dht11.begin(); // initialize the sensor } void loop() { // wait a few seconds between measurements. delay(2000); // read humidity float humi = dht11.readHumidity(); // read temperature as Celsius float tempC = dht11.readTemperature(); // read temperature as Fahrenheit float tempF = dht11.readTemperature(true); // check if any reads failed if (isnan(humi) || isnan(tempC) || isnan(tempF)) { Serial.println("Failed to read from DHT11 sensor!"); } else { Serial.print("DHT11# 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'IDE Arduino, sélectionnez la bonne carte et le bon port
  • Naviguez vers l'icône Libraries sur la barre gauche de l'IDE Arduino.
  • 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 capteur 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 des bibliothèques.
Bibliothèque de capteurs unifiée Adafruit Arduino
  • Copiez le code ci-dessus correspondant au capteur que vous possédez et ouvrez-le avec Arduino IDE.
  • Cliquez sur le bouton Upload de l'Arduino IDE pour charger le code sur l'Arduino.
  • Rendez l'environnement autour du capteur plus chaud ou plus froid.
  • Consultez le résultat sur le moniteur série.
COM6
Send
DHT11# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT11# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT11# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT11# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT11# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT11# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT11# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT11# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT11# Humidity: 32.00% | Temperature: 28.00°C ~ 82.40°F DHT11# Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F DHT11# Humidity: 32.00% | Temperature: 29.00°C ~ 84.20°F DHT11# Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

※ 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 !