Elektronika & Robotika Dasar

Pertemuan 9

Sensor Lingkungan - Soil Moisture, Rain Sensor & Water Level

Peringatan keselamatan: Bagian pelat logam sensor boleh terkena air, tapi jangan sampai modul elektronik (bagian IC/komponen) ikut terendam atau terkena percikan air.

Tujuan Pembelajaran

  • Memahami prinsip kerja sensor kelembaban tanah, sensor hujan, dan sensor level air.
  • Mampu memasang dan membaca ketiga sensor tersebut.
  • Memahami potensi penerapan ketiganya untuk sistem monitoring/otomatisasi lingkungan.

Penjelasan Konsep

Prinsip yang sama, aplikasi berbeda

Ketiga sensor di pertemuan ini bekerja dengan prinsip serupa: mengukur perubahan resistansi/konduktivitas akibat air, lewat dua jalur logam yang terbuka (exposed) pada permukaan sensor. Semakin banyak air/kelembaban yang menghubungkan kedua jalur tersebut, semakin berubah nilai yang terbaca.

  • Soil Moisture - dua probe ditancapkan ke tanah, mengukur seberapa lembab tanah di sekitarnya. Semakin lembab, semakin kecil resistansi (nilai analog berubah).
  • Rain Sensor - papan sensor dengan jalur logam terbuka diletakkan miring di luar ruangan; saat terkena tetesan hujan, nilai pembacaannya berubah.
  • Water Level Sensor - jalur logam bertingkat yang direndam sebagian ke air; semakin tinggi permukaan air yang menyentuh jalur, semakin besar area kontak dan semakin berubah nilai pembacaan (bisa dipakai memperkirakan ketinggian air).

Analog vs Digital output

Ketiga modul umumnya punya pin AO (analog out) untuk nilai presisi (0-1023) dan DO (digital out) untuk ambang batas ON/OFF sederhana (diatur trimpot on-board). Pertemuan ini fokus memakai AO agar bisa melihat variasi nilainya.

Potensi penerapan

Ketiga sensor ini sangat relevan untuk project smart farming atau sistem peringatan banjir sederhana - topik yang populer untuk project Semester 2.

Kesalahan umum

  • Membiarkan probe terendam air/tanah basah dalam waktu lama - jalur logam sensor ini bersifat sederhana dan bisa mengalami korosi/karat jika terus-menerus lembab tanpa pernah dikeringkan, terutama Soil Moisture yang tertanam dalam tanah lembab.
  • Menyamakan nilai mentah antar sensor - meski sama-sama membaca 0-1023, ambang batas "basah/kering" untuk Soil Moisture berbeda jauh dari ambang batas "hujan/tidak" pada Rain Sensor; masing-masing perlu dikalibrasi terpisah.
  • Tidak mengeringkan sensor sebelum dipakai ulang - sisa air/kelembaban dari pengujian sebelumnya bisa membuat pembacaan awal tidak akurat.
  • Salah kabel AO vs DO - jika tidak sengaja memakai pin DO padahal kode membaca lewat analogRead(), nilai yang didapat hanya akan berupa dua kondisi ekstrem (0 atau 1023), bukan variasi bertingkat.

Komponen yang Dibutuhkan

  • 1x Arduino Uno atau ESP32
  • 1x Soil Moisture Sensor
  • 1x Rain Sensor
  • 1x Water Level Sensor
  • Wadah air kecil untuk uji coba (opsional, untuk rain & water level)
  • Breadboard, kabel jumper

Diagram / Skema Pengkabelan

Ketiga modul memakai pola pin yang sama:
  VCC -> 5V
  GND -> GND
  AO  -> pin analog (mis. Soil Moisture -> A0, Rain Sensor -> A1, Water Level -> A2)

Modul Rain Sensor dan Water Level punya bagian logam terbuka yang akan basah saat pengujian - pastikan konektor/modul elektroniknya (bagian dengan komponen IC) tidak ikut terendam air, hanya bagian pelat sensor saja yang boleh terkena air.

Contoh Kode Program

// Membaca 3 sensor lingkungan berbasis kelembaban/air

const int pinSoil = A0;
const int pinRain = A1;
const int pinWaterLevel = A2;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int soil = analogRead(pinSoil);
  int rain = analogRead(pinRain);
  int waterLevel = analogRead(pinWaterLevel);

  Serial.print("Soil: ");
  Serial.print(soil);
  Serial.print(" | Rain: ");
  Serial.print(rain);
  Serial.print(" | Water Level: ");
  Serial.println(waterLevel);

  delay(500);
}

Tugas / Latihan

  1. Uji Soil Moisture pada tanah kering dan tanah basah, catat perbedaan nilainya untuk menentukan ambang batas "perlu disiram".
  2. Uji Rain Sensor dan Water Level dengan meneteskan sedikit air, amati seberapa cepat nilainya berubah.
  3. Rancang logika sederhana: kapan sistem penyiram tanaman otomatis seharusnya menyala berdasarkan nilai Soil Moisture?
  4. (Tantangan) Buat program yang mengklasifikasikan nilai Water Level menjadi 3 kategori bertingkat ("Aman", "Waspada", "Bahaya") menggunakan dua ambang batas berbeda, bukan hanya kondisi ON/OFF.