#define BLYNK_TEMPLATE_ID "TMPL6mkr2U1gO"
#define BLYNK_TEMPLATE_NAME "Sensor ruangan"
#define BLYNK_AUTH_TOKEN "V3_wgqXv1b7WGZp_u1nrUMwcpHfdYWIU"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
#define DHTPIN 2 // Pin DHT22 terhubung ke pin 2 pada ESP32
#define DHTTYPE DHT22 // Tipe sensor DHT yang digunakan
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
char auth[] = "V3_wgqXv1b7WGZp_u1nrUMwcpHfdYWIU"; // Ganti dengan Auth Token dari proyek Blynk Anda
bool acStatus = true; // Status awal AC (Hidup)
int ledPin = 13; // Pin LED indikator AC
void setup() {
Serial.begin(115200);
Blynk.begin(auth, "Wokwi-GUEST", "");
dht.begin();
pinMode(ledPin, OUTPUT);
Blynk.virtualWrite(V0, acStatus); // Inisialisasi status AC pada Blynk
digitalWrite(ledPin, acStatus ? HIGH : LOW); // Nyalakan LED sesuai status AC
}
void updateDHTSensor() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
Blynk.virtualWrite(V2, humidity); // Kirim data ke gauge kelembaban (V2)
Blynk.virtualWrite(V3, temperature); // Kirim data ke gauge suhu (V3)
// Tampilkan suhu ruangan dan kelembaban pada konsol
Serial.print("Suhu Ruangan: ");
Serial.print(temperature);
Serial.print("°C, Kelembaban Ruangan: ");
Serial.print(humidity);
Serial.println("%");
}
BLYNK_WRITE(V1) { // Fungsi dipanggil ketika tombol switch di Blynk ditekan
acStatus = param.asInt(); // Update status AC berdasarkan nilai tombol switch
digitalWrite(ledPin, acStatus ? HIGH : LOW); // Nyalakan atau matikan LED sesuai status AC
Serial.print("AC Status: ");
Serial.println(acStatus ? "Hidup" : "Mati");
}
void loop() {
Blynk.run();
timer.run();
updateDHTSensor();
}