#define BLYNK_TEMPLATE_ID "TMPL6CuZSfpOT"
#define BLYNK_TEMPLATE_NAME "LED CONTROLe"
#define BLYNK_AUTH_TOKEN "difo2gT79HJZ23deO41kw0hT26yDRWK6"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
// Informasi Wi-Fi
char ssid[] = "Wokwi-GUEST"; // Nama Wi-Fi
char pass[] = ""; // Password Wi-Fi (kosong untuk Wokwi)
// Pin untuk sensor DHT22
#define DHTPIN 15 // Pin data DHT22
#define DHTTYPE DHT22 // Tipe sensor DHT22
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
// Fungsi untuk membaca data suhu dan kelembaban
void sendSensorData() {
float temperature = dht.readTemperature(); // Membaca suhu
float humidity = dht.readHumidity(); // Membaca kelembaban
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Gagal membaca dari sensor DHT!");
return;
}
// Kirim data ke Blynk
Blynk.virtualWrite(V0, temperature); // Kirim suhu ke Virtual Pin V0
Blynk.virtualWrite(V1, humidity); // Kirim kelembaban ke Virtual Pin V1
// Tampilkan di Serial Monitor
Serial.print("Suhu: ");
Serial.print(temperature);
Serial.print(" °C | Kelembaban: ");
Serial.print(humidity);
Serial.println(" %");
}
void setup() {
// Inisialisasi Serial Monitor
Serial.begin(115200);
Serial.println("Menghubungkan ke Wi-Fi...");
// Inisialisasi koneksi Wi-Fi dan Blynk
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, "blynk.cloud", 80);
// Inisialisasi sensor DHT
dht.begin();
// Jadwalkan pembacaan data setiap 2 detik
timer.setInterval(2000L, sendSensorData);
}
void loop() {
Blynk.run(); // Jalankan koneksi Blynk
timer.run(); // Jalankan timer
}