#define trigPin 9
#define echoPin 10
#define relayPin 7
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, HIGH); // relay mati dulu (aktif LOW)
[Link](9600);
void loop() {
// kirim gelombang ultrasonik
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// baca pantulan
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
[Link](distance);
// jika tangan dekat (<10 cm) pompa nyala
if (distance > 0 && distance < 10) {
digitalWrite(relayPin, LOW); // pompa ON
delay(2000); // nyala 2 detik
digitalWrite(relayPin, HIGH); // pompa OFF
delay(1000);
delay(200);