Buka Senin - Jumat jam 08.30 s/d jam 16.30 , Sabtu Jam 8.30 s/d jam 13.00 , Minggu tutup
  • 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.
Beranda » Blog » Cara Bikin Alat Monitoring Kelembapan Tanah Otomatis Berbasis Arduino Uno

Cara Bikin Alat Monitoring Kelembapan Tanah Otomatis Berbasis Arduino Uno

Diposting pada 5 October 2026 oleh indo maker / Dilihat: 63 kali

Halo Sobat! Punya tanaman kesayangan di rumah atau lagi berniat mencoba proyek smart garden? Sering kali kita merasa bingung menentukan kapan waktu yang tepat untuk menyiram tanaman. Kalau cuma mengandalkan perkiraan visual atau jadwal rutin semata, tanah bisa saja tanpa disadari terlalu kering (under-watering) atau justru terlalu basah (over-watering). Hal ini berisiko merusak kesehatan akar hingga membuat tanaman layu. Nah, solusinya adalah dengan membuat sistem monitoring kelembapan tanah sederhana berbasis Arduino Uno dan soil moisture sensor. Alat ini bakal membantu kamu memantau kadar air tanah secara real-time dan presisi!

1. Kenal Lebih Dekat Sistem Monitoring Kelembapan Tanah

Dalam konsep smart garden, penggunaan teknologi otomasi memungkinkan kita mengelola tanaman secara lebih terukur dan efisien. Sistem monitoring kelembapan tanah ini dirancang untuk membaca kadar air dalam tanah secara real-time. Hasil pembacaan tersebut akan langsung ditampilkan pada layar LCD 16×2 I2C berupa persentase kadar air beserta status kondisi tanah, serta diperjelas oleh indikator visual berupa lampu LED RGB.

Manfaat praktis dari alat ini adalah menghilangkan faktor tebak-tebakan saat merawat tanaman. Kamu bisa mencegah kerusakan tanaman akibat kesalahan penanganan seperti over-watering atau under-watering, sekaligus mengoptimalkan penggunaan air agar lebih hemat berdasarkan data yang presisi. Mencoba proyek mikrokontroler seperti ini sama asyiknya dengan mencoba proyek otomasi lainnya seperti bikin smart medicine box otomatis pakai arduino nano dan sensor suhu dht11 yang juga memanfaatkan sensor dan mikrokontroler.

2. Alat dan Bahan

Berikut adalah daftar komponen yang kamu butuhkan untuk merangkai alat ini:

Komponen Jumlah Keterangan
Arduino Uno 1 buah Otak/mikrokontroler utama berbasis ATmega328P.
Sensor Soil Moisture 1 buah Probe dan modul elektronik pemindai kelembapan tanah (input analog pin A0).
LCD 16×2 I2C 1 buah Layar penampil karakter 2 baris x 16 kolom dengan modul backpack PCF8574 (alamat 0x27).
LED RGB 1 buah Indikator warna visual kondisi tanah (Pin 2 Merah, Pin 3 Hijau, Pin 4 Biru).
Catu Daya 5V / Kabel USB 1 buah Sumber daya listrik sistem.

3. Skematik Rangkaian

Menghubungkan antar komponen pada proyek ini sangat mudah dan cocok untuk pemula. Secara fisik, soil moisture sensor terdiri dari dua bagian utama, yaitu probe bercabang dua yang ditancapkan ke media tanah dan modul rangkaian elektronik (driver) yang memproses sinyal serta mengeluarkan output analog. Kalau kamu ingin memahami karakteristik dan cara kerja sensor ini lebih detail sebelum merangkainya, kamu bisa melihat referensi teknis soil moisture sensor sebagai bahan tambahan.

