Membuat Sistem Monitoring Ketinggian Air Otomatis dengan Arduino dan Bluetooth
Ringkasan Proyek
Buat alat untuk memantau ketinggian air tangki menggunakan sensor ultrasonik HC-SR04 dan Arduino UNO. Sistem menampilkan persentase air pada LCD serta Android melalui Bluetooth, mengendalikan relay pompa otomatis, dan mencegah dry run ketika tangki sumber kosong.
Bahan & Komponen
Daftar perangkat keras, modul, dan tools yang dibutuhkan untuk merakit proyek ini.
Daftar Komponen dan Perangkat Keras
- 1x Arduino UNO (mikrokontroler utama; tercantum pada daftar komponen asli)
- 1x Sensor Ultrasonik HC-SR04 (mengukur jarak permukaan air tanpa kontak)
- 1x LCD 20x4 dengan antarmuka I2C (menampilkan tingkat air, status pompa, dan kondisi sump)
- 1x HC-05 Bluetooth Module (mengirim data tingkat air ke Android)
- 1x Buzzer (alarm saat reservoir sumber air kosong)
- 1x Relay Module (pengendali pompa; gunakan modul sesuai tegangan dan arus pompa)
- 1x Push Button (kalibrasi tinggi tangki; disebut dalam narasi dan program)
- 1x Sensor Ketersediaan Air di Sump (sensor analog tambahan; tipe spesifik tidak dicantumkan)
- Kabel jumper, catu daya 5V stabil, dan wadah pengujian (perlengkapan perakitan)
- Pompa air atau beban uji tegangan rendah (opsional untuk simulasi relay; tidak tercantum sebagai hardware dalam daftar asli)
Perangkat Lunak
- Arduino IDE (menulis dan mengunggah program)
- Library NewPing (mengukur jarak HC-SR04)
- Library LiquidCrystal_I2C (menampilkan teks LCD)
- Library Wire dan EEPROM (I2C dan penyimpanan hasil kalibrasi)
- MIT App Inventor 2 (aplikasi Android)
Langkah Pembuatan
Khusus MemberPanduan perakitan tahap demi tahap dan catatan proses pengerjaan.
Proyek karya Ramesh G ini memantau ketinggian air pada tangki atas dan mengendalikan pompa secara otomatis. Sensor ultrasonik membaca jarak air, Arduino menghitung persentase isi, LCD dan Android menampilkan hasil, sedangkan sensor sump mencegah pompa berjalan ketika sumber air kosong. Panduan merupakan adaptasi edukatif, bukan terjemahan kata demi kata.

