#include <DHT.h>
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#define BLYNK_TEMPLATE_ID "TMPL3Z8db67lj"
#define BLYNK_TEMPLATE_NAME "DHT"
#define BLYNK_AUTH_TOKEN "LhvcgwSi_owg8KcTcJzaSed7zuSSLdJD"
#define DHT_PIN 18
#define DHT_TYPE DHT22
// Wi-Fi credentials for Wokwi
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
// Initialize DHT sensor
DHT DHT(DHT_PIN, DHT_TYPE);
// Blynk timer to send data periodically
BlynkTimer timer;
// Function to read DHT sensor and send data to Blynk
void sendSensorData() {
float temp_value = DHT.readTemperature(true); // Fahrenheit
float humidity_value = DHT.readHumidity();
if (isnan(temp_value) || isnan(humidity_value)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Temperature: ");
Serial.print(temp_value);
Serial.println(" °F");
Serial.print("Humidity: ");
Serial.print(humidity_value);
Serial.println(" %");
// Send data to Blynk
Blynk.virtualWrite(V0, temp_value);
Blynk.virtualWrite(V1, humidity_value);
}
void setup() {
Serial.begin(115200);
DHT.begin();
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
// Set a timer to call sendSensorData() every 2 seconds
timer.setInterval(2000L, sendSensorData);
}
void loop() {
Blynk.run(); // Keep Blynk connected
timer.run(); // Run the timer
}