//Ganti Sesuai Template Pada Blynk
#define BLYNK_TEMPLATE_ID "TMPL6KrqRh1TH"
#define BLYNK_TEMPLATE_NAME "RadzDHT"
#define BLYNK_AUTH_TOKEN "Ng-rgcAUA8DTxkTLcGwOnlUodq9qSGzs"
#include <WiFi.h> //dari library wifi , kl mau pake wifi harus pake ini
#include <WiFiClient.h> //kek diatas
#include <BlynkSimpleEsp32.h> //library blynk
#include <DHT.h>
char auth[] = BLYNK_AUTH_TOKEN; //supaya manggil template token di atas
char ssid[] = "Wokwi-GUEST"; //ini wifinya wokwi buat simulasi
char pass[] = ""; //ga ada pass , kl diganti kenyataan ya diganti sesuai pass asli
// Mendefinisikan DHT22
#define DHTPIN 23
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
#define LED 22
int SW_state = 0; //kondisi lampu mati
BLYNK_WRITE (V0)//Fungsi Callback BLYNK_WRITE:
{
SW_state = param.asInt(); //kondisi saklar sw state, param asint itu dari blynk
if(SW_state == 1){
digitalWrite(LED, HIGH);
Serial.println("Lampu telah dihidupkan");
Blynk.virtualWrite(V0, HIGH);
}else{
digitalWrite(LED, LOW);
Serial.println("Lampu telah dimatikan");
Blynk.virtualWrite(V0, LOW);
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(LED, OUTPUT);
Blynk.begin(auth, ssid, pass);
dht.begin();
}
void loop() {
// Memproses event Blynk
Blynk.run();
// Membaca sensor DHT22 dan mengirim data ke Blynk setiap kali loop berjalan
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(t) || isnan(h)) {
Serial.println("Gagal membaca sensor");
} else {
Blynk.virtualWrite(V1, t);
Blynk.virtualWrite(V2, h);
Serial.println("Data sensor dikirim"); Serial.println(t); Serial.println(h);
}
// Menunggu sebelum membaca sensor lagi
delay(2000);
}