#include <WiFi.h> // Non utilisé dans cet exemple, mais souvent inclus par défaut avec ESP32
#include <DHTesp.h>
#include <LiquidCrystal_I2C.h>
// Définition des broches pour le capteur DHT22
const int dhtPin = 32; // Broche GPIO où est connecté le DHT22 (modifiable)
// Définition de l'adresse I2C pour l'écran LCD
const int lcdAddress = 0x27; // Adresse I2C par défaut pour de nombreux écrans LCD 16x2 (vérifiez votre module)
const int lcdCols = 16;
const int lcdRows = 2;
// Instanciation des objets
DHTesp dhtSensor;
LiquidCrystal_I2C lcd(lcdAddress, lcdCols, lcdRows);
void setup() {
Serial.begin(115200); // Débogage série
// Initialisation du capteur DHT22
dhtSensor.setup(dhtPin, DHTesp::DHT22);
// Initialisation de l'écran LCD
lcd.init();
lcd.backlight(); // Active la lumière de fond
lcd.setCursor(0, 0); // Curseur en haut à gauche
lcd.print("Initialisation...");
delay(1000); // Attente pour lire le message
lcd.clear(); // Efface l'écran
}
void loop() {
// Lecture des valeurs du capteur DHT22
float temperature = dhtSensor.getTemperature();
float humidity = dhtSensor.getHumidity();
// Affichage des données sur l'écran LCD
lcd.setCursor(0, 0); // Ligne 1
lcd.print("Temp: ");
lcd.print(temperature, 1); // Affiche avec 1 décimale
lcd.print("°C");
lcd.setCursor(0, 1); // Ligne 2
lcd.print("Hum: ");
lcd.print(humidity, 1); // Affiche avec 1 décimale
lcd.print("%");
// Débogage série
Serial.print("Température: ");
Serial.print(temperature, 1);
Serial.print("°C, Humidité: ");
Serial.print(humidity, 1);
Serial.println("%");
delay(2000); // Attente de 2 secondes avant la prochaine lecture
}