● online
- Kapton Tape Polymide Film 20mm Polimida 20 mm Isol....
- Motor servo MG996R TowerPro Metal Gear....
- Raspberry Pi 4 Model B 8GB Original UK E14 Raspi 4....
- Kabel Jumper Arduino Dupont 20 cm Female to Male P....
- Kabel Jumper arduino Dupont Pelangi 30 cm Male to ....
- Push Button Tactile Switch Saklar Tombol Tinggi - ....
- PWM DC 10A Motor 12V-40V Pulse Width Modulation Sp....
- Modul Sensor Tegangan AC Bolak balik 220V Listrik ....
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Cara Bikin Sistem Monitoring Kelembapan Tanah Berbasis Arduino Uno dan Sensor YL69
Pernah nggak sih kamu lagi sayang-sayangnya sama tanaman kesayangan, eh tiba-tiba malah layu gara-gara lupa disiram? Atau justru sebaliknya, tanamannya mendadak busuk karena kamu kebanyakan ngasih air (overwatering)? Masalah klasik ini sering banget bikin kita serba salah dalam merawat tanaman!
Nah, buat mengatasi masalah ini, kita bisa memanfaatkan teknologi mikrokontroler. Kalau sebelumnya kita pernah membahas proyek seru lainnya seperti bikin sistem monitor volume air tandon otomatis pakai arduino uno dan sensor ultrasonik, kali ini kita bakal bikin proyek prototipe “Sistem Monitoring Kelembaban Tanah”.
Proyek ini dirancang menggunakan Arduino Uno, sensor kelembaban tanah YL-69, LCD I2C 16×2, dan buzzer. Dengan sistem ini, kondisi kadar air media tanam bisa kamu pantau secara real-time tanpa perlu menebak-nebak lagi!

Alat dan Bahan
| Komponen | Jumlah | Keterangan |
| Arduino Uno ATmega328P | 1 Unit | Mikrokontroler utama sebagai pusat pemrosesan data sistem |
| Sensor Kelembaban Tanah YL-69 | 1 Unit | Sensor resistif untuk membaca kadar air/kelembaban tanah |
| Layar LCD I2C 16×2 | 1 Unit | Modul penampil data visual 2 baris 16 karakter (Alamat I2C: 0x20) |
| Buzzer Aktif 5V | 1 Unit | Transducer suara sebagai indikator alarm peringatan |
| Kabel dan Sumber Daya | Secukupnya | Kabel penghubung rangkaian dan catu daya sistem |
Skematik Rangkaian

