#define BLYNK_TEMPLATE_ID "TMPL2Ed_KN6XR"
#define BLYNK_TEMPLATE_NAME "Blank"
#include <Wire.h>
#include <DHT.h>
#include <BlynkSimpleEsp32.h>
#define BLYNK_PRINT Serial
char auth[] = "VOTRE_CLE_BLYNK";
char ssid[] = "SSID_WIFI";
char pass[] = "MOT_DE_PASSE_WIFI";
#define DHTPIN 15 // Utilisez le numéro de la broche à laquelle le DHT22 est connecté
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
// Ajout de la variable d'état de la lumière
bool lumiereAllumee = false;
void sendSensorData()
{
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
Blynk.virtualWrite(V1, humidity);
Blynk.virtualWrite(V2, temperature);
// Ajout de la simulation du comportement de la lumière
if (lumiereAllumee) {
Blynk.virtualWrite(V3, 255); // Luminosité maximale
} else {
Blynk.virtualWrite(V3, 0); // Lumière éteinte
}
}
BLYNK_WRITE(V4) // Événement déclenché par le bouton Blynk (ID virtuel V4)
{
int boutonEtat = param.asInt();
// Si le bouton est pressé, inverse l'état de la lumière
if (boutonEtat == HIGH) {
lumiereAllumee = !lumiereAllumee;
}
}
void setup()
{
Serial.begin(115200);
delay(10);
Blynk.begin(auth, ssid, pass);
if (Blynk.connected()) {
Serial.println("Connected to Blynk server");
} else {
Serial.println("Failed to connect to Blynk server");
}
dht.begin();
timer.setInterval(2000L, sendSensorData);
}
void loop()
{
Blynk.run();
timer.run();
}