Panduan DIY Membuat Sistem Penyiraman Tanaman Otomatis Berbasis IoT dan NodeMCU ESP8266

Bagi pehobi tanaman hias atau pelaku pertanian kota (urban farming), merawat tanaman agar tetap subur di tengah kesibukan aktivitas harian adalah tantangan tersendiri. Sering kali tanaman layu atau bahkan mati akibat lupa disiram saat Anda harus pergi bekerja atau bepergian ke luar kota selama beberapa hari. Di sisi lain, menyiram tanaman secara berlebihan setiap hari juga tidak baik karena dapat memicu pembusukan akar akibat tanah yang terlampau basah (overwatering).

Solusi modern untuk mengotomatiskan tugas harian ini adalah dengan merakit sendiri Sistem Penyiraman Tanaman Otomatis berbasis Internet of Things (IoT) menggunakan mikrokontroler murah NodeMCU ESP8266. Dengan sistem ini, kelembaban tanah pot tanaman akan dipantau secara terus-menerus oleh sensor pintar. Jika tanah terdeteksi kering, sistem akan otomatis menyalakan pompa air mikro, mengirimkan laporan notifikasi ke ponsel Anda, dan mematikan pompa kembali saat kelembaban tanah telah berada di tingkat ideal.

Diagram Sirkuit Elektronik Sistem Siram Otomatis

Berikut adalah skema hubungan perkabelan sederhana antara mikrokontroler NodeMCU ESP8266, sensor kelembaban tanah, modul relay, dan pompa air DC:

[ Sensor Kelembaban Tanah (Analog) ] ──► ( Pin A0 ) ──► [ NodeMCU ESP8266 ]
                                                            │
                                                     ( Pin D1 / GPIO 5 )
                                                            ▼
[ Sumber Daya Adaptor 5V/12V ] ──► [ Modul Relay 5V ] ◄─────┘
         │
         ▼
[ Pompa Air DC 5V/12V ] ──► Selang Nozzle Air ──► Pot Tanaman

Mikrokontroler NodeMCU ESP8266 bertindak sebagai unit pemroses data sekaligus pemancar Wi-Fi untuk mengirimkan status kelembaban tanah ke server cloud, sementara modul relay bertindak sebagai sakelar elektronik bertegangan rendah untuk mengontrol hidup-mati motor pompa air secara aman.

Formula Perhitungan Kalibrasi Kelembaban Tanah ($P_{\text{kelembaban}}$)

Sensor kelembaban tanah analog (tipe Soil Moisture Sensor v1.2 kapasitif yang tahan karat) menghasilkan output nilai tegangan analog analog berkisar dari $0$ hingga $1023$ (nilai ADC $10\text{-bit}$ pada NodeMCU). Nilai ADC yang tinggi menandakan tanah sangat kering, sedangkan nilai ADC yang rendah menandakan tanah sangat basah.

Untuk mempermudah pemantauan pada aplikasi ponsel, kita harus mengubah nilai mentah ADC tersebut menjadi nilai persentase kelembaban tanah ($P_{\text{kelembaban}}$) menggunakan rumus matematika interpolasi linier berikut:

$$P_{\text{kelembaban}} = \left( 1 – \frac{\text{ADC}_{\text{aktual}} – \text{ADC}_{\text{basah}}}{\text{ADC}_{\text{kering}} – \text{ADC}_{\text{basah}}} \right) \times 100\%$$

Di mana:

  • $\text{ADC}_{\text{aktual}}$ = Nilai pembacaan analog sensor saat ini pada pin A0.
  • $\text{ADC}_{\text{kering}}$ = Nilai kalibrasi sensor saat diletakkan bebas di udara terbuka tanpa tanah (nilai rata-rata sekitar $800$).
  • $\text{ADC}_{\text{basah}}$ = Nilai kalibrasi sensor saat dicelupkan langsung ke dalam segelas air bersih (nilai rata-rata sekitar $350$).

Contoh Kasus: Jika hasil pembacaan analog saat ini ($\text{ADC}_{\text{aktual}}$) adalah $575$:

$$P_{\text{kelembaban}} = \left( 1 – \frac{575 – 350}{800 – 350} \right) \times 100\% = \left( 1 – \frac{225}{450} \right) \times 100\% = (1 – 0.5) \times 100\% = 50\%$$

Interpretasi: Tanah tanaman saat ini berada pada kelembaban ideal sebesar 50%.

Komparasi Jenis Sensor Kelembaban Tanah DIY

Berikut adalah matriks perbandingan antara dua jenis sensor kelembaban tanah yang umum dijual di pasaran untuk membantu Anda memilih jenis sensor terbaik untuk jangka panjang:

Parameter Evaluasi Sensor Resistif Tradisional (Kabel Garpu) Sensor Kapasitif Modern (Soil v1.2) Dampak Terhadap Sistem
Prinsip Kerja Mengukur hambatan listrik antar kutub logam. Mengukur perubahan kapasitansi dielektrik tanah. Akurasi pembacaan lebih stabil pada jenis kapasitif.
Ketahanan Korosi Sangat Buruk (lapisan tembaga terkikis dalam $2$ bulan). Sangat Baik (tidak ada logam terbuka yang kontak tanah). Menentukan masa pakai operasional sensor di dalam tanah.
Harga Komponen Sangat Murah (sekitar Rp5.000). Murah (sekitar Rp12.000 – Rp20.000). Perbedaan biaya tidak signifikan untuk skala rumahan.
Stabilitas Sinyal Sering melesat akibat pengaruh zat garam pupuk tanah. Stabil dan tidak dipengaruhi oleh tingkat salinitas air. Menghindari kesalahan pompa menyala terus-menerus.