Untuk merangkai komponen-komponen di atas, kamu bisa mengikuti panduan koneksi pin berikut ini:
- Sensor Kelembaban Tanah YL-69:
- Pin VCC dihubungkan ke pin 5V atau 3.3V pada Arduino Uno.
- Pin GND dihubungkan ke pin GND Arduino Uno.
- Pin Output Analog (AO) dihubungkan ke Pin Analog A0 pada Arduino Uno.
- LCD I2C 16×2:
- Pin VCC dihubungkan ke pin 5V Arduino Uno.
- Pin GND dihubungkan ke pin GND Arduino Uno.
- Pin SDA dihubungkan ke pin SDA Arduino Uno.
- Pin SCL dihubungkan ke pin SCL Arduino Uno (menggunakan komunikasi I2C dengan alamat
0x20).
- Buzzer Aktif:
- Pin positif (anoda) dihubungkan ke Pin Digital 8 pada Arduino Uno.
- Pin negatif (katoda) dihubungkan ke pin GND Arduino Uno.
Cara Kerja dan Pemrograman
Sistem ini bekerja dengan cara membaca sinyal analog dari sensor YL-69. Pembacaan nilai analog ADC (Analog-to-Digital Converter) pada sistem berada pada rentang 0 hingga 1023. Nilai analog mentah tersebut kemudian dikonversi menjadi skala persentase kelembaban tanah (0–100%) dengan menggunakan fungsi map().
Berdasarkan nilai ambang batas (threshold) pada simulasi, sistem membagi kondisi tanah menjadi 3 kategori:
- Kering: Nilai ADC < 400. Layar LCD akan menampilkan tulisan
"TANAH KERING!!", dan buzzer aktif berbunyi 2 kali sebagai alarm peringatan. - Sedang: Nilai ADC 400–699. Layar LCD menampilkan
"Kondisi SEDANG", dan buzzer dalam kondisi mati (LOW). - Optimal / Basah: Nilai ADC >= 700. Layar LCD menampilkan
"Kondisi OPTIMAL", dan buzzer dalam kondisi mati (LOW).
Selain menampilkan informasi pada layar LCD, data pembacaan nilai sensor dan persentase kelembaban juga dikirimkan ke Serial Monitor agar pengguna bisa memantau kondisi data secara numerik melalui komputer.
Berikut adalah contoh blok kode program Arduino (C/C++) yang digunakan:
```cpp
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Inisialisasi LCD I2C 16x2
LiquidCrystal_I2C lcd(0x20, 16, 2);
// Konfigurasi pin
const int SOIL_PIN = A0;
const int BUZZER_PIN = 8;
// Batas nilai kelembapan
const int BATAS_BASAH = 700;
const int BATAS_SEDANG = 400;
void setup() {
// Memulai komunikasi Serial Monitor
Serial.begin(9600);
// Mengatur pin buzzer sebagai output
pinMode(BUZZER_PIN, OUTPUT);
// Inisialisasi LCD
lcd.init();
lcd.backlight();
// Tampilan awal saat sistem dinyalakan
lcd.setCursor(0, 0);
lcd.print("Soil Monitor");
lcd.setCursor(0, 1);
lcd.print("Loading...");
delay(1000);
}
void loop() {
// Membaca nilai analog dari sensor YL-69
int nilaiSensor = analogRead(SOIL_PIN);
// Mengubah nilai ADC menjadi persentase kelembapan
int persenLembap = map(nilaiSensor, 0, 1023, 0, 100);
persenLembap = constrain(persenLembap, 0, 100);
// Menampilkan data pada Serial Monitor
Serial.print("Nilai ADC: ");
Serial.print(nilaiSensor);
Serial.print(" | Kelembapan: ");
Serial.print(persenLembap);
Serial.println("%");
// Membersihkan tampilan LCD
lcd.clear();
// Kondisi tanah kering
if (nilaiSensor < BATAS_SEDANG) {
lcd.setCursor(0, 0);
lcd.print("TANAH KERING!!");
lcd.setCursor(0, 1);
lcd.print("Lembap:");
lcd.print(persenLembap);
lcd.print("%");
// Buzzer berbunyi dua kali
digitalWrite(BUZZER_PIN, HIGH);
delay(300);
digitalWrite(BUZZER_PIN, LOW);
delay(300);
digitalWrite(BUZZER_PIN, HIGH);
delay(300);
digitalWrite(BUZZER_PIN, LOW);
}
// Kondisi kelembapan sedang
else if (nilaiSensor >= BATAS_SEDANG &&
nilaiSensor < BATAS_BASAH) {
digitalWrite(BUZZER_PIN, LOW);
lcd.setCursor(0, 0);
lcd.print("Kondisi SEDANG");
lcd.setCursor(0, 1);
lcd.print("Lembap:");
lcd.print(persenLembap);
lcd.print("%");
}
// Kondisi kelembapan optimal
else {
digitalWrite(BUZZER_PIN, LOW);
lcd.setCursor(0, 0);
lcd.print("Kondisi OPTIMAL");
lcd.setCursor(0, 1);
lcd.print("Lembap:");
lcd.print(persenLembap);
lcd.print("%");
}
// Jeda sebelum pembacaan berikutnya
delay(1000);
}
```
Secara garis besar, fungsi setup() bertugas melakukan inisialisasi komunikasi serial, mengatur pin output buzzer, serta mengaktifkan layar LCD I2C saat alat pertama kali dinyalakan. Sementara itu, fungsi loop() bertugas menjalankan proses utama secara berulang, mulai dari membaca sinyal sensor, mengonversi nilai, mengirimkan data ke Serial Monitor, menguji kondisi kelembaban berdasarkan threshold, hingga memperbarui tampilan LCD dan indikator suara buzzer.
Pengujian dan Hasil Simulasi Tinkercad