Berikut detail jalur koneksi pin yang perlu kamu pasang:

  • Sensor Soil Moisture: Pin Output Analog (AO) modul terhubung ke Pin Analog A0 pada Arduino Uno. Pin VCC disambungkan ke 5V dan GND ke GND.
  • LED RGB:
    • Pin Merah (Red) \rightarrow Pin Digital 2 Arduino Uno.
    • Pin Hijau (Green) \rightarrow Pin Digital 3 Arduino Uno.
    • Pin Biru (Blue) \rightarrow Pin Digital 4 Arduino Uno.
  • LCD 16×2 I2C: Terhubung ke bus I2C Arduino Uno (SDA ke Pin SDA/A4, SCL ke Pin SCL/A5), serta pin VCC ke 5V dan GND ke GND.
  • Sumber Daya: Menggunakan Catu Daya 5V via kabel USB atau adaptor/baterai eksternal.

Pro Tip untuk Pemula: Karena beberapa komponen (LCD, Sensor, dan LED RGB) membutuhkan jalur Ground dan Daya, gunakan breadboard untuk membagi pin 5V dan GND dari Arduino Uno. Pastikan semua GND terhubung ke satu jalur (common ground) agar pembacaan sinyal sensor tidak mengalami noise atau ketidakstabilan!

4. Cara Kerja Sistem dan Alur Program

Alur kerja sistem monitoring kelembapan tanah ini dibagi menjadi beberapa tahapan utama dari awal dinyalakan hingga terus berjalan:

  • Tahap Inisialisasi: Saat daya menyala, fungsi setup() mengonfigurasi Pin 2, 3, dan 4 sebagai OUTPUT dengan kondisi awal LOW (0/mati). Layar LCD menyalakan backlight dan menampilkan pesan welcome berupa " Monitoring " di baris pertama dan "Kelembapan Tanah" di baris kedua selama 2 detik sebelum layar dibersihkan (lcd.clear()).
  • Tahap Pembacaan Data Analog: Soil moisture sensor membaca kandungan air volumetrik di dalam tanah dan mengirimkan data analog mentah (raw data) berkisar antara 0 hingga 1023 ke Pin A0 Arduino melalui instruksi analogRead(A0).
  • Tahap Pemrosesan Konversi: Nilai analog diubah menjadi skala persentase (0% hingga 100%) menggunakan fungsi pemetaan map(sensor, 0, 850, 0, 100). Batas atas 850 digunakan untuk penyesuaian sensitivitas pada kondisi tanah paling basah. Digunakan juga instruksi constrain(nilai, 0, 100) agar pembacaan stabil dan tidak bernilai minus atau melebihi 100%.
  • Tahap Keputusan Output:
    • Kondisi Basah (Nilai > 50%): Layar LCD menampilkan persentase dan teks BASAH (WET) . Arduino memanggil fungsi rgb(0, 1, 0) yang mengaktifkan Pin 3 (HIGH/Hijau) sementara Pin 2 (Merah) dan Pin 4 (Biru) tetap LOW (Mati). LED RGB menyala warna Hijau menandakan kondisi tanah aman atau cukup air.
    • Kondisi Kering (Nilai \le 50%): Layar LCD menampilkan persentase dan teks KERING (DRY) . Arduino memanggil fungsi rgb(1, 0, 0) yang mengaktifkan Pin 2 (HIGH/Merah) sementara Pin 3 (Hijau) dan Pin 4 (Biru) tetap LOW (Mati). LED RGB menyala warna Merah sebagai peringatan bahwa tanah membutuhkan penyiraman.

5. Kode Program Arduino

Sebelum memasukkan kode di bawah ini ke Arduino IDE, pastikan kamu sudah menginstal pustaka (library) LiquidCrystal_I2C. Jika belum, kamu bisa menginstalnya dengan mudah melalui menu Sketch \rightarrow Include Library \rightarrow Manage Libraries…, lalu cari LiquidCrystal_I2C dan klik Install.

Berikut adalah skrip kode C/C++ lengkap yang dapat kamu salin dan upload:

#include <LiquidCrystal_I2C.h>

// Inisialisasi LCD I2C
LiquidCrystal_I2C lcd(0x27, 16, 2);

// Fungsi untuk mengatur warna LED RGB
void rgb(bool merah, bool hijau, bool biru) {
  digitalWrite(2, merah);
  digitalWrite(3, hijau);
  digitalWrite(4, biru);
}