Langkah 1: Memahami Tujuan Sistem
Tangki air yang diisi pompa dapat meluap jika tidak dimonitor. Sistem menghitung persentase isi, menyalakan pompa ketika tangki hampir kosong, mematikannya saat penuh, dan menghentikan pompa ketika tangki sumber atau sump kekurangan air. Data juga dikirim menggunakan Bluetooth ke Android.
Langkah 2: Menyiapkan Perangkat
Siapkan Arduino UNO, HC-SR04, LCD 20x4 I2C, HC-05, relay, buzzer, tombol kalibrasi, dan sensor ketersediaan air pada sump. Sensor sump disebutkan dalam uraian proyek meskipun tidak muncul pada daftar hardware terstruktur. Siapkan wadah air untuk eksperimen tanpa listrik AC.
Langkah 3: Memahami Sensor Ultrasonik HC-SR04
HC-SR04 mengukur jarak tanpa menyentuh air, menggunakan pulsa suara sekitar 40 kHz. Arduino memicu TRIG selama 10 mikrodetik dan menghitung lama sinyal pada ECHO. Jarak dapat dihitung dengan rumus jarak = (waktu perjalanan pulsa / 2) × kecepatan suara. Rentang sensor yang disebut penulis sekitar 2 sampai 400 cm.
Langkah 4: Menempatkan Sensor di Atas Tangki
Tempatkan sensor menghadap permukaan air dari posisi tetap, terlindung dari percikan dan kondensasi. Ukur jarak sensor ke dasar tangki saat kosong. Jangan menempatkan sensor terlalu dekat dengan permukaan air ketika penuh karena terdapat batas jarak minimum pembacaan.
Langkah 5: Menghubungkan Sensor dan LCD
Hubungkan TRIG HC-SR04 ke D6, ECHO ke D7, VCC ke 5V, dan GND ke GND. LCD 20x4 I2C beralamat 0x27 menggunakan SDA ke A4 dan SCL ke A5 pada Arduino UNO. Alamat I2C dapat berbeda sesuai modul, sehingga periksa menggunakan I2C scanner.
Langkah 6: Memasang Relay, Buzzer, dan Sensor Sump
Hubungkan sinyal relay ke D8, sinyal buzzer ke D9, dan output analog sensor sump ke A0. Relay diberi suplai sesuai modulnya. Uji menggunakan LED atau beban DC tegangan rendah terlebih dahulu. Untuk pompa yang tersambung listrik rumah, pemasangan wajib dilakukan oleh teknisi listrik kompeten dengan proteksi yang sesuai.
Langkah 7: Menambahkan Tombol Kalibrasi dan Bluetooth
Tombol kalibrasi memakai D10 pada kode asli. Contoh edukatif memakai INPUT_PULLUP sehingga tombol dihubungkan antara D10 dan GND. HC-05 berkomunikasi pada 9600 Baud. Karena program asli menggunakan Serial hardware untuk mengirim persentase, koneksi UART Bluetooth sebaiknya diputus saat mengunggah kode; pada kode edukatif di bawah digunakan SoftwareSerial di D2/D3.
Langkah 8: Kalibrasi Tinggi Tangki
Saat tangki benar-benar kosong, lakukan kalibrasi dengan menekan tombol sehingga sensor mengukur jarak ke dasar. Simpan nilai kalibrasi di EEPROM agar tidak perlu mengukur ulang setiap kali Arduino dinyalakan. Penulis menetapkan tinggi isi maksimal sebesar 90% jarak tangki kosong, sehingga tersisa jarak aman 10% di dekat sensor. Besaran 10% ini bukan otomatis 10 cm.
Langkah 9: Menghitung Persentase Air
Dalam logika asli, WaterLevelMAX = 0.9 × TankHeight dan GapbwSonar = TankHeight − WaterLevelMAX. Persentase air dihitung dari jarak ultrasonik setelah dikurangi celah aman: (WaterLevelMAX − (SonarReading − GapbwSonar)) / WaterLevelMAX × 100. Batasi output ke 0–100% agar nilai pembacaan abnormal tidak menyesatkan.
Langkah 10: Menentukan Otomatisasi Pompa
Logika asli menyalakan pompa pada level 20% atau kurang, mempertahankan status antara 20% sampai 100%, dan mematikan pompa jika nilai melampaui 100%. Kode edukatif menggunakan penghentian saat mencapai 100% dan menyimpan status siklus pompa di RAM, agar tidak bergantung pada nilai tidak normal di atas 100%.
Langkah 11: Mencegah Dry Run
Sensor sump pada A0 digunakan untuk menilai apakah air tersedia pada tangki sumber. Artikel menggunakan ambang pembacaan analog sekitar 100, tetapi ambang yang benar harus dikalibrasi berdasarkan jenis sensor dan kondisi air. Bila sump kosong, relay harus OFF dan buzzer memberi peringatan. Sensor atau sambungan yang gagal juga sebaiknya membuat pompa berhenti.
Langkah 12: Menampilkan Status pada LCD
LCD empat baris menampilkan WATER LEVEL, PUMP STATUS, TANK HEIGHT, dan SUMP STATUS. Perhatikan bahwa setiap baris hanya mampu menampilkan 20 karakter; bersihkan atau isi spasi sisa kolom agar karakter lama tidak tertinggal.
Langkah 13: Membaca Persentase melalui Android
Proyek menggunakan HC-05 dan aplikasi Android yang dibuat dengan MIT App Inventor 2. Arduino mengirim nilai persentase melalui Serial pada 9600 Baud. Aplikasi yang dibagikan penulis dapat ditemukan di https://drive.google.com/file/d/1_5t3tVkQNHQk60k0gRRFQR1lUCjvaC1z/view. Periksa kompatibilitas dan keamanan APK sebelum instalasi.
Langkah 14: Mengunggah Kode dan Menguji Sistem
Pasang library NewPing, LiquidCrystal_I2C, serta gunakan EEPROM dan Wire. Unggah program, lalu uji beberapa posisi air. Simulasikan tingkat rendah, menengah, penuh, dan kondisi sump kosong. Pastikan pompa tetap OFF ketika sensor jarak gagal membaca atau setelah perangkat baru menyala sebelum kalibrasi.
Langkah 15: Pengembangan dan Keselamatan
Pengembangan dapat meliputi grafik riwayat air, alarm kebocoran, indikator kesalahan sensor, watchdog, dan koneksi WiFi. Jangan merendam Arduino, HC-SR04 standar, atau sambungan listrik. Gunakan rangkaian daya terlindung dan pertimbangkan sensor pelampung independen sebagai pengaman agar tangki tidak meluap.
Halaman sumber menampilkan galeri empat gambar di bagian Story. Akan tetapi, URL individu gambar pada komentar HTML tidak dapat diperiksa melalui akses yang tersedia. Untuk menghindari tautan yang tidak benar, hanya foto sampul dan gambar schematic yang URL-nya dapat diidentifikasi yang dicantumkan.
Buka Seluruh Panduan, Skema & Source Code
Dapatkan akses penuh ke langkah perakitan detail, diagram sirkuit lengkap, dan source code siap pakai. Gratis selamanya!