Pengujian seluruh sistem ini dilakukan secara virtual menggunakan platform simulasi Tinkercad. Pada platform tersebut, kondisi tanah disimulasikan menggunakan pengatur slider kelembaban virtual.
Berikut adalah rangkuman hasil pengujian fungsi sensor, LCD, dan buzzer pada berbagai kondisi:
| Kondisi Tanah | Nilai ADC (0–1023) | Persentase Kelembapan | Status Tampilan LCD | Status Buzzer |
| Kering | 0–399 | 0%–38% | TANAH KERING!! | ON (Pola bunyi 2x) |
| Sedang | 400–699 | 41%–64% | Kondisi SEDANG | OFF |
| Optimal | 700–870 | 68%–85% | Kondisi OPTIMAL | OFF |
Perlu diperhatikan bahwa terdapat keterbatasan bawaan (limitation) pada platform simulator Tinkercad, di mana batas maksimum pembacaan sensor tanah virtual berada pada nilai ADC 870 (setara dengan 85% kelembapan). Hal ini sepenuhnya normal pada platform simulator Tinkercad dan bukan disebabkan oleh kerusakan program atau kesalahan penulisan kode.
Tips Penting Implementasi pada Hardware Fisik
Jika kamu berniat merakit proyek ini langsung menggunakan komponen hardware fisik (dunia nyata), ada catatan teknis penting yang wajib kamu ketahui.
Terdapat perbedaan logika antara sensor virtual Tinkercad dengan modul sensor YL-69 fisik asli. Sensor YL-69 bekerja berdasarkan perubahan resistansi listrik pada media tanah, sehingga karakteristik pembacaannya perlu dipahami sebelum diterapkan pada hardware. Untuk mengetahui spesifikasi dan karakteristik modul secara lebih lengkap, kamu bisa melihat datasheet dan referensi sensor YL-69 sebagai panduan tambahan sebelum melakukan kalibrasi dan pengujian.
- Tinkercad Virtual: Bekerja secara linier (semakin basah tanah, nilai ADC semakin tinggi).
- Sensor YL-69 Fisik: Bekerja berbasis resistansi listrik. Saat tanah kering, resistansi tanah sangat tinggi sehingga menghasilkan output nilai ADC yang tinggi (mendekati 1023). Sebaliknya, saat tanah basah, konduktivitas air membuat resistansi rendah sehingga output nilai ADC menjadi rendah.
Oleh karena itu, saat diimplementasikan ke hardware fisik, kamu harus membalik logika pada fungsi map() di dalam kode program menjadi:
persenLembap = map(nilaiSensor, 1023, 0, 0, 100);
Selain itu, logika pengkondisian threshold if-else juga harus disesuaikan, di mana status tanah kering justru akan dipicu saat nilai ADC naik di atas batas tertentu (misalnya > 700).
Pro-Tip Sobat Maker: Buat kamu yang merakit di hardware fisik dan layar LCD-nya menyala tapi nggak menampilkan karakter (hanya berupa kotak putih atau gelap), coba putar potensiometer biru penyesuai kontras yang ada di bagian belakang modul LCD I2C. Selain itu, pastikan kamu sudah menginstal library LiquidCrystal_I2C melalui Menu Library Manager di Arduino IDE sebelum melakukan compile program!
Kesimpulan
Sistem Monitoring Kelembaban Tanah Berbasis Arduino Uno dan Sensor YL-69 ini merupakan solusi praktis untuk memantau kondisi kadar air media tanam secara real-time. Dengan adanya indikator LCD dan alarm buzzer, kita dapat mendeteksi kondisi tanah kering secara presisi sehingga mencegah tanaman dari bahaya kekurangan air maupun kelebihan air (overwatering).
Gimana, seru dan mudah dipahami kan proyeknya? Yuk, Sobat Maker langsung cobain buat proyek ini di simulator Tinkercad atau rakit langsung pakai komponen fisik kamu sendiri! Selamat mencoba dan happy making!
Cara Bikin Sistem Monitoring Kelembapan Tanah Berbasis Arduino Uno dan Sensor YL69
Alat dan Bahan Sensor Inframerah MLX90614 Arduino nano beli Deskripsi Secara internal, MLX90614 terdiri dari dua perangkat yakni... selengkapnya
Halo semuanya, pada kesempatan kali ini saya ingin berbagi tutorial tentang simulasi penggunaan sensor PIR (Passive Infra Red) untuk... selengkapnya
Dulu kita sudah belajar untuk mengisi bootloader Arduino Uno ke IC Atmega328 juga, namun dengan jenis DIP (LIHAT DISINI).... selengkapnya
Telegram adalah sebuah aplikasi chating yang cukup banyak penggunanya dan telegram ini dapat menjawab sendiri sesuai dengan perintah yang... selengkapnya
RFID merupakan suatu teknologi yang dapat mengidentifikasi sebuah objek menggunakan frekuensi radio. Untuk dapat menggunakanya kita membutuhkan sebuah ID... selengkapnya
Gyroscope adalah alat yang mengukur seberapa cepat sebuah benda berputar, yaitu kecepatan rotasinya di sumbu X, Y, dan Z. Modul L3G4200D adalah salah satu gyroscope tiga sumbu yang populer di kalangan para... selengkapnya
Rain sensor merupakan sensor yang berfungsi untuk mendeteksi hujan turun atau tidak. Intinya sensor ini jika terkena air pada... selengkapnya
Pernahkah Anda mengambil foto pada saat hujan lebat, untuk menghasilkan gambar yang benar-benar realistis hujan, beberapa orang akan memperjuangkan... selengkapnya
Memarkir kendaraan di ruang yang sempit sering kali bikin waswas. Jarak antara bemper kendaraan dan dinding atau penghalang lain sangat... selengkapnya
Modul Bluetooth DX-BT18 adalah perangkat elektronika yang digunakan untuk menghubungkan suatu perangkat menggunakan koneksi bluetooth. Saat ini penggunaan sensor sidik... selengkapnya
Kabel jumper Dupont untuk jumper Arduino atau Raspeberry Pi 20 cm Female to female 1 lembar = 40 kabel
Rp 11.300POTENSIOMETER LINEAR MONO 10K ohm
Rp 1.900Kabel jumper Dupont untuk jumper Arduino atau Raspberry Pi 20 cm Male to Male 1 lembar = 40 kabel
Rp 11.300TECHNICAL SPECIFICATIONS: – Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz – 2GB LPDDR4-2400 SDRAM – 2.4… selengkapnya
Rp 940.000Features: It is of high power density, high efficiency, high-reliability, small size and lightweight. It can isolate unsteady single-way voltage… selengkapnya
Rp 18.500Deskripsi Produk “LED Dot Matrix Display dengan 32×8 pixel, berwarna Merah, menggunakan IC MAX7219 sebagai driver dan dapat dikoneksikan ke… selengkapnya
Rp 47.500Specifications: Operating voltage: DC3-5V Operating current: less than 20mA Sensor Type: Analog Detection Area: 40mmx16mm Production process: FR4 double-sided HASL… selengkapnya
Rp 3.000Putaran = 180º Specifications • Weight: 55 g • Dimension: 40.7 x 19.7 x 42.9 mm approx. • Stall torque:… selengkapnya
Rp 36.400The power supply is isolated industrial power modules, with a temperature protection, overcurrent and short circuit full protection, high and… selengkapnya
Rp 15.900Cara Bikin Sistem Monitoring Kelembapan Tanah Berbasis Arduino Uno dan Sensor YL69
Kategori
Artikel Terkait
-
Cara Bikin Sistem Monitoring Getaran Gempa dan Stabilitas Kemiringan Pakai ESP32 dan MPU 6050
-
Bikin Sistem Monitor Volume Air Tandon Otomatis Pakai Arduino Uno dan Sensor Ultrasonik
-
Cara Bikin Kipas Angin Otomatis Berbasis Suhu Pakai Arduino Uno dan Sensor LM35
-
Bikin Smart Medicine Box Otomatis Pakai Arduino Nano dan Sensor Suhu DHT11
-
Bikin Sensor Parkir Otomatis Pakai Arduino Uno dan HC SR04

Saat ini belum tersedia komentar.