Module DHT 11, mesurer la température et l’humidité avec Arduino.

Module DHT 11, capteur de la température et de l' humidité
Module DHT 11, capteur de la température et de l' humidité

Dans cet article on va découvrir le fonctionnement du module DHT 11, un dispositif qui mesure la température et l’humidité. On réalisera les connexions nécessaires pour les relier avec la carte Arduino et on pourra voir les différentes mesures enregistrées par le biais d’un écran LCD.

Le capteur DHT 11 nous permet de mesurer ces deux grandeurs. Ce module utilise un pin digital pour renvoyer l’information enregistrée. On peut trouver ce module indépendant avec quatre pins, ou inséré dans un circuit imprimé avec trois pins (PCB, printed circuit board). La version PCB comporte une résistance de 5 kΩ et une led.

Module DHT 11, Capteur de température et humidité
Module DHT 11, Capteur de température et humidité

Les broches du module DHT version PCB sont:

  • GND -> connexion à la masse.
  • DATA -> pour la transmission des données.
  • VCC -> source d’énergie.

Connexion du capteur DHT 11 avec la plaque Arduino.

Il est nécessaire:

  • Carte Arduino UNO ou équivalente.
  • Module DHT 11 inséré dans un circuit imprimé.
  • Cables.

On sait que ce module intègre une résistance, donc pour le montage on a besoin de savoir, tout simplement, l’ordre des broches puisque chaque fabricant peut le changer.

Schéma:

Schéma des connexions entre le module DHT-11 et la plaque Arduino
Connexions entre le module DHT 11 et la carte Arduino

On peut constater que le pin VCC du module est relié a la broche de 5 V de la carte, le GND est relié au GND de la carte et le pin DATA est connecté à l’entrée digital 2 de Arduino.

Code:

#include "DHT.h" 
#define PinCapteur 2   // Pin digital auquel on relie le capteur
#define Type DHT11    // Type de capteur
DHT dht(PinCapteur, Type);

void setup() {
  Serial.begin(9600); 
  dht.begin();
}

void loop(){
  delay(5000);   
  float humidite = dht.readHumidity();
  float temperature = dht.readTemperature();
  Serial.print("Humidité: "); 
  Serial.println(humidite);
  Serial.print("Température:"); 
  Serial.println(temperature);
}

On ajoute la bibliothèque DHT.h. Ensuite, on indique le pin qui recevra l’information (2) et le type de capteur que nous allons utiliser.

#define PinCapteur 2
#define Type DHT11

Nous créons l’objet et entre parenthèse on indique auquel pin est connecté la broche DATA et le modèle de capteur.

DHT dht(PinCapteur, Type);

Dans la fonction setup(), on initialise le moniteur série pour voir les résultats obtenus, et on initialise aussi l’objet dht.

Serial.begin(9600); 
dht.begin();

Dans la fonction loop(), passées cinq secondes, on fait la lecture des données et on utilise les fonctions dht.readHumidity() et dht.readTemperature() pour enregistrer les deux grandeurs.

delay(5000);   
float humidite = dht.readHumidity();
float temperature = dht.readTemperature();

Ensuite, on montre les enregistrements sur l’écran du moniteur série.

Serial.print("Humidité: "); 
Serial.println(humidite);
Serial.print("Température:"); 
Serial.println(temperature);
Lecture de la température et de l'humidité sur le moniteur série
Lecture de la température et de l’humidité sur le moniteur série

Comment montrer la température et l’humidité sur un écran LCD de 16 x 2.

Avant de continuer on vous conseille de lire le post Comment relier l’écran LCD à l’Arduino Uno.

Il est nécessaire:

  • Carte Arduino UNO ou équivalent.
  • Breadboard.
  • Capteur DHT 11.
  • Écran LCD 16 x 2.
  • Cables.
  • Résistance de 220 Ohms.
  • Potentiomètre linéaire de 10K.

Schéma:

Montage des connexions du module DHT 11, l'écran LCD et Arduino
Montage des connexions du module DHT 11, l’écran LCD et Arduino

Pour connecter le module DHT 11: On vérifie l’ordre des broches et on relie le pin VCC à la source d’alimentation de la carte, DATA au pin 2 de la carte et le pin GND au pin GND de Arduino.

Pour connecter l’écran LCD: on connecte le pin VSS à la masse, VDD à la source d’alimentation, VO au pin de sortie du potentiomètre, RS au pin 7 de Arduino, RW à la masse, E au pin 8 de la carte, D4 au pin 9, D5 au pin 10, D6 au 11, D7 au pin 12, A à la source d’énergie et K à la masse.

Code:

#include <LiquidCrystal.h>
#include "DHT.h" 
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
#define Pincapteur 2
#define Type DHT11
DHT dht(PinCapteur, Type); 

void setup() {
  lcd.begin(16, 2);
  dht.begin();
}

void loop() {
  delay(5000);
  float humidite = dht.readHumidity();
  float temperature = dht.readTemperature();
  lcd.clear();
  lcd.setCurseur(0,0);
  lcd.print("Tempér. = ");
  lcd.print(temperature);
  lcd.setCurseur(0,1);
  lcd.print("Humidité = ");
  lcd.print(humidite);
}

On ajoute deux bibliothèques: LiquidCrystal.h et DHT.h. Elles sont nécessaires pour gérer le LCD et le module DHT 11.

#include <LiquidCrystal.h>
#include "DHT.h" 

On indique les pins de la carte que nous avons connectés au LCD.

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

On identifie le pin de la carte qui est connecté au pin des données du module, le type de capteur et nous créons l’objet DHT.

#define PinSensor 2
#define Tipo DHT11
DHT dht(PinSensor, Tipo); 

Dans la fonction setup() on initialise les objets LCD et DHT.

lcd.begin(16, 2);
dht.begin();

Dans la fonction loop(), on indique que nous voulons recevoir les données à travers de l’écran LCD.

delay(5000);
  float humidite = dht.readHumidity();
  float temperature = dht.readTemperature();
  lcd.clear();
  lcd.setCurseur(0,0);
  lcd.print("Tempér. = ");
  lcd.print(temperature);
  lcd.setCurseur(0,1);
  lcd.print("Humidité = ");
  lcd.print(humidite);
Articles similaires
Laisser un commentaire