Cara Menggunakan Sensor Water Level Pada ESP32

Cara Menggunakan Sensor Water Level Pada ESP32

Sensor water level (sensor ketinggian air) adalah perangkat yang digunakan untuk mendeteksi ketinggian atau keberadaan air di suatu wadah, tangki, atau area tertentu.

Berikut adalah cara memprogram sensor water level pada esp32 :

#include <Arduino.h>


int port_waterlevel = A0;




void setup()
{
Serial.begin(9600);
pinMode(port_waterlevel, INPUT);

}
void loop(){
int value_waterlevel = analogRead(port_waterlevel);
int waterlevel = map(value_waterlevel, 0, 1023, 0, 100); 
Serial.println("WaterLevel % : " + (String)waterlevel);


}


Berikut adalah penjelasan dari kode diatas :

Berikut penjelasan kode Arduino tersebut, baris per baris:

1. Library

#include <Arduino.h>
  • Menyertakan pustaka Arduino. Ini memberi akses ke fungsi seperti pinMode, analogRead, Serial, dll.

2. Deklarasi Variabel

int port_waterlevel = A0;
  • Mendefinisikan bahwa sensor water level terhubung ke pin analog A0.
  • port_waterlevel digunakan agar lebih mudah menyebutkan pin yang digunakan nanti.

3. Fungsi setup()

void setup()
{
  Serial.begin(9600);
  pinMode(port_waterlevel, INPUT);
}
  • Serial.begin(9600);: Mengaktifkan komunikasi serial dengan kecepatan 9600 bps.
  • pinMode(port_waterlevel, INPUT);: Menentukan pin A0 sebagai input analog untuk membaca data dari sensor.

4. Fungsi loop()

void loop(){
  int value_waterlevel = analogRead(port_waterlevel);
  int waterlevel = map(value_waterlevel, 0, 1023, 0, 100); 
  Serial.println("WaterLevel % : " + (String)waterlevel);
}

Penjelasan baris demi baris:

a.

int value_waterlevel = analogRead(port_waterlevel);
  • Membaca nilai analog dari sensor water level di pin A0.
  • Nilai yang dibaca akan berada di antara 0–1023, tergantung jumlah air yang menyentuh sensor.

b.

int waterlevel = map(value_waterlevel, 0, 1023, 0, 100);
  • Fungsi map() digunakan untuk mengubah skala nilai dari 0–1023 menjadi 0–100 persen.
  • Tujuannya agar lebih mudah dipahami sebagai persentase ketinggian air.

Contoh:

  • Jika value_waterlevel = 512, maka waterlevel ≈ 50 (%)
  • Jika value_waterlevel = 800, maka waterlevel ≈ 78 (%)

c.

Serial.println("WaterLevel % : " + (String)waterlevel);
  • Menampilkan hasil konversi ke Serial Monitor, misalnya: WaterLevel % : 73

Ringkasan

Kode ini digunakan untuk:

  • Membaca data dari sensor water level analog (misalnya YL-69, HL-83, dsb).
  • Mengonversi data menjadi persentase ketinggian air.
  • Menampilkannya ke Serial Monitor secara real-time.

untuk diskusi bisa kontak dibawah ini :

Sosial media :

Apa itu ESP32?