Contents
Sensor kelembapan tanah kapasitif (Capacitive Soil Moisture Sensor)adalah sensor untuk mendeteksi kelembaban tanah, sensor ini dapat diintegrasikan dengan mikrokontroler seperti Arduino. Sensor kelembapan tanah ini umumnya dimanfaatkan pada pertanian untuk membuat sistem penyiraman otomatis atau untuk memantau kelembaban tanah tanaman secara offline maupun online. Saat ini sensor kelembapan hadir di pasaran dalam bentuk modul seperti terlihat pada gambar di bawah ini.
Cara kerja sensor kelembapan tanah kapasitif adalah ketika sensor mendeteksi kondisi tanah dalam keadaan kering maka tegangan outputnya akan meningkat, namun saat kondisi tanah terdeteksi basah maka tegangan output sensor akan menurun. Tegangan output sensor ini dapat dipantau melalui serial monitor pada Ardino IDE dalam bentuk nilai analog 0 – 1023. Nilai analog ini digunakan sebagai parameter untuk mengukur kelembapan tanah.
Modul sensor kelembapan tanah memiliki 3 pin yaitu VCC, GND, dan AOUT. Pin Aout inilah yang mengeluarkan tegangan analog yang menunjukkan nilai kelemban tanah. Pin Aout ini kemudian dapat dihubungkan ke sistem mikrokontroller atau komputer melalui pin Analog Digital. Pada beberapa sistem processing yang tidak memiliki pin analog (seperti komputer), Anda akan akan membutuhkan modul ADC (Analog to Digital Converter) untuk mengubah tegangan analog output sensor menjadi nilai yang dapat dibaca komputer.
Untuk lebih memahami prinsip kerja sensor kelembaban tanah kapasitif pada tutorial kali ini ,marilah buat percobaan sederhana berikut ini:
Alat dan Bahan Percobaan Capacitive Soil Moisture-LCD-Uno
- Arduino Uno
- Sensor kelembapan tanah kapasitif v1.2
- Resistor 150 Ω
- LED merah
- LED hijau
- Kabel jumper secukupnya (Male to male dan Male to female)
- LCD 16×2
Dari alat dan bahan di atas, kemudian buatlah rangkaian seperti pada gambar di bawah ini. Kali ini kita akan membuat sistem sederhana menyalakan LED berdasarkan kondisi kelembaban tanah. Untuk nilai kelembaban tanah sendiri juga akan ditampilkan dalam LCD 1602
Konfigirasi pin/wiring rangkaian di atas adalah sebagai berikut:
- VCC dihubungkan dengan 5v Arduino Uno.
- GND dihubungkan dengan GND Arduino Uno.
- AOUT dihubungkan dengan pin A0 Arduino Uno.
- LED merah terhubung dengan pin A1 Arduino Uno.
- LED hijau terhubung dengan pin A2 Arduino Uno.
- Pin SDA LCD 16×2 terhubung dengan pin A4 Arduino Uno.
- Pin SCL LCD 16×2 terhubung dengan pin A5 Arduino Uno
Contoh Sketch Sensor Kelembaban Tanah-LCD-Uno
Setelah hardware sudah siap, kini saatnya untuk mengisi programnya. Berikut ini adalah contoh program untuk menampilkan data sensor kelembapan tanah kapasitif di LCD 1602 menggunakan Arduino Uno. Perhatikan bahwa dalam contoh source code di bawah Anda harus menginstal library ‘LiquidCrystal_I2C.h’ terlebih dahulu. Caranya sangat mudah, yakni melalui menu Tools-Manage Libraries, kemudian ketikkan nama library ke kotak search, setelah itu tekan tombol “Install”
#include <Wire.h> // Memanggil library wire.h #include <LiquidCrystal_I2C.h> // Memanggil library LCD dengan I2C LiquidCrystal_I2C lcd(0x3F, 16, 2); // Alamat I2C(0x27) LCD dan Jenis LCD (20x4) #define Sensor A0 //Deklarasi pin sensor pada pin A0 #define ledM A1 //Deklarasi LED merah pada pin A1 #define ledH A2 //Deklarasi LED hijau pada pin A2 float nilai_sensor; float n_akhir; void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode(ledM, OUTPUT); //deklarasi LED merah sebagai Output pinMode(ledH,OUTPUT); //deklarasi LED hijau sebagai Output lcd.init(); // instruksi untuk memulai LCD lcd.begin(16,2); // instruksi untuk menggunakan lcd 16x2 lcd.backlight(); // instruksi untuk mengaktifkan lampu latar LCD } void loop() { // Instruksi untuk mwngubah nilai analog menjadi persen nilai_sensor = analogRead(A0); n_akhir = map(analogRead(A0), 900, 620, 0, 100); //Nilai sensor tertinggi, terendah if (n_akhir >= 100){ n_akhir = 100; } else if (n_akhir<0) { n_akhir=0; } Serial.print("Nilai Analog: "); //menampilkan nilai analog pada serial monitor Serial.println(nilai_sensor); Serial.print("Nilai Kelembapan: "); //menampilkan hasil konversi nilai analog ke persen Serial.println(n_akhir); delay(1000); if(n_akhir < 30){ // Insttruksi untuk mengaktifkan LED merah jika kelembapan kurang dari 30% digitalWrite(ledM,HIGH); digitalWrite(ledH,LOW); } else if (n_akhir > 60){ // Instruksi untuk mengaktifkan LED hijau jika kelembapan lebih dari 60% digitalWrite(ledH,HIGH); digitalWrite(ledM,LOW); } lcd.setCursor(0, 0); // karakter dimulai dari kolom 5 baris 1 lcd.print("Moisture Sensor"); // Karakter yang akan ditampilkan pada LCD lcd.setCursor(0, 1); // karakter dimulai dari kolom 5 baris 2 lcd.print("Soil:"); // Karakter yang akan ditampilkan pada LCD lcd.print(n_akhir); lcd.print("%"); delay(2000); }
Setelah program selesai diunggah perhatikan nilai analog dan nilai persentase kelembapan tanah sensor yang ditampilkan pada serial monitor dan LCD 16×2 serta kondisi LED
Perhatikan gambar di atas. Saat tanah dalam kondisi kering nilai analog yang terbaca 902 setelah diubah dalam bentuk persen menunjukkan nilai 0% maka LED merah aktif. Saat tanah dalam kondisi kering nilai analog yang terbaca 702 setelah diubah dalam bentuk persen menunjukkan nilai 71% maka LED hijau aktif. Hal ini sesuai dengan instruksi pada baris 41-49
Pada baris program 41-49, script akan mengendalikan LED merah dan hijau untuk ON / OFF berdasarkan nilai analog yang telah diubah dalam bentuk persen (%). Ketika kondisi tanah kering atau kelembapan di bawah 30% maka LED merah akan aktif, namun jika kelembapan tanah yang terdeteksi lebih dari 60% maka LED hijau aktif.
Demikian sedikit tutorial mengenai bagaimana cara menampilkan data sensor kelembaban tanah kapasitif di LCD 16×2 menggunakan Arduino Uno. Perlu untuk Anda ketahui bahwa ada dua macam jenis sensor kelembaban tanah, yang satu adalah tipe kapasitif yang kita gunakan dalam tutorial kali ini, Tipe satunya adalah tipe resistif yang berbasis nilai resistansi, Berdasarkan pengalaman kami, sensor bertipe kapasitif lebih awet dan tahan lama ketika diterapkan pada kondisi sebenarnya (ditancapkan ke tanah) pada rentang yang waktu lama. Selamat bereksperimen
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
Terima kasih banyak kak atas ilmunya. Boleh saya cara akses sensor soil moisture v1.2 di Fritzing? Saya sudah mencoba cari belum ketemu. Makasih kak🙏🏻