void setup() {
  // Konfigurasi pin LED RGB sebagai output
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);

  // Mematikan semua warna LED saat awal
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);

  // Inisialisasi LCD
  lcd.init();
  lcd.backlight();

  // Menampilkan pesan pembuka
  lcd.setCursor(0, 0);
  lcd.print("   Monitoring   ");

  lcd.setCursor(0, 1);
  lcd.print("Kelembapan Tanah");

  delay(2000);
  lcd.clear();
}

void loop() {
  // Membaca nilai kelembapan dari sensor pada pin A0
  int sensor = analogRead(A0);

  // Mengubah nilai sensor menjadi persentase 0-100%
  int nilai = map(sensor, 0, 850, 0, 100);
  nilai = constrain(nilai, 0, 100);

  // Menampilkan nilai kelembapan pada LCD
  lcd.setCursor(0, 0);
  lcd.print("Nilai: ");
  lcd.print(nilai);
  lcd.print("%  ");

  // Menentukan kondisi tanah berdasarkan nilai kelembapan
  lcd.setCursor(0, 1);

  if (nilai > 50) {
    // Kondisi tanah basah
    lcd.print("   BASAH (WET)  ");

    // LED hijau menyala
    rgb(LOW, HIGH, LOW);
  } 
  else {
    // Kondisi tanah kering
    lcd.print("  KERING (DRY)  ");

    // LED merah menyala
    rgb(HIGH, LOW, LOW);
  }

  // Jeda pembacaan selama 1 detik
  delay(1000);
}

Ulasan Kode Singkat: Fungsi tambahan rgb() dibuat untuk mempermudah pengaturan status pin digital 2, 3, dan 4 secara bersamaan pada LED RGB. Penentuan ambang batas (threshold) sebesar 50% menjadi titik acuan status tanah. Selain itu, terdapat penambahan delay(1000) di dalam fungsi loop() untuk memberikan jeda pembacaan sampel selama 1 detik agar tampilan karakter pada layar LCD tetap stabil dan tidak berkedip (flicker).

6. Pengujian dan Hasil Pembacaan

Gimana Sobat, gampang banget kan perangkainnya? Begitu probe sensor kamu tancapkan ke media tanah, kamu bisa langsung melihat respons sistem secara real-time. Pengujian membuktikan bahwa sistem ini bekerja secara presisi dan efektif!

Transisi indikator visual berjalan sangat mulus: saat sensor berada di tanah yang cukup basah dengan kelembapan di atas 50%, layar LCD akan menampilkan persentase bersama status BASAH (WET) dan LED RGB menyala hijau. Ketika sensor dipindahkan ke tanah kering sehingga kelembapan turun ke 50% atau di bawahnya, status pada layar LCD akan langsung berubah menjadi KERING (DRY) dan LED RGB seketika berganti warna menjadi merah sebagai peringatan visual.

7. Kesimpulan dan Pengembangan Lanjut

Kesimpulan: Sistem monitoring kelembapan tanah berbasis Arduino Uno, sensor soil moisture, LCD 16×2 I2C, dan LED RGB berhasil bekerja akurat menghilangkan faktor menebak-nebak kondisi media tanam. Pemeliharaan tanaman pada smart garden pun menjadi jauh lebih efisien, terukur, dan berbasis data riil.

Saran Pengembangan (Smart Irrigation): Karena sistem ini masih terbatas pada pemantauan visual, pengembangan berikutnya dapat ditambahkan aktuator berupa modul relay dan pompa air DC mini. Dengan begitu, sistem bisa bertransformasi menjadi penyiram otomatis (smart irrigation) yang memicu pompa menyiram tanaman saat tanah terdeteksi kering dan otomatis berhenti menyiram saat kelembapan tanah sudah kembali ideal (basah).

Bagikan ke

Cara Bikin Alat Monitoring Kelembapan Tanah Otomatis Berbasis Arduino Uno

Saat ini belum tersedia komentar.

Silahkan tulis komentar Anda

Cara Bikin Alat Monitoring Kelembapan Tanah Otomatis Berbasis Arduino Uno

Produk yang sangat tepat, pilihan bagus..!

Berhasil ditambahkan ke keranjang belanja
Lanjut Belanja
Checkout
Produk Quick Order

Pemesanan dapat langsung menghubungi kontak dibawah: