#include <WiFi.h>
#include <WebServer.h>
#define PIR_PIN 13
#define LDR_PIN 34
#define RELAY_PIN 12
WebServer server(80);
void setup() {
Serial.begin(115200);
pinMode(PIR_PIN, INPUT);
pinMode(RELAY_PIN, OUTPUT);
// Initialiser le relais à OFF
digitalWrite(RELAY_PIN, LOW);
// Se connecter au Wi-Fi
WiFi.begin("Wokwi-GUEST", "");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connecté");
Serial.print("Adresse IP : ");
Serial.println(WiFi.localIP());
// Initialiser le serveur web
server.on("/", handleRoot);
server.begin();
Serial.println("Serveur web démarré");
}
void loop() {
server.handleClient();
int pirState = digitalRead(PIR_PIN);
int ldrValue = analogRead(LDR_PIN);
Serial.print("État PIR : ");
Serial.print(pirState);
Serial.print(", Valeur LDR : ");
Serial.println(ldrValue);
// Logique simple pour contrôler la lumière
if (pirState == HIGH && ldrValue < 1000) { // Ajustez le seuil selon vos besoins
digitalWrite(RELAY_PIN, HIGH); // Allumer la lumière
} else {
digitalWrite(RELAY_PIN, LOW); // Éteindre la lumière
}
delay(1000); // Ajustez le délai selon vos besoins
}
void handleRoot() {
int pirState = digitalRead(PIR_PIN);
int ldrValue = analogRead(LDR_PIN);
String html = "<!DOCTYPE html><html><head><title>Contrôle de la lumière de la salle de classe</title></head><body>";
html += "<h1>Données du capteur DHT22 ESP32</h1>";
html += "<p>État PIR : " + String(pirState) + "</p>";
html += "<p>Valeur LDR : " + String(ldrValue) + "</p>";
html += "</body></html>";
server.send(200, "text/html", html);
}