#define BLYNK_TEMPLATE_ID "TMPL60LZ8LMK1"
#define BLYNK_TEMPLATE_NAME "test1"
#define BLYNK_AUTH_TOKEN "Euee8s7Omie2rT6q-WNH9jnxk9I-DMrd"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h> // Added DHT library
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
#define LED_PIN 2
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
delay(100);
pinMode(LED_PIN, OUTPUT);
WiFi.begin(ssid, pass);
Serial.print("Connecting to Wi-Fi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWi-Fi Connected!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
dht.begin(); // Initialize DHT sensor
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
}
BLYNK_WRITE(V0) {
int ledState = param.asInt();
digitalWrite(LED_PIN, ledState);
Serial.println(ledState ? "LED ON" : "LED OFF");
}
void loop() {
Blynk.run();
dhtsensor();
}
void dhtsensor() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
float f = dht.readTemperature(true); // Fahrenheit reading
if (isnan(humidity) || isnan(temperature) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
float hif = dht.computeHeatIndex(f, humidity);
float hic = dht.computeHeatIndex(temperature, humidity, false);
Blynk.virtualWrite(V2, temperature); // Send temperature to V2
Blynk.virtualWrite(V1, humidity); // Send humidity to V1
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" °C, Humidity: ");
Serial.print(humidity);
Serial.println(" %");
delay(2000); // Delay between readings
}