Halo, Semuanya!, bertemui lagi dengan saya yang udah lama nggak nulis karena libur sekolah. Dalam dunia pertanian, pemantauan kelembaban tanah menjadi sangat penting untuk meningkatkan menjaga kesehatan tanaman dan efisiensi penggunaan air . Disini kita kan menggunakan sensor kelembaban tanah kapasitif untuk melakukan pemantauan kondisi tanah tempat tanaman kita. Dalam postingan ini, kita akan membahas bagaimana cara membuat antarmuka sensor kelembaban tanah kapasitif menggunakan Arduino UNO. Project ini nantinya bisa dikembangkan sedemikain rupa untuk mendukung sistem pertanian yang modern. Yuk, kita mulai!
Sensor Kelembaban Tanah Kapasitif
Sensor kelembaban tanah kapasitif adalah alat yang digunakan untuk mengukur kadar kelembaban tanah dengan cara mengukur perubahan kapasitansi listrik disekitar tanah. Sensor ini lebih akurat dan tahan lama dibandingkan dengan sensor kelembaban resistif (yang memiliki 2 probe), sehingga sangat cocok untuk penggunaan jangka panjang.

Untuk dapat mengendalikan input dari sensor ini, kita akan menggunakan Arduino sebagai otaknya. Untuk itu kita perlu mempersiapkan alat, bahan, gambar rangkaian dan contoh codingnya.
Alat dan Bahan
Alat/Bahan | Kebutuhan |
---|---|
Arduino UNO | 1 Buah |
Sensor Kelembaban Tanah Kapasitif | 1 buah |
Layar LCD | 1 buah |
Breadboard | 1 buah |
kabel jumper / kabel biasa | secukupnya |
Gambar Rangkaian

Instalasi Library LCD 16×2 I2C
untuk bisa mengendalikan sensor LCD 16×2 dengan mudah, kita perlu menginstal library untuk kedua modul tersebut dengan mengikuti langkah-langkah berikut ini:
Bukalah aplikasi Arduino IDE, lalu buka library manager yang terdapat disebelah kiri layar

Library yang akan kita instal adalah library LiquidCrystal_I2C. Gunakan kotak pencarian untuk mempermudah pencarian library yang dimaksud. Lewati langkah ini jika library sudah pernah diinstal sebelumnya.

Setelah library berhasil terinstal, maka kita bisa lanjut ke proses penulisan code program. yukk lanjut…
Coding
/* Gantilah nilai-nilai variabel dibawah ini sesuai dengan hasil pemantauan mu */
#define nilaiBasah 277 // nilai maksimal, kita anggap ini sebagai kondisi basah
#define nilaiKering 380 // nilai minimal, kita anggap sebagai kering
// pin yang terhubung ke sensor
#define sensorPin A0
//library LCD
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.setCursor(2, 0);
lcd.print("Please Wait");
//tunggu 10 detik sebelum sensor aktif
lcd.setCursor(0, 1);
for (int a = 10; a >= 0; a--) {
Serial.println(a);
lcd.print(">");
delay(1000);
}
lcd.clear();
Serial.print("Sensor Aktif");
lcd.setCursor(2, 0);
lcd.print("Sensor Aktif");
delay(1000);
lcd.clear();
}
void loop() {
// pembacaan input dari sensor
int lembab = analogRead(sensorPin);
//menampilkan hasil pembacaan
Serial.print("Analog output: ");
Serial.println(lembab);
// penentuan kondisi tanah
if (lembab < nilaiBasah) {
Serial.println("Status: tanah terlalu basah");
lcd.setCursor(0, 0);
lcd.print("Kondisi Tanah");
lcd.setCursor(0, 1);
lcd.print("terlalu Basah");
} else if (lembab >= nilaiBasah && lembab < nilaiKering) {
Serial.println("Status: sempurna");
lcd.setCursor(0, 0);
lcd.print("Kondisi Tanah");
lcd.setCursor(0, 1);
lcd.print("sempurna");
} else {
Serial.println("Status: Tanah terlalu kering, perlu disiram");
lcd.setCursor(0, 0);
lcd.print("Kondisi Tanah");
lcd.setCursor(0, 1);
lcd.print("terlalu Kering");
}
Serial.println();
delay(1000);
lcd.clear();
}
Upload kode diatas, cek dahulu pastikan tidak ada yang error. Setelah upload berhasil, kita bisa langsung uji coba dengan menggunakan sampel tanah basah dan kering.
Sampai disini dulu, selamat mencoba.