● online
- MP3 TF 16P Alternatif DFPlayer mini MP3 Player Ard....
- Relay Module 1 Channel Modul Relay 5V 10A 1 Channe....
- 10mm Kapton Tape Polymide Film Gold High Temp isol....
- Kabel Jumper 10cm Dupont Pelangi 10 cm Female to M....
- LCD 16x2 / 1602 Display Biru + I2C Backpack Sudah ....
- IIC I2C LCD 1602 16x2 2004 20x4 Backpack for LCD A....
- ESP32 ESP-32 Wireless Module ESP32-S ESP-WROOM-32 ....
- Kabel Jumper 10cm Dupont Pelangi 10 cm Female to F....
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Pantau Tandon Air Gak Pake Ribet dengan ESP32 dan Sensor Water Level
Sobat Maker, pernah nggak sih lagi asik-asiknya mandi tiba-tiba air di tandon habis? Atau sebaliknya, tandon malah meluap sampai air terbuang percuma gara-gara kita lupa mematikan keran? Masalah klasik di rumah tangga ini memang bikin repot, belum lagi pemborosan listrik dan air yang bikin kantong jebol.

Nah, daripada harus bolak-balik naik ke atap buat cek tandon secara manual, lebih baik kita buat sistem monitoring air real-time berbasis ESP32. Mirip-mirip kalau kamu bikin sendiri alat pendeteksi hujan pakai Arduino Uno biar nggak kaget pas jemuran basah, alat ini juga bikin hidup Teman-teman makin praktis karena kondisi air bisa dipantau langsung lewat layar LCD maupun secara jarak jauh lewat IoT.
Alat dan Bahan
Untuk memulai proyek ini, Teman-teman perlu menyiapkan beberapa komponen berikut. Semuanya cukup mudah ditemukan di toko komponen elektronik atau marketplace:
| Komponen | Jumlah | Keterangan |
| ESP32 DevKit V1 | 1 | Mikrokontroler utama dengan Wi-Fi terintegrasi |
| Sensor Water Level | 1 | Sensor analog untuk mendeteksi ketinggian air |
| LCD 20×4 I2C | 1 | Layar untuk menampilkan data secara lokal |
| LED (Merah, Kuning, Hijau) | @1 | Indikator visual status ketinggian air |
| Buzzer | 1 | Alarm peringatan suara (Active Buzzer) |
| Kabel Jumper | Secukupnya | Kabel penghubung antar komponen |
Skematik Rangkaian
Menyusun rangkaian ini cukup mudah kalau kita teliti melihat pinout-nya. Berikut adalah panduan koneksi antar komponen ke ESP32:
- Sensor Water Level: Hubungkan pin Signal (S) sensor ke GPIO 34. Pin ini kita pilih karena merupakan kanal ADC yang stabil.
- LCD 20×4 (I2C): Berbeda dengan Arduino yang punya pin I2C tetap, di ESP32 kita bisa definisikan sendiri. Hubungkan pin SDA ke GPIO 33 dan pin SCL ke GPIO 32.
- Indikator LED:
- LED Hijau ke GPIO 25.
- LED Kuning ke GPIO 26.
- LED Merah ke GPIO 27.
- Buzzer: Hubungkan kaki positif (+) buzzer ke GPIO 14.
Pastikan semua kabel GND (Ground) terhubung menjadi satu agar aliran listrik stabil dan tidak ada noise yang mengganggu pembacaan sensor.
Cara Kerja Sistem

Sistem ini bekerja dengan memanfaatkan sifat konduktivitas air. Pada sensor water level, terdapat jalur tembaga (trace) yang sejajar. Saat air menyentuh sensor, resistansinya berubah sehingga menghasilkan tegangan analog yang dibaca oleh ESP32.
Ada dua rahasia teknis agar alat ini akurat dan stabil:
- Kalibrasi ADC yang Presisi: Walaupun ADC ESP32 punya resolusi 12-bit (0-4095), pada praktiknya sensor ini sudah dianggap “penuh” sebelum mencapai nilai maksimal. Berdasarkan kode program, kita mengkalibrasi nilai 98 sebagai kondisi kering (0%) dan 2209 sebagai kondisi terendam penuh (100%).
- Moving Average (Noise Reduction): Agar angka di LCD tidak “loncat-loncat” atau flicker, program akan melakukan pembacaan sensor sebanyak 10 kali dengan jeda sangat singkat, lalu mengambil nilai rata-ratanya. Ini penting banget supaya sistem nggak bingung saat permukaan air sedikit bergoyang.
Pemrograman dan IoT

