Sensor Turbidity adalah sensor kekeruhan air yang digunakan untuk mengukur seberapa keruh atau jernih suatu cairan, biasanya air.Berikut ini adalah code untuk memprogramnya :
#include <Arduino.h>
int port_kejernihan = A0;
float konversi_kejernihan(int sensorValue) {
//jika 0 artinya kotor, jika 100 artinya bersih
float kejernihan = map(sensorValue, 0, 1023, 0, 100); //kalo esp32 4096
return kejernihan;
}
void setup()
{
Serial.begin(9600);
pinMode(port_kejernihan, INPUT);
}
void loop(){
int value_kejernihan = analogRead(port_kejernihan);
float kejernihan = konversi_kejernihan(value_kejernihan);
Serial.println("Kejernihan : " + (String)kejernihan);
}
Berikut ini adalah penjelasan dari kode di atas :
1. Import Library
#include <Arduino.h>
- Library utama Arduino. Wajib untuk board seperti ESP32, ESP8266, dan Arduino core lainnya.
2. Deklarasi Pin
int port_kejernihan = A0;
- Menentukan bahwa pin analog A0 digunakan untuk membaca sensor turbidity.
- Catatan: Jika pakai ESP32, pin analog biasanya GPIO 34, 35, 32, dsb. Bukan
A0(itu khas Arduino UNO).
3. Fungsi Konversi Nilai Sensor
float konversi_kejernihan(int sensorValue) {
float kejernihan = map(sensorValue, 0, 1023, 0, 100);
return kejernihan;
}
Penjelasan:
- Fungsi ini mengubah nilai ADC dari sensor (0–1023) menjadi skala 0–100.
- Fungsi
map()di Arduino mengubah satu rentang nilai menjadi rentang lain.
Catatan penting:
- Jika kamu pakai ESP32, range ADC-nya adalah 0–4095, bukan 0–1023.
Maka perlu diubah:float kejernihan = map(sensorValue, 0, 4095, 0, 100);
4. Fungsi setup()
void setup() {
Serial.begin(9600);
pinMode(port_kejernihan, INPUT);
}
- Memulai komunikasi serial dengan baud rate 9600.
- Menetapkan pin sensor sebagai input.
5. Fungsi loop()
void loop(){
int value_kejernihan = analogRead(port_kejernihan);
float kejernihan = konversi_kejernihan(value_kejernihan);
Serial.println("Kejernihan : " + (String)kejernihan);
}
Apa yang dilakukan:
- Baca data dari sensor turbidity via
analogRead(). - Konversi nilainya ke skala 0–100 dengan fungsi
konversi_kejernihan(). - Cetak hasil ke Serial Monitor.
Contoh Output:
Kejernihan : 82.00
Kejernihan : 80.00
Kejernihan : 79.00
Artinya air dianggap semakin jernih.
Tips Tambahan:
- Sensor turbidity biasanya menghasilkan tegangan lebih rendah saat air lebih keruh. Jadi, nilai ADC kecil = keruh, nilai besar = jernih.
- Untuk ESP32, gunakan
analogReadResolution(12)jika ingin 0–4095. - Bisa juga kalibrasi pakai air bening dan air keruh untuk mendapatkan nilai minimal dan maksimal aktual.
untuk diskusi bisa kontak dibawah ini :

Sosial media :




