Publié le 16 juillet 2019, modifié le 29 mars 2023 par Stéphane Robert

Dans ce tutoriel nous allons voir ensemble comment mesurer la température et le taux d’humidité avec le capteur AM2302 de type DHT22 et afficher un écran LCD 16×2 (HD44780) a l’aide bien sur d’un Arduino.

Vous pouvez utiliser le capteur d’humidité / de température DHT22 et la carte Arduino UNO pour lire des données et les afficher sur un écran LCD ou les imprimer sur le moniteur série . Dans notre cas, j’ai choisi la version du LCD.

Les capteurs de température et d’humidité AM2302 DHT11 et DHT22

Il faut savoir qu’il existe deux modéle du capteur AM2302 le DHT22 (Blanc) et le DHT11 (Bleu) :

Comment mesurer température et taux d'humidité avec Arduino + AM2302 DHT22 et les afficher sur écran LCD ?

J’ai choisi le DHT22 plutôt que le DHT11 parce qu’il a une plage de mesure plus large, de 0 à 100  pour l’humidité et de -40 ° C à + 125 ° C pour la température. En outre, il dispose d’une sortie numérique (bus unique) qui offre une précision accrue des données.

Passons maintenant à la pratique.

Matériel nécessaire pour mesurer la température avec un Arduino

Montage de l’Arduino avec le capteur de température

Comment mesurer température et taux d'humidité avec Arduino + AM2302 DHT22 et les afficher sur écran LCD ? #2

Code pour afficher la température avec un Arduino

Vu le Montage tout cela semble difficile a coder, mais détromper vous c’est très facile il suffit juste de lire le commentaire associer a chaque ligne pour comprendre l’utilité de chaque fonction ou paramètre.

// Le Capteur
#include "DHT.h"
#define DHTPIN 3 // broche ou l'on a branche le capteur
#define DHTTYPE DHT22 // préciser le modéle de notre capteur
DHT dht(DHTPIN, DHTTYPE);//déclaration du capteur 
// lécran 
#include 
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // déclaration des pins du LCD
void setup()
{
 // initialise le nombre de caractères et de lignes du LCD
 lcd.begin(16, 2);  
 dht.begin();
}
void loop()
{
 delay(2000);
 
 // La lecture du capteur prend 250ms
 // Les valeurs lues peuvet etre vieilles de jusqu'a 2 secondes (le capteur est lent)
 float h = dht.readHumidity(); //Lecture du taux d'humidité
 float t = dht.readTemperature(); //Lecture de la température en degrée Celsius

 //Affichages :
// Ligne 1:
lcd.setCursor(0, 0); // positionne le curseur à la colonne 1 et à la ligne 1  
lcd.print("Humidite: "); 
lcd.setCursor(10, 0);
lcd.print(h);
lcd.setCursor(15, 0);
lcd.print("%");

// Ligne 2:   
lcd.setCursor(0, 1); // positionne le curseur à la colonne 1 et à la ligne 2  
lcd.print("Temp: "); 
lcd.setCursor(10, 1);
lcd.print(t);
}

Vidéo explicative

Catégories : ArduinoProgrammer un Arduino

Stéphane Robert

Stéphane Robert