● online
- Kabel Jumper 10cm Dupont Pelangi 10 cm Female to M....
- Modul Sensor Tegangan AC Bolak balik 220V Listrik ....
- Potensiometer 10K - Mono Potensio Meter Linear Res....
- Motor servo MG996R TowerPro Metal Gear....
- ADS1115 16 Bit I2C Module ADC 4 channel with Pro G....
- USB To RS485 High Speed Converter RS-485 RS 485 Ad....
- Kapton Tape Polymide Film 20mm Polimida 20 mm Isol....
- Kabel Jumper Dupont Pelangi 30 cm female to Female....
- 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
Selain LED dan tombol, Arduino juga bisa digunakan untuk menghasilkan bunyi menggunakan komponen yang disebut buzzer. Buzzer sering dipakai sebagai... selengkapnya
Pada zaman yang semakin canggih ini banyak orang yang berbondog-bondong memajukan teknologi, salah satunya mengganti sumber daya listrik dengan menggunakan... selengkapnya
Pernah kepikiran nggak sih gimana mobil-mobil modern bisa parkir sendiri dengan sangat presisi tanpa nyenggol tembok? Teknologi itu bukan sihir,... selengkapnya
Kali ini kita akan mencoba menggunakan sensor DHT11 pada ESP32. Seperti yang kita ketahui sensor DHT11 ini berfungsi untuk... selengkapnya
Rain sensor merupakan sensor yang berfungsi untuk mendeteksi hujan turun atau tidak. Intinya sensor ini jika terkena air pada... selengkapnya
Semangat pagi semua, kali ini kita akan belajar mengenai penggunaan LCD pada Arduino tanpa module I2C. Kenapa perlu belajar... selengkapnya
Sensor level A01 Series adalah perangkat yang digunakan untuk mengukur ketinggian permukaan benda padat atau cairan menggunakan gelombang ultrasonik. Sensor ini... selengkapnya
Sensor PIR (Passive Infrared) adalah salah satu sensor yang paling sering digunakan untuk mendeteksi gerakan, terutama gerakan manusia. Sensor ini... selengkapnya
Javascript adalah scripting atau bahasa pemrograman yang digunakan pada suatu web pada level klien (Client side) agar web tersebut... selengkapnya
Sudah pernah menyalakan LED menggunakan Python? Atau membaca input dari tombol? Di proyek kali ini, kamu akan menggabungkan dua fungsi... selengkapnya
Tang Crimping Press Skun Ratchet YTH SN-48B Model YTH SN-48B FOR NON INSULATED TERMINAL YTH SN-48B dengan mata Press 0.5… selengkapnya
Rp 150.000Bosan dengan modul arduino yang kalian punya, saatnya mencoba modul programmer yang lain yah ini dia RASPBERRY PI 4 COMPUTER… selengkapnya
Rp 1.199.000Case patern: Solid Warna : Merah dan Hijau Current: 10-20 mA Diameter: 3mm
Rp 300Harga untuk 10pcs Resistance: 220 Ohm Wattage Rating: 0.25 Watt Tolerance: 1% Metal Film Lead Free ROHS compliant
Rp 1.500Harga untuk 10pcs Resistance: 1K Ohm Wattage Rating: 0.25 Watt Tolerance: 1% Metal Film
Rp 1.500ESP-WROOM-32 is Powered by Espressif’s most advanced SoC, the ESP-WROOM-32 features high performance, a wide range of peripherals, Wi-Fi and… selengkapnya
Rp 38.400Kabel jumper 20 cm merk Dupont untuk Arduino Female to male 1 lembar = 40 kabel
Rp 11.300sg90 towerpro penggerak pada robot-robot kecil, dan bisa digunakan sebagai alat untuk hobi membuat robot dsb, dengan berat sekitar 9g… selengkapnya
Rp 15.500Bosan dengan modul arduino yang kalian punya, saatnya mencoba modul programmer yang lain yah ini dia RASPBERRY PI 4 COMPUTER… selengkapnya
Rp 1.570.000Description: TP5100 is a double switch buck 8.4V, single cell 4. 2V lithium battery charge management chip. Its ultra-compact QFN16… selengkapnya
Rp 10.600Pantau Tandon Air Gak Pake Ribet dengan ESP32 dan Sensor Water Level
Kategori
Artikel Terkait
-
Biar Dapur Anti Kebakaran Yuk Bikin Detektor Gas dan Asap Sederhana Pakai Arduino Uno
-
Jaga Rumah dari Kebakaran dengan Sistem Monitoring Arduino yang Satset dan Akurat
-
Bikin Sendiri Alat Pendeteksi Hujan Pakai Arduino Uno Biar Gak Kaget Pas Jemuran Basah
-
Jaga Kualitas Udara Kamar Tetap Sehat Pakai ESP32 dan Sensor MQ-135
-
Bikin Kipas Angin Pintar Sendiri Pakai Arduino dan Algoritma PID Biar Ruangan Makin Adem

Saat ini belum tersedia komentar.