#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
// Définition des broches I2C correctes pour ESP32-S3
#define CUSTOM_SDA 21
#define CUSTOM_SCL 20
// Définition du capteur DHT22
#define DHTPIN 37
#define DHTTYPE DHT22
// Définition de la broche du capteur de lumière (ADC1)
#define LIGHT_SENSOR_PIN 34
// Initialisation des objets
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(115200);
Serial.println();
dht.begin();
Wire.begin(CUSTOM_SDA, CUSTOM_SCL); // Initialisation I2C correcte
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Lecture capteurs");
lcd.setCursor(0, 1);
lcd.print("Initialisation...");
delay(1000);
}
void loop() {
delay(500);
// Lire la valeur du capteur de lumière
int lightValue = analogRead(LIGHT_SENSOR_PIN);
// Lire température et humidité du DHT22
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Erreur lecture DHT22 !");
return;
}
// Mise à jour de l'affichage LCD
lcd.setCursor(0, 0);
lcd.print("H: ");
lcd.print(h);
lcd.print("% T: ");
lcd.print(t);
lcd.print("C ");
lcd.setCursor(0, 1);
lcd.print("Lumière: ");
lcd.print(lightValue);
lcd.print(" "); // Supprime d'éventuels caractères résiduels
// Affichage sur le moniteur série
Serial.print("Humidité: ");
Serial.print(h);
Serial.print("% Température: ");
Serial.print(t);
Serial.print("°C Lumière: ");
Serial.println(lightValue);
}
Loading
esp32-s3-devkitc-1
esp32-s3-devkitc-1