#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define pinDHT 6
#define typeDHT DHT22
//----- Adressage matériel -----
// En cas de non fonctionnement, mettez la ligne 8 en
// commentaire et retirez le commentaire à la ligne 9.
LiquidCrystal_I2C lcd(0x27, 20, 4);
//LiquidCrystal_I2C lcd(0x3F,20,4);
// Configuration du DHT22
DHT dht(pinDHT, typeDHT);
void setup()
{
lcd.init(); // initialisation de l'afficheur
dht.begin(); // Initialisation du DHT22
}
void loop()
{
//delay(2000); // Délai pour lecture DHT22
// Lecture des données
// dht.readHumidity et dht.readTemperature sont des commandes internes pour le DHT
float tauxHumidity = dht.readHumidity(); // Lecture du taux d'humidité (en %)
float temperatureCelsius = dht.readTemperature(); // Lecture de la température C°
// Vérification des données
if (isnan(tauxHumidity) || isnan(temperatureCelsius)) {
//delay(2000);
return;
}
// Retroéclairage du LCD
lcd.backlight();
// Affichage de la température
lcd.setCursor(0, 0); // colonne, ligne
lcd.print("Temp:");
lcd.setCursor(9,0);
lcd.print(temperatureCelsius);
lcd.setCursor(14,0); // Affichage du ° (degré)
lcd.print(char(223));
lcd.setCursor(15,0);
lcd.print("C");
// Affichage du taux d'humidité
lcd.setCursor(0, 1); // colonne, ligne
lcd.print("Humid:");
lcd.setCursor(9,1);
lcd.print(tauxHumidity);
lcd.setCursor(15,1);
lcd.print("%");
// Effacement du LCD
delay(2000);
lcd.clear();
}