#define BLYNK_TEMPLATE_ID "TMPL6pGLCwSBH"
#define BLYNK_TEMPLATE_NAME "led control"
#define BLYNK_AUTH_TOKEN "TOUTfo6vck8LO4l7w9XF7wRu1BoKI686"
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <DHTesp.h>
DHTesp sensor;
DHTesp sensor1;
#define sensorPin 15
#define sensorPin1 27
float t, t1;
#define rled 4
#define Bled 26
#define R_btn V1
#define G_btn V2
#define gbtn 2
BlynkTimer timer;
int state= 0;
void setup() {
Serial.begin(115200);
pinMode(gbtn, INPUT_PULLUP);
pinMode(rled, OUTPUT);
pinMode(Bled, OUTPUT);
Blynk.begin(auth, ssid, pass);
sensor.setup(sensorPin, DHTesp::DHT22);
sensor1.setup(sensorPin1, DHTesp::DHT22);
timer.setInterval(300L, readSensor);
}
BLYNK_WRITE(R_btn) {
digitalWrite(rled, param.asInt());
}
BLYNK_WRITE(G_btn) {
digitalWrite(Bled, param.asInt());
}
void readSensor() {
TempAndHumidity data = sensor.getTempAndHumidity();
t = data.temperature;
TempAndHumidity data1 = sensor1.getTempAndHumidity();
t1 = data1.temperature;
Blynk.virtualWrite(V3, t);
Blynk.virtualWrite(V4, t1);
}
void loop() {
Blynk.run();
timer.run();
int btnState = digitalRead(gbtn);
if (btnState == LOW) {
delay(150);
state++;
if (state == 1) {
digitalWrite(rled, HIGH);
digitalWrite(Bled, 0);
}
if (state == 2) {
digitalWrite(rled, 1);
digitalWrite(Bled, 1);
}
if (state == 3) {
digitalWrite(rled, 0);
digitalWrite(Bled, 1);
}
if (state == 4) {
digitalWrite(rled, 0);
digitalWrite(Bled, 0);
state = 0;
}
}
Blynk.virtualWrite(V1, digitalRead(rled));
Blynk.virtualWrite(V2, digitalRead(Bled));
delay(150);
}