// Library untuk sensor ultrasonik
#include <Ultrasonic.h>
// Pin untuk sensor ultrasonik
#define TRIGGER_PIN 9
#define ECHO_PIN 10
// Pin untuk pompa air
#define PUMP_PIN 11
// Jarak maksimum dan minimum untuk mengaktifkan pompa air (dalam cm)
#define MAX_DISTANCE 100
#define MIN_DISTANCE 5
// Waktu delay antara pembacaan sensor (dalam milidetik)
#define READ_INTERVAL 1000
// Inisialisasi sensor ultrasonik
Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);
void setup() {
// Set pin pompa sebagai output
pinMode(PUMP_PIN, OUTPUT);
// Inisialisasi Serial Monitor
Serial.begin(9600);
}
void loop() {
// Baca jarak dari sensor ultrasonik
int distance = ultrasonic.distanceRead();
// Tampilkan jarak ke Serial Monitor
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
// Cek apakah jarak dalam rentang yang diinginkan
if (distance <= MAX_DISTANCE && distance >= MIN_DISTANCE) {
// Aktifkan pompa air
digitalWrite(PUMP_PIN, HIGH);
Serial.println("Pompa air aktif!");
} else {
// Matikan pompa air
digitalWrite(PUMP_PIN, LOW);
Serial.println("Pompa air nonaktif!");
}
// Tunggu sebelum membaca sensor lagi
delay(READ_INTERVAL);
}