PF PurityFlowSmart Water Refill Controller ← Kembali ke portofolio

IoT Water Quality Monitoring & Automated Refill System

Kontrol pengisian galon otomatis, berbasis waktu dan dipantau lewat kualitas air.

PurityFlow mengatur proses pengisian air galon di depot secara otomatis: durasi pengisian konsisten, kualitas air dipantau lewat Gravity Analog TDS Sensor secara real-time, dan data TDS beserta jumlah galon yang sudah terisi dikirim ke backend lewat REST API untuk dipantau lewat web dashboard.

ESP32 Gravity Analog TDS Sensor LCD 20x4 I2C Rotary Encoder EEPROM ElegantOTA Laravel REST API

Tujuan Sistem

Kenapa PurityFlow dibuat

Operator depot air butuh alat yang konsisten dan tidak ribet dioperasikan, bukan sekadar timer manual.

  • Mengotomatisasi proses pengisian air galon
  • Menjaga durasi pengisian tetap konsisten
  • Mencegah overfill dan air tumpah
  • Menampilkan kualitas air secara real-time
  • Mencatat jumlah galon yang sudah diisi
  • Kontrol yang sederhana untuk operator depot

Arsitektur Sistem

Susunan hardware

Sistem bekerja berdasarkan waktu, bukan volume, dengan LCD 20x4 sebagai pusat tampilan dan rotary encoder sebagai kontrol utama.

Microcontroller

ESP32 sebagai pusat kontrol seluruh sistem.

Sensor

Gravity Analog TDS Sensor membaca kualitas air dalam satuan ppm. Hasil pembacaan dikalibrasi agar nilai TDS akurat sebelum diproses dan dikirim ke server.

Output

Relay untuk buka tutup aliran, buzzer, LED indikator, dan LCD 20x4.

Input

Rotary encoder untuk navigasi, tombol start, dan tombol reset.

Network

WiFi untuk OTA update firmware dan pengiriman data ke server.

Mode Operasi

Tiga mode kerja terpisah

Dipisah supaya sistem tetap stabil, terutama saat proses pengisian sedang berjalan.

Monitoring

Menampilkan status sistem, nilai TDS, kualitas air, dan total galon terisi dibanding target.

Mengisi

Menjalankan countdown timer dan relay. WiFi dimatikan sementara supaya tidak ada delay selama proses berjalan.

Setting

Atur durasi pengisian dan target galon. Putar encoder untuk ubah nilai, tahan 3 detik untuk simpan.

Simulasi

Coba dashboard-nya

Ini simulasi ringan di browser yang meniru tampilan LCD dan alur kerja controller aslinya. Data tersimpan di perangkat kamu sendiri, seperti EEPROM pada alat fisiknya.

Standby
PURITYFLOW v1.0
--------------------
TDS: -- ppm
Galon: -- / --
TDS Real-time
--ppm
--
Galon Hari Ini
--galon
Target Galon
--galon

Riwayat Pengisian

    Durasi Pengisian

    Lama relay menyala untuk satu galon

    -- s
    Target Galon

    Batas maksimum sebelum sistem mengunci start

    --

    Koneksi WiFi

    Terhubung, siap OTA

    Status Relay

    Nonaktif

    Status Sensor TDS

    Normal

    Logika Kualitas Air

    Ambang nilai TDS

    Rentang TDSKualitas
    0 sampai 150 ppmTerbaik
    151 sampai 250 ppmBaik
    251 sampai 300 ppmCukup
    301 sampai 500 ppmBuruk
    Di atas 500 ppmWarning

    Keamanan

    Proteksi operasional

    • Pengisian berbasis timer presisi untuk cegah overfill
    • WiFi nonaktif otomatis selama proses pengisian
    • Start terkunci jika target galon sudah tercapai
    • Reset counter hanya lewat tombol tahan beberapa detik

    Backend & Dashboard

    Dari perangkat ke web dashboard

    ESP32 mengirim data TDS dan jumlah galon ke backend Laravel lewat REST API, disimpan ke database, lalu ditampilkan lewat web dashboard sehingga bisa dipantau tanpa harus berada di lokasi depot.

    REST API

    Endpoint Laravel menerima data TDS dan total galon terkini dari ESP32.

    Database

    Data TDS dan riwayat pengisian galon disimpan agar bisa ditelusuri.

    Web Dashboard

    Backend Laravel menyajikan data tersebut lewat web dashboard untuk dipantau jarak jauh.

    Penyimpanan Lokal

    EEPROM di sisi perangkat

    Total galon, setting durasi, dan target maksimum disimpan di EEPROM sehingga tetap ada meski listrik mati. Saat online, ESP32 mengirim TDS dan total galon ke server dengan format berikut.

    /PurityFlow/public/values/{tds}/{total}