#include <Servo.h>
#define trigPin 2
#define echoPin 3
#define relayPompa 4
Servo kran;
long duration;
float distance;
float stop;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(relayPompa, OUTPUT);
digitalWrite(relayPompa, LOW); // Pompa mati di awal
kran.attach(relayPompa);
kran.write(0);
}
void loop() {
// Kirim sinyal trigger 10µs
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Baca waktu pantulan echo
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2; // konversi ke cm
stop = 30 - distance;
// Logika kontrol pompa
if (stop >= 22) {
kran.write(90);
} else {
kran.write(0);
}
delay(500);
}