const int ledPins[] = {5, 6, 7, 8, 9, 10, 11, 12, 13}; // Pin LED
const int trigPin = 3; // Pin TRIG sensor ultrasonik
const int echoPin = 2; // Pin ECHO sensor ultrasonik
const int buzzerPin = A0; // Pin buzzer
const int ledPin = 4; // Pin buzzer
void setup() {
Serial.begin(9600); // Untuk debugging
for (int i = 0; i < 9; i++) {
pinMode(ledPins[i], OUTPUT);
digitalWrite(ledPins[i], LOW);
}
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2; // Menghitung jarak dalam cm
// Mengontrol LED berdasarkan level air
for (int i = 0; i < 9; i++) {
if (distance <= (9 - i) * 4) { // Asumsi: setiap LED mewakili 10cm level air
digitalWrite(ledPins[i], LOW);
} else {
digitalWrite(ledPins[i], HIGH);
}
}
// Mengontrol buzzer berdasarkan level air
if (distance > 39) { // Contoh: jika level air kurang dari 10cm, nyalaan buzzer
digitalWrite(buzzerPin, HIGH);
} else {
digitalWrite(buzzerPin, LOW);
}
if (distance > 35) { // Contoh: jika level air kurang dari 10cm, nyalaan buzzer
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
// Tambahkan kode untuk komunikasi dengan aplikasi Android melalui Serial (Bluetooth) jika diperlukan
Serial.print("Distance: ");
Serial.println(distance);
delay(1000);
}