Sistem ini menggunakan protokol MQTT untuk mengirim data ke broker HiveMQ. Buat kamu yang ingin memahami lebih jauh cara kerja MQTT dalam komunikasi IoT, kamu bisa melihat dokumentasi MQTT dari HiveMQ sebagai referensi tambahan. Data yang dikirim dikemas dalam format JSON (JavaScript Object Notation) yang ringan dan mudah dibaca oleh berbagai platform dashboard maupun aplikasi smartphone.
Berikut adalah logika utama pengolahan datanya :
// Proses perataan nilai sensor dengan 10x sampling
int adc = bacaSensor();
// Konversi nilai ADC berdasarkan kalibrasi menjadi persentase
int level = map(adc, 98, 2209, 0, 100);
level = constrain(level, 0, 100);
// Menyiapkan data untuk dikirim melalui MQTT dalam format JSON
StaticJsonDocument<200> doc;
doc["level"] = level;
doc["adc"] = adc;
doc["status"] = currentStatus;
// Mengubah data JSON menjadi teks
char buffer[256];
serializeJson(doc, buffer);
// Mengirim data ke topic MQTT
mqtt.publish("waterlevel/sensor", buffer);
Poin Penting Program:
- Fungsi
map(): Mengubah rentang kalibrasi (98-2209) menjadi persentase manusiawi (0-100%). - Non-blocking Logic: Penggunaan
millis()memastikan indikator LED dan buzzer tetap berjalan lancar tanpa mengganggu pengiriman data IoT.
Indikator Kondisi Air

