#define BLYNK_TEMPLATE_ID "TMPL6aYNmka0D"
#define BLYNK_TEMPLATE_NAME "Monitoring Air Ultrasonik"
#define BLYNK_AUTH_TOKEN "rpUJREmwQUS1IK0qDwT9W8hKoLztBml-"
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
char ssid[] = "znb";
char pass[] = "byylaoo0";
#define TRIG_PIN D5
#define ECHO_PIN D6
#define LED_PIN D1
#define BUZZER_PIN D2
BlynkTimer timer;
long readUltrasonicDistance() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duration = pulseIn(ECHO_PIN, HIGH);
long distance = duration * 0.034 / 2;
return distance;
}
void sendSensor() {
long distance = readUltrasonicDistance();
Blynk.virtualWrite(V0, distance);
if (distance > 10) {
digitalWrite(LED_PIN, HIGH);
digitalWrite(BUZZER_PIN, HIGH);
Blynk.virtualWrite(V1, 1);
Blynk.virtualWrite(V2, 1);
} else {
digitalWrite(LED_PIN, LOW);
digitalWrite(BUZZER_PIN, LOW);
Blynk.virtualWrite(V1, 0);
Blynk.virtualWrite(V2, 0);
}
}
void setup() {
Serial.begin(115200);
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
timer.setInterval(2000L, sendSensor);
}
void loop() {
Blynk.run();
timer.run();
}
// Komponen: ESP8266 (NodeMCU), Ultrasonic Sensor HC-SR04, LED (simulasi pompa), Buzzer, Resistor, Breadboard dan kabel jumper
// Koneksi: VCC HC-SR04 → 3.3V, GND HC-SR04 → GND, TRIG HC-SR04 → D5, ECHO HC-SR04 → D6, LED (pompa) anoda → D1, katoda → resistor → GND, Buzzer + → D2, – → GND