#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 4 // Pin pour le DHT22
#define PIRPIN 2 // Pin pour le PIR
#define LDRPIN 34 // Pin pour le LDR (capteur de luminosité)
#define LEDPIN_R 25 // Pin pour la LED rouge (RGB)
#define LEDPIN_G 27 // Pin pour la LED verte (RGB)
#define LEDPIN_B 26 // Pin pour la LED bleue (RGB)
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// Initialiser l'écran LCD
LiquidCrystal_I2C lcd(0x27, 16, 2); // Adresse I2C et dimensions
// Variables pour la luminosité, l'humidité et la température
float humidity;
float temperature;
int ldrValue;
bool motionDetected;
void setup() {
// Initialiser les pins
pinMode(PIRPIN, INPUT);
pinMode(LDRPIN, INPUT);
pinMode(LEDPIN_R, OUTPUT);
pinMode(LEDPIN_G, OUTPUT);
pinMode(LEDPIN_B, OUTPUT);
// Démarrer la communication série
Serial.begin(115200);
// Démarrer le capteur DHT
dht.begin();
// Démarrer l'écran LCD et initialiser I2C
Wire.begin(21, 22); // Broches SDA et SCL pour ESP32
lcd.begin(16, 2);
lcd.setBacklight(1); // Rétroéclairage activé
lcd.print("Initialisation...");
delay(2000); // Attendre 2 secondes
}
void loop() {
// Lire l'humidité et la température du DHT22
humidity = dht.readHumidity();
temperature = dht.readTemperature();
// Vérifier si la lecture a échoué
if (isnan(humidity) || isnan(temperature)) {
lcd.clear();
lcd.print("Erreur capteur");
return;
}
// Lire la luminosité du LDR
ldrValue = analogRead(LDRPIN);
// Lire l'état du capteur de mouvement PIR
motionDetected = digitalRead(PIRPIN);
// Afficher l'humidité et la température sur l'écran LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Hum: ");
lcd.print(humidity);
lcd.print("%");
delay(2000); // Attendre 2 secondes avant de refaire une lecture
}
/*#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
tous les pins utiliser
#define DHTPIN 4 // Pin pour le DHT22 (Broche utilisée pour la lecture des données du DHT22)
#define PIRPIN 2 // Pin pour le PIR (Broche utilisée pour détecter les mouvements)
#define LDRPIN 34 // Pin pour le LDR (capteur de luminosité) (Broche analogique pour mesurer la luminosité)
#define LEDPIN_R 25 // Pin pour la LED rouge (RGB) (Broche pour contrôler la LED rouge)
#define LEDPIN_G 27 // Pin pour la LED verte (RGB) (Broche pour contrôler la LED verte)
#define LEDPIN_B 26 // Pin pour la LED bleue (RGB) (Broche pour contrôler la LED bleue)
*/