#define BLYNK_TEMPLATE_ID "TMPL6FsyLuy9L"
#define BLYNK_TEMPLATE_NAME "Mengukur Suhu dan Kelembapan"
#define BLYNK_AUTH_TOKEN "UyNlTZygMnHOfTUcXtBCNJblq06QI6z1"
// Sertakan library Blynk dan DHT
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include "DHT.h"
// Konfigurasi DHT
#define DHTPIN 5 // Pin data sensor DHT terhubung ke GPIO5
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE);
// Kredensial Wi-Fi
char ssid[] = "Wokwi-GUEST"; // SSID Wi-Fi
char pass[] = ""; // Kosongkan jika menggunakan Wokwi
BlynkTimer timer;
// Fungsi untuk membaca data dari sensor dan mengirim ke Blynk
void sendSensor() {
float suhu = dht.readTemperature(); // Membaca suhu
float kelembapan = dht.readHumidity(); // Membaca kelembapan
if (isnan(suhu) || isnan(kelembapan)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Kirim nilai ke aplikasi Blynk (Virtual Pin V0 untuk suhu, V1 untuk kelembapan)
Blynk.virtualWrite(V0, suhu);
Blynk.virtualWrite(V1, kelembapan);
Serial.print("Suhu: ");
Serial.print(suhu);
Serial.print(" °C, Kelembapan: ");
Serial.print(kelembapan);
Serial.println(" %");
}
void setup() {
// Inisialisasi Serial Monitor
Serial.begin(115200);
// Inisialisasi DHT sensor
dht.begin();
// Cek Koneksi Wi-Fi
Serial.print("Menghubungkan ke Wi-Fi: ");
Serial.println(ssid);
WiFi.begin(ssid, pass);
// Tunggu hingga ESP32 terhubung ke Wi-Fi
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("");
Serial.println("Wi-Fi terhubung!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
// Inisialisasi Blynk
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
// Set timer untuk mengirim data setiap 2 detik
timer.setInterval(2000L, sendSensor);
}
void loop() {
// Jalankan Blynk
Blynk.run();
// Jalankan timer
timer.run();
}