#define BLYNK_TEMPLATE_ID "TMPL6jxxf0aSU"
#define BLYNK_TEMPLATE_NAME "Otomatisasi Lampu Kamar Mandi"
#include <BlynkSimpleEsp32.h>
#include <NewPing.h>
// Informasi koneksi Wi-Fi
char auth[] = "X0LRwQIX2t19paHKZh757j5yJF0VG8-Y"; // Ganti dengan Auth Token Anda
char ssid[] = "wokwi-Guest"; // Ganti dengan nama Wi-Fi Anda
char pass[] = ""; // Ganti dengan password Wi-Fi Anda
// Pin untuk sensor HC-SR04
#define TRIGGER_PIN 34 // Ganti dengan pin Trigger Anda
#define ECHO_PIN 33 // Ganti dengan pin Echo Anda
#define MAX_DISTANCE 200 // Jarak maksimum yang dapat diukur (dalam cm)
// Pin untuk LED
const int LED_PIN = 2; // Ganti dengan pin LED Anda
// Objek NewPing
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
// Atur pin LED sebagai output
pinMode(LED_PIN, OUTPUT);
}
void loop() {
Blynk.run();
// Pengukuran jarak
unsigned int distance = sonar.ping_cm(200);
// Jika jarak 0 (tidak terdeteksi), atur nilai default
if (distance == 0) {
distance = MAX_DISTANCE;
}
// Tampilkan jarak ke Gauge di Blynk (Virtual Pin V0)
Blynk.virtualWrite(V0, distance);
// Logika untuk menyalakan atau mematikan lampu
if (distance < 200) {
digitalWrite(LED_PIN, HIGH); // Lampu menyala
Blynk.virtualWrite(V1, 255); // Tampilkan LED menyala di Blynk
} else {
digitalWrite(LED_PIN, LOW); // Lampu mati
Blynk.virtualWrite(V1, 0); // Tampilkan LED mati di Blynk
}
// Jeda kecil sebelum pengukuran berikutnya
delay(500);
}