Arduino - DHT22 - LCD
Nous apprendrons à programmer Arduino pour lire la température et l'humidité à partir du module DHT22 et les afficher sur un LCD I2C.
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
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 DHT22 et de l'écran LCD
Si vous ne connaissez pas le capteur DHT22 et l'écran LCD (brochage, fonctionnement, programmation...), renseignez-vous à leur sujet dans les tutoriels suivants :
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Code Arduino - Capteur DHT22 - LCD I2C
/*
* 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-dht22-lcd
*/
#include <LiquidCrystal_I2C.h>
#include "dht22.h"
#define DHT22_PIN 2
LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows
DHT dht22(DHT22_PIN, DHT22);
void setup()
{
dht22.begin(); // initialize the sensor
lcd.init(); // initialize the lcd
lcd.backlight(); // open the backlight
}
void loop()
{
delay(2000); // wait a few seconds between measurements
float humi = dht22.readHumidity(); // read humidity
float tempC = dht22.readTemperature(); // read temperature
lcd.clear();
// check if any reads failed
if (isnan(humi) || isnan(tempC)) {
lcd.setCursor(0, 0);
lcd.print("Failed");
} else {
lcd.setCursor(0, 0); // start to print at the first row
lcd.print("Temp: ");
lcd.print(tempC); // print the temperature
lcd.print((char)223); // print ° character
lcd.print("C");
lcd.setCursor(0, 1); // start to print at the second row
lcd.print("Humi: ");
lcd.print(humi); // print the humidity
lcd.print("%");
}
}
※ NOTE THAT:
L'adresse I2C de l'écran LCD peut varier selon les fabricants. Dans le code, nous avons utilisé 0x27 qui est spécifié par le fabricant DIYables.
Étapes rapides
- Connectez Arduino à l'ordinateur 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.
- On vous demandera d'installer d'autres bibliothèques dépendantes
- Cliquez sur le bouton Install All pour toutes les dépendances de la bibliothèque.
- Recherchez « LiquidCrystal I2C », puis trouvez la bibliothèque LiquidCrystal_I2C de Frank de Brabander
- Cliquez sur le bouton Install pour installer la bibliothèque LiquidCrystal_I2C.
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
- Cliquez sur le bouton Upload de l'IDE Arduino pour charger le code sur Arduino
- Rendez l'environnement autour du capteur plus chaud ou plus froid
- Observez le résultat sur l'écran LCD
Si l'écran LCD n'affiche rien, consultez Dépannage sur LCD I2C