Untuk memudahkan pemantauan, kita membagi kondisi air menjadi tiga kategori utama yang tampil di LCD dan indikator fisik:
- Kering (0-39%): Air sudah mulai tipis. LED Hijau akan menyala, dan Buzzer akan berbunyi pendek setiap 2 detik sebagai pengingat lembut agar Sobat Maker segera mengisi tandon.
- Normal (40-89%): Kondisi aman dan ideal. LED Kuning akan berkedip lambat (600ms) dan Buzzer berbunyi dengan irama pelan.
- Penuh (90-100%): Waspada luapan! LED Merah akan berkedip cepat (100ms) dan Buzzer akan berbunyi kencang dengan irama cepat sebagai alarm tanda pengisian harus segera dihentikan.
Kesimpulan
Dengan proyek monitoring water level berbasis ESP32 ini, Sobat Maker nggak perlu lagi khawatir soal drama air tandon habis pas lagi asik mandi. Selain mencegah pemborosan air, proyek ini adalah langkah awal yang seru buat belajar IoT secara mendalam.
Bagi Teman-teman yang ingin eksplorasi lebih jauh, kalian bisa menambahkan modul Relay untuk membuat kontrol pompa otomatis. Jadi, pas status “Kering”, pompa nyala sendiri, dan pas “Penuh”, pompa mati otomatis. Keren, kan? Selamat mencoba dan semangat berkarya!
Pantau Tandon Air Gak Pake Ribet dengan ESP32 dan Sensor Water Level
7 segment merupakan sebuah display yang berfungsi menampilkan sebuah karakter baik huruf maupun digit angka. Namun untuk huruf sangat... selengkapnya
LCD atau Liquid Crystal Display adalah perangkat yang berfungsi sebagai media penampil dengan memanfaatkan kristal cair sebagai objek penampil utama.... selengkapnya
Pasti Anda semua sudah tahukan apa itu pas foto. Bagi Anda yang belum tahu apa itu pas foto, pas... selengkapnya
Setelah kamu mengenal Arduino Uno dan isi dari Arduino Uno Trainer Kit, sekarang saatnya masuk ke bagian yang lebih teknis... selengkapnya
Javascript adalah scripting atau bahasa pemrograman yang digunakan pada suatu web pada level klien (Client side) agar web tersebut... selengkapnya
BFD-1000 atau modul Sensor Pelacak Garis 5 Channel adalah sensor yang dirancang untuk digunakan pada robot line follower. Modul ini... selengkapnya
Sobat Maker, pernah nggak sih lagi asik merekam video pakai robot atau drone, eh hasilnya malah goyang-goyang kayak jelly? Masalah... selengkapnya
Sensor sentuh merupakan sebuah saklar yang cara penggunaanya dengan cara disentuh menggunakan jari. Ketika sensor ini disentuh maka sensor... selengkapnya
Modul Led Dot Matrix 32×16 adalah modul display yang menggunakan kumpulan – kumpulan LED yang dirangkai dengan susunan 32... selengkapnya
Panel P10 LED Matrix merupakan sebuah display berisi kumpulan led-led yang disusun secara matrix. Fungsinya untuk menampilkan informasi berupa... selengkapnya
Spesifikasi: 50mm Kapton Tape Polymide Film Gold High Temp isolasi Tahan Panas Harga Tertera: 1 Roll Kapton Tape Polymide Film… selengkapnya
Rp 75.000Dimmer AC 220 Volt 4000 Watt + Casing Aluminium Potensiometer untuk mengatur tegangan output min/max pada tegangan AC PLN 220V…. selengkapnya
Rp 52.500Spesifikasi: 20mm Kapton Tape Polymide Film Gold High Temp isolasi Tahan Panas Harga Tertera: 1 Roll Kapton Tape Polymide Film… selengkapnya
Rp 219.000Putaran = 180º Specifications • Weight: 55 g • Dimension: 40.7 x 19.7 x 42.9 mm approx. • Stall torque:… selengkapnya
Rp 36.400Specifications: 1. supports sampling costs (KHz): 8/11.025/12/16/22.05/24/32/44.1/48 2. 24-bit DAC output, dynamic range aid: 90dB, SNR aid: 85dB 3. fully… selengkapnya
Rp 17.800Fitur: -Dapat mendeteksi api atau panjang gelombang sumber cahaya dalam 760nm ~ 1100nm – Api lebih ringan mendeteksi jarak 80cm… selengkapnya
Rp 9.000MERK : TOWER PRO MG995 180 derajat Specifications Weight: 55 g Dimension: 40.7 x 19.7 x 42.9 mm approx. Stall… selengkapnya
Rp 36.300Kabel jumper 20 cm merk Dupont untuk Arduino Female to male 1 lembar = 40 kabel
Rp 11.300Bosan dengan modul arduino yang kalian punya, saatnya mencoba modul programmer yang lain yah ini dia RASPBERRY PI 4 COMPUTER… selengkapnya
Rp 1.570.000Penurun tegangan DC-DC ekonomis yang bisa distel tegangan output nya. Cocok untuk pemasangan variasi mobil dan sepeda motor, dijadikan charger… selengkapnya
Rp 9.000Pantau Tandon Air Gak Pake Ribet dengan ESP32 dan Sensor Water Level
Kategori
Artikel Terkait
-
Cara Bikin Sistem Monitoring Getaran Gempa dan Stabilitas Kemiringan Pakai ESP32 dan MPU 6050
-
Cara Bikin Sistem Monitoring Kelembapan Tanah Berbasis Arduino Uno dan Sensor YL69
-
Bikin Sistem Monitor Volume Air Tandon Otomatis Pakai Arduino Uno dan Sensor Ultrasonik
-
Cara Bikin Kipas Angin Otomatis Berbasis Suhu Pakai Arduino Uno dan Sensor LM35
-
Bikin Smart Medicine Box Otomatis Pakai Arduino Nano dan Sensor Suhu DHT11

Saat ini belum tersedia komentar.