Arduino, Tutoriels

Comment utiliser DHT11 capteur de température et humidité avec Arduino

Dht11 Capteur De Température Et Humidité Avec Arduino

Description

Le capteur DHT11 est un capteur de température et d’humidité populaire utilisé avec les microcontrôleurs tels qu’Arduino UNO. Il est facile à utiliser et peut être utilisé pour mesurer la température et l’humidité dans une variété de projets, tels que les systèmes de contrôle de l’environnement, les systèmes de surveillance de la météo et les systèmes de contrôle de la qualité de l’air.

Dht11 Capteur De Température Et Humidité

Les broches du capteur

DHT11 possède 4 broches qui permettent de connecter le capteur à un Arduino ou à tout autre dispositif électronique. Les broches sont :

  1. VCC : C’est la broche d’alimentation qui doit être connectée à une source de tension de 3 à 5V pour alimenter le capteur.
  2. Data : C’est la broche de communication qui est utilisée pour envoyer les données de température et d’humidité au dispositif connecté. Il est important de connecter une résistance entre cette broche et VCC pour assurer une bonne communication.
  3. NC : C’est la broche non connectée qui n’a pas de fonction particulière et peut être laissée ouverte.
  4. GND : C’est la broche de masse qui doit être connectée à la masse du dispositif connecté pour assurer une bonne connexion électrique.

Principe du fonctionnement

DHT11 utilise une technologie capacitive pour mesurer l’humidité relative dans l’air. Il comporte une électrode qui est exposée à l’air ambiant, qui est reliée à un circuit électronique intégré. Lorsque l’air est plus humide, l’électrode est recouverte d’une couche d’eau qui augmente la capacité de l’électrode. Le circuit électronique intégré mesure cette capacité et calcule l’humidité relative en fonction de cette mesure.

Pour mesurer la température, le DHT11 utilise un thermistor, qui est un composant qui a une résistance qui varie en fonction de la température. Le circuit électronique intégré mesure la résistance du thermistor et calcule la température en utilisant une courbe de température calibrée.

Les données de température et d’humidité sont ensuite transmises à l’Arduino via un signal numérique sur un seul fil, qui peut être lu par la bibliothèque DHT11 pour obtenir les lectures de température et d’humidité

Branchement

  1. Connectez la broche de données du capteur DHT11 à la broche numérique 2 sur l’Arduino.
  2. Connectez la broche VCC (alimentation électrique) du capteur DHT11 à la broche 5V sur l’Arduino.
  3. Enfin, connectez la broche GND (masse) du capteur DHT11 à la broche GND sur l’Arduino

Dht11 Capteur De Température Et Humidité Avec Arduino

Code

#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
float temp;
float hum;
  • Ajoutez ensuite le code pour initialiser le capteur et lire les données de température et d’humidité :
void setup() {
Serial.begin(9600);
dht.begin();
}

void loop() {
  hum = dht.readHumidity();
  temp = dht.readTemperature();
  if (isnan(hum) || isnan(temp)) {
    Serial.println("Error reading from DHT sensor!");
    return;
  }
  Serial.print("Humidity: ");
  Serial.print(hum);
  Serial.print("%\t");
  Serial.print("Temperature: ");
  Serial.print(temp);
  Serial.println(" *C");
  delay(2000);
}
  • Téléversez le code sur votre Arduino et ouvrez le moniteur série pour voir les lectures de température et d’humidité. Vous devriez voir des lectures mises à jour toutes les 2 secondes.

Explication du code

  • Ligne 1: Il importe la bibliothèque DHT qui contient les fonctions nécessaires pour lire les données du capteur DHT11.
  • Ligne 2: Il définit le numéro de pin où le capteur DHT11 est connecté, en utilisant la constante DHTPIN. Dans ce cas, le capteur est connecté au pin 2 de l’Arduino.
  • Ligne 3: Il définit le type de capteur utilisé, en utilisant la constante DHTTYPE. Dans ce cas, le capteur utilisé est un DHT11.
  • Ligne 4:Il crée un objet DHT nommé “dht” en utilisant les constantes DHTPIN et DHTTYPE. Cet objet sera utilisé pour lire les données du capteur.
  • Les deux lignes suivantes définissent les variables “temp” et “hum” qui seront utilisées pour stocker les lectures de température et d’humidité.
  • La fonction “setup()” est exécutée une seule fois au démarrage de l’Arduino. Elle initialise la communication série à une vitesse de 9600 bauds et initialise le capteur DHT11 en appelant la fonction “dht.begin()”.
  • La fonction “loop()” est exécutée en boucle continuellement après le démarrage de l’Arduino. Elle lit les données de température et d’humidité en appelant les fonctions “dht.readHumidity()” et “dht.readTemperature()” et les stocke dans les variables “hum” et “temp”, respectivement.
  • La condition “if (isnan(hum) || isnan(temp))” vérifie si les données lues sont valides. Si les données ne sont pas valides, un message d’erreur est envoyé via la communication série. Sinon, les données de température et d’humidité sont envoyées via la communication série en utilisant les fonctions “Serial.print()” et “Serial.println()”.
  • La dernière ligne de code “delay(2000);” crée un délai de 2 secondes entre chaque lecture, pour éviter de surcharger la communication série.

Des liens outilles

La fiche technique du DHT11 : https://www.makerguides.com/wp-content/uploads/2019/02/DHT11-Datasheet.pdf

Pour l’achat des produits :

Arduino Uno : https://www.moussasoft.com/wp-admin/post.php?post=1782&action=edit

Capteur de température et humidité avec Arduino : https://www.moussasoft.com/produit/dht11-capteur-de-temperature-et-humidite