#define BLYNK_TEMPLATE_ID "TMPL60x9i8r_p"
#define BLYNK_TEMPLATE_NAME "UAS Kontrol Rumah Kaca"
#define BLYNK_AUTH_TOKEN "k7Fj_1qsU3rvtGoq9BKWvx3wQFJTzFqg"
#include <DHT.h>
#include <BlynkSimpleEsp32.h>
#define DHTPIN 4 // Pin tempat sensor DHT terhubung
#define DHTTYPE DHT22 // Tipe sensor DHT (DHT11 atau DHT22)
#define relayPin 5 // Pin tempat relay terhubung
DHT dht(DHTPIN, DHTTYPE);
char auth[] = "k7Fj_1qsU3rvtGoq9BKWvx3wQFJTzFqg"; // Ganti dengan token Blynk Anda
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
void setup() {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
pinMode(relayPin, OUTPUT);
// Inisialisasi sensor DHT
dht.begin();
}
void loop() {
Blynk.run();
// Membaca suhu dan kelembapan dari sensor DHT
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// Memeriksa apakah pembacaan suhu dan kelembapan valid
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Gagal membaca dari sensor DHT");
return;
}
Serial.print("Suhu: ");
Serial.print(temperature);
Serial.print(" °C | Kelembapan: ");
Serial.print(humidity);
Serial.println(" %");
// Mengirim data suhu dan kelembapan ke Blynk
Blynk.virtualWrite(V0, temperature); // Widget Blynk untuk suhu
Blynk.virtualWrite(V1, humidity); // Widget Blynk untuk kelembapan
Blynk.virtualWrite(V2, relayPin);
// Mengatur kondisi untuk mengaktifkan relay berdasarkan suhu
if (temperature > 25.0) {
// Jika suhu lebih dari 25 °C, aktifkan relay (misalnya, untuk menyalakan kipas atau AC)
digitalWrite(relayPin, HIGH);
} else {
// Jika suhu kurang dari atau sama dengan 25 °C, matikan relay
digitalWrite(relayPin, LOW);
}
// Tunggu sebentar sebelum membaca sensor lagi
delay(2000);
}