#define TRIG_PIN 9 // Pin trigger sensor ultrasonik - mengirim sinyal
#define ECHO_PIN 10 // Pin echo sensor ultrasonik - menerima pantulan sinyal
#define LED_PIN 11 // Pin untuk LED indikator
#define BUZZER_PIN 12 // Pin untuk buzzer/alarm
void setup() {
pinMode(TRIG_PIN, OUTPUT); // Set pin trigger sebagai output
pinMode(ECHO_PIN, INPUT); // Set pin echo sebagai input
pinMode(LED_PIN, OUTPUT); // Set pin LED sebagai output
pinMode(BUZZER_PIN, OUTPUT); // Set pin buzzer sebagai output
Serial.begin(9600); // Memulai komunikasi serial
}
void loop() {
long duration, distance;
// Mengirim sinyal trigger
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Menghitung waktu yang diperlukan untuk menerima echo
duration = pulseIn(ECHO_PIN, HIGH);
// Menghitung jarak dalam cm
distance = (duration / 2) * 0.0343;
// Menampilkan jarak ke serial monitor
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// Cek level air
if (distance < 10) { // Misalkan level air di bawah 10 cm
digitalWrite(LED_PIN, HIGH); // Nyalakan LED
digitalWrite(BUZZER_PIN, HIGH); // Nyalakan buzzer
} else {
digitalWrite(LED_PIN, LOW); // Matikan LED
digitalWrite(BUZZER_PIN, LOW); // Matikan buzzer
}
delay(500); // Delay sebelum pengukuran berikutnya
}