Untuk membuat alat deteksi ketinggian air menggunakan Arduino, kita bisa memanfaatkan sensor ultrasonik (HC-SR04) atau sensor level air seperti water level sensor atau rangkaian pelampung.
Berikut adalah panduan membuat alat deteksi ketinggian air menggunakan sensor ultrasonik HC-SR04 karena mudah digunakan dan tidak memerlukan kontak langsung dengan air.
Komponen yang Dibutuhkan
- Arduino Uno (atau jenis lainnya).
- Sensor Ultrasonik HC-SR04 – untuk mengukur jarak permukaan air.
- Buzzer – untuk alarm jika ketinggian air melewati batas tertentu.
- LED (opsional) – sebagai indikator tambahan.
- Resistor 220 Ohm – untuk LED.
- Kabel jumper – untuk koneksi antar komponen.
- Breadboard – sebagai papan koneksi sementara.
- Adaptor atau kabel USB – sebagai catu daya Arduino.
Prinsip Kerja
- Sensor ultrasonik HC-SR04 mengukur jarak antara sensor dan permukaan air.
- Jika jarak air mendekati sensor (ketinggian air naik), Arduino akan memicu buzzer atau LED sebagai alarm.
- Logika sederhana: Semakin tinggi air, semakin kecil jarak yang terbaca oleh sensor.
Skema Rangkaian
Koneksi Sensor HC-SR04 ke Arduino:
- VCC → 5V Arduino
- GND → GND Arduino
- TRIG → Pin 7 Arduino
- ECHO → Pin 6 Arduino
Koneksi Buzzer dan LED:
- Buzzer positif → Pin 10 Arduino
- LED positif → Pin 13 Arduino (melalui resistor 220 Ohm).
- Buzzer negatif dan LED negatif → GND Arduino.
Program Arduino
  
#define trigPin 7    // Pin Trig sensor ultrasonik
#define echoPin 6   // Pin Echo sensor ultrasonik
#define buzzer 10     // Pin buzzer
#define led 13        // Pin LED
float jarak;         // Variabel untuk menyimpan jarak
float tinggi_air;    // Variabel untuk menyimpan ketinggian air
float tinggi_tangki = 30.0; // Tinggi tangki air dalam cm (sesuaikan)
void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(buzzer, OUTPUT);
  pinMode(led, OUTPUT);
  Serial.begin(9600); // Inisialisasi komunikasi serial
}
void loop() {
  // Mengirimkan pulsa ultrasonik
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  
  // Membaca waktu pantulan (dalam mikrodetik)
  long durasi = pulseIn(echoPin, HIGH);
  
  // Menghitung jarak (dalam cm)
  jarak = durasi * 0.034 / 2; 
  
  // Menghitung ketinggian air
  tinggi_air = tinggi_tangki - jarak;
  // Menampilkan data di Serial Monitor
  Serial.print("Jarak permukaan air: ");
  Serial.print(jarak);
  Serial.print(" cm | Ketinggian air: ");
  Serial.print(tinggi_air);
  Serial.println(" cm");
  // Logika alarm jika ketinggian air melebihi batas
  if (tinggi_air > 25) { // Sesuaikan batas tinggi air
    digitalWrite(buzzer, HIGH); // Buzzer menyala
    digitalWrite(led, HIGH);    // LED menyala
    Serial.println("Peringatan: Air mendekati batas maksimum!");
  } else {
    digitalWrite(buzzer, LOW); // Buzzer mati
    digitalWrite(led, LOW);    // LED mati
  }
  
  delay(1000); // Delay 1 detik sebelum pengukuran berikutnya
}
  Cara Kerja Alat
- Pasang sensor ultrasonik di bagian atas tangki atau wadah air.
- Jalankan program dan buka Serial Monitor untuk melihat data jarak dan ketinggian air.
- Jika air mendekati batas atas, buzzer dan LED akan aktif sebagai peringatan.
Pengembangan Lanjutan
- Tambahkan layar LCD untuk menampilkan ketinggian air secara langsung.
- Gunakan modul relay untuk mengontrol pompa air otomatis saat ketinggian air mencapai batas tertentu.
- Integrasikan dengan modul Wi-Fi (ESP8266/ESP32) untuk mengirim notifikasi ke smartphone.
- Tambahkan fitur logging data menggunakan SD card untuk mencatat perubahan ketinggian air.