Kode Program Arduino (C++) untuk Sistem Siram Otomatis

Berikut adalah contoh kode pemrograman siap pakai untuk diunggah (flash) ke papan NodeMCU ESP8266 menggunakan Arduino IDE. Kode ini dilengkapi dengan logika threshold pengaman otomatis untuk mencegah banjir air jika sensor mengalami kerusakan:

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// Token otentikasi dari aplikasi Blynk IoT
char auth[] = "TokenBlynkAndaDisini";
char ssid[] = "NamaWiFiRumahAnda";
char pass[] = "KataSandiWiFiRumah";

const int PIN_SENSOR = A0;   // Pin analog sensor kelembaban
const int PIN_RELAY  = D1;   // Pin output digital kontrol relay pompa
const int THRESHOLD_KERING = 35; // Batas minimal kelembaban tanah (35%) untuk siram otomatis

// Nilai kalibrasi sensor hasil soil test sebelumnya
const int ADC_KERING = 800;
const int ADC_BASAH  = 350;

BlynkTimer timer;

void periksaKelembabanTanah() {
  int adcMentah = analogRead(PIN_SENSOR);
  
  // Hitung persentase kelembaban menggunakan rumus interpolasi
  float persenKelembaban = (1.0 - ((float)(adcMentah - ADC_BASAH) / (float)(ADC_KERING - ADC_BASAH))) * 100.0;
  
  // Batasi nilai persentase di kisaran 0% s/d 100%
  if (persenKelembaban > 100) persenKelembaban = 100;
  if (persenKelembaban < 0) persenKelembaban = 0;
  
  Serial.print("Kelembaban Tanah: ");
  Serial.print(persenKelembaban);
  Serial.println("%");
  
  // Kirim data ke dasbor aplikasi Blynk
  Blynk.virtualWrite(V1, persenKelembaban);
  
  // Logika penyiraman otomatis berdasarkan kelembaban tanah
  if (persenKelembaban < THRESHOLD_KERING) {
    Serial.println("Tanah Kering! Menyalakan Pompa Air...");
    digitalWrite(PIN_RELAY, LOW); // Logika relay active-low (menyalakan sakelar)
    Blynk.virtualWrite(V2, "Pompa Menyala - Menyiram");
  } else {
    Serial.println("Tanah Lembab. Mematikan Pompa...");
    digitalWrite(PIN_RELAY, HIGH); // Mematikan pompa
    Blynk.virtualWrite(V2, "Pompa Mati - Standby");
  }
}

void setup() {
  Serial.begin(115200);
  pinMode(PIN_RELAY, OUTPUT);
  digitalWrite(PIN_RELAY, HIGH); // Pastikan pompa mati saat setup awal
  
  Blynk.begin(auth, ssid, pass);
  
  // Jadwalkan pembacaan sensor setiap 10 detik sekali agar hemat daya
  timer.setInterval(10000L, periksaKelembabanTanah);
}

void loop() {
  Blynk.run();
  timer.run();
}

FAQ: Tanya Jawab Seputar Siram Otomatis IoT

Apakah aman menyalakan modul mikrokontroler NodeMCU di luar ruangan yang terkena hujan? Sangat tidak aman jika diletakkan tanpa pelindung. Anda wajib membungkus papan NodeMCU ESP8266, modul relay, dan sambungan kabel baterai di dalam kotak panel plastik kedap air (Box panel panel ABS IP66 atau box junction listrik luar ruangan). Tarik kabel sensor kelembaban tanah dan selang air keluar kotak melalui lubang khusus yang telah dilengkapi kelenjar kabel karet (cable gland) agar sirkuit elektronik bebas dari kelembaban eksternal.

Bagaimana cara menyiasati jika di halaman kebun rumah saya tidak terjangkau sinyal Wi-Fi? Ada dua alternatif solusi: pertama, Anda dapat memasang Wi-Fi Range Extender khusus luar ruangan (outdoor AP) di area teras rumah untuk memperluas jangkauan sinyal Wi-Fi rumah menuju kebun. Kedua, jika jaraknya sangat jauh, Anda dapat beralih menggunakan mikrokontroler berbasis LoRa (Long Range) atau menggunakan modul GSM SIM800L yang menggunakan kartu SIM seluler internet untuk mengirimkan data notifikasi ke ponsel Anda.

Apakah pompa air DC mikro 5V/12V cukup kuat untuk menyiram tanaman skala kebun luas? Pompa air DC mikro celup bertenaga $5\text{V} – 12\text{V}$ hanya ideal digunakan untuk menyiram $1$ hingga $3$ pot tanaman dalam ruangan berskala kecil. Jika Anda ingin mengotomatiskan kebun halaman luar ruangan yang luas berisi puluhan tanaman, ganti modul relay kecil Anda dengan tipe yang mampu menahan beban AC $220\text{V}$, lalu hubungkan output relay tersebut untuk mengontrol hidup-mati mesin pompa air sumur atau pompa dorong jet-pump AC $220\text{V}$ standar rumah tangga Anda.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *