#define BLYNK_TEMPLATE_ID "TMPL6oHSonINA"
#define BLYNK_TEMPLATE_NAME "Sensor DHT22"
#define BLYNK_AUTH_TOKEN "EYjiTI3ACm6VK821n7aNYS-x257SOWwh"
#include "WiFi.h"
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include "DHT.h"
const int DHT_PIN = 2;
#define DHT_TYPE DHT22
DHT dht(DHT_PIN, DHT_TYPE);
BlynkTimer timer;
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
#define VIRTUAL_PIN_TEMP_C V0
#define VIRTUAL_PIN_TEMP_F V1
#define VIRTUAL_PIN_HUMIDITY V2
void sendSensorData() {
float h = dht.readHumidity();
float t_c = dht.readTemperature();
if (isnan(h) || isnan(t_c)) {
Serial.println("Gagal membaca dari sensor DHT!");
return;
}
float t_f = dht.readTemperature(true);
Blynk.virtualWrite(VIRTUAL_PIN_TEMP_C, t_c );
Blynk.virtualWrite(VIRTUAL_PIN_HUMIDITY, h);
Blynk.virtualWrite(VIRTUAL_PIN_TEMP_F, t_f);
Serial.print("Suhu C: ");
Serial.print(t_c);
Serial.print("°C | Suhu F: ");
Serial.print(t_f);
Serial.print("°F | Kelembaban: ");
Serial.print(h);
Serial.println("%");
}
void setup() {
Serial.begin(115200);
dht.begin();
Blynk.begin(auth, ssid, pass);
timer.setInterval(3000L, sendSensorData);
}
void loop() {
Blynk.run();
timer.run();
}