Monitoring Level Air Tangki Berbasis ESP8266

Mengetahui kondisi ketersediaan air di dalam tangki atau tandon merupakan hal yang penting, terutama untuk kebutuhan rumah tangga maupun sistem otomatis seperti pompa air. Tanpa sistem monitoring, kita sering kali baru menyadari air habis atau meluap ketika masalah sudah terjadi.

Pada blog post ini, kita akan membahas cara membuat Sistem Monitoring Level Air Tangki menggunakan ESP8266. Sistem ini mampu memberikan indikasi kondisi penuh dan kosong melalui LCD 16×2 dan LED, serta dapat dipantau melalui web browser tanpa koneksi internet.

Sistem monitoring level air ini bekerja dengan mendeteksi ketinggian air di dalam tangki menggunakan sensor level air. Berdasarkan hasil pembacaan sensor, ESP8266 akan menentukan kondisi tangki, apakah dalam keadaan kosong, setengah, atau penuh.

Informasi tersebut ditampilkan secara lokal melalui LCD 16×2 dan LED indikator, serta dapat dipantau melalui halaman web menggunakan HP atau laptop yang terhubung langsung ke WiFi ESP8266.

Alat dan Bahan yang Dibutuhkan

Nama KomponenGambar Komponen
NodeMcu esp8266
Water Level Sensor
LED Merah dan Hijau
Resistor 220 ohm
LCD 16×2 I2C
Kabel Jumper
Breadboard

Gambar Rangkaian

NodeMcu Esp8266LCD I2C
Pin D5SCL
Pin D6SDA
Vin / VuVCC
GNDGND
NodeMcu Esp8266Water Level Sensor
Pin D2S
GNDGND (-)
Vin /VuVCC (+)
NodeMcu Esp8266LED Merah / Hijau
Pin D3Anoda (+) Merah
Pin D4Anoda (+) Hijau
GNDkatoda (-) Merah & Hijau

Cara Kerja Sistem

Cara kerja sistem monitoring level air ini dapat dijelaskan sebagai berikut:

  1. Sensor level air mendeteksi keberadaan air di dalam tangki.
  2. ESP8266 membaca status sensor sebagai input digital.
  3. Sistem menentukan kondisi air berdasarkan input sensor.
  4. LED indikator menyala sesuai kondisi air (penuh atau kosong).
  5. Informasi kondisi air ditampilkan pada LCD 16×2.
  6. ESP8266 menyediakan halaman web untuk memantau kondisi tangki.

Library yang Digunakan

Pastikan library berikut sudah terpasang pada Arduino IDE:

  • ESP8266WiFi.h
  • ESPAsyncWebServer.h
  • ESPAsyncTCP.h
  • LiquidCrystal_I2C.h

Code

#include <ESP8266WiFi.h>
html += "<meta name='viewport' content='width=device-width, initial-scale=1'>";
html += "<title>Monitoring Level Air</title>";
html += "</head><body>";
html += "<h1>Monitoring Level Air Tangki</h1>";
html += "<p>Status Air: ";
html += waterStatusText();
html += "</p>";
html += "</body></html>";
return html;
}


void setup() {
lcd.init();
lcd.backlight();


pinMode(LEVEL_PIN, INPUT);
pinMode(LED_FULL, OUTPUT);
pinMode(LED_EMPTY, OUTPUT);


WiFi.mode(WIFI_AP);
WiFi.softAP(ssid, password);


server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
request->send(200, "text/html", htmlPage());
});


server.begin();
}


void loop() {
int sensorValue = digitalRead(LEVEL_PIN);


if (sensorValue == HIGH) {
waterDetected = true;
digitalWrite(LED_FULL, HIGH);
digitalWrite(LED_EMPTY, LOW);
} else {
waterDetected = false;
digitalWrite(LED_FULL, LOW);
digitalWrite(LED_EMPTY, HIGH);
}


lcd.setCursor(0, 0);
lcd.print("Level Air:");
lcd.setCursor(0, 1);
lcd.print(waterStatusText());
lcd.print(" ");


delay(1000);
}

Cara Menggunakan Sistem

  1. Pasang sensor level air di dalam tangki sesuai ketinggian yang diinginkan.
  2. Rangkai semua komponen sesuai dengan skema koneksi.
  3. Unggah program ke ESP8266 menggunakan Arduino IDE.
  4. Nyalakan sistem dan pastikan LED serta LCD berfungsi dengan baik.
  5. Hubungkan HP atau laptop ke jaringan WiFi WaterLevel_AP.
  6. Buka browser dan akses alamat IP 192.168.4.1 untuk melihat status level air.