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) :
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
- Arduino Uno (Disponible ici)
- DHT22 (Disponible ici)
- Des Jumpers (Disponible ici)
- Une Breadboard (Disponible ici)
- Un Potentiomètre (Disponible ici)
- Un écran (Disponible ici)
Montage de l’Arduino avec le capteur de température
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);
}