Jumat, 13 November 2026

Sistem Penyiraman Tanaman Otomatis Berbasis ESP32 Menggunakan Sensor Kelembapan Tanah dan Pompa Air dengan Pengendalian Penyiraman Secara Otomatis

Sistem Penyiraman Tanaman Otomatis Berbasis ESP32 Menggunakan Sensor Kelembapan Tanah dan Pompa Air dengan Pengendalian Penyiraman Secara Otomatis


Disusun Oleh:

Rizky Aditya Ananda Putra         26051204139

Nabila Zahrotul Fitriyah              26051204084

Franklyn Arruan Theopilus          26051204238

Ahmad Rojab Muzzaq                  26051204239



BAB I – PENDAHULUAN

1.1 Latar Belakang

Tanaman membutuhkan air dalam jumlah yang tepat agar tumbuh optimal. Kekurangan air membuat tanaman layu dan mati, sedangkan kelebihan air dapat menyebabkan akar membusuk. Dalam praktiknya, penyiraman secara manual sangat bergantung pada kedisiplinan dan perkiraan pemilik tanaman. Kesibukan atau kelalaian sering membuat jadwal penyiraman terlewat, dan penyiraman tanpa mengukur kondisi tanah kerap menyebabkan pemborosan air.

Perkembangan teknologi mikrokontroler memungkinkan proses ini diotomatiskan. ESP32 adalah mikrokontroler berkinerja tinggi yang murah, dapat diprogram melalui Arduino IDE, dan didukung komunitas yang luas. Dengan sensor kelembapan tanah, ESP32 dapat mengetahui kapan tanah mulai kering, lalu mengaktifkan pompa air melalui modul relay tanpa campur tangan manusia.

Berdasarkan hal tersebut, laporan ini membahas perancangan sistem penyiraman tanaman otomatis berbasis ESP32 yang menggunakan sensor kelembapan tanah kapasitif, modul relay, dan pompa air mini DC untuk menjaga kelembapan tanah secara otomatis.


1.2 Rumusan Masalah

1.    Bagaimana merancang sistem penyiraman tanaman otomatis menggunakan ESP32, sensor kelembapan tanah, relay, dan pompa air?

2.  Bagaimana logika program agar pompa menyala hanya ketika tanah kering dan mati ketika tanah sudah cukup lembap?

3.     Bagaimana mengendalikan pompa secara aman melalui modul relay dengan catu daya adaptor 5 V?

4.     Apa saja kelebihan dan keterbatasan sistem yang dirancang?


1.3 Tujuan Laporan

1.     Merancang sistem penyiraman tanaman otomatis berbasis ESP32 dan sensor kelembapan tanah kapasitif.

2.     Menjelaskan rangkaian dan cara kerja sistem, mulai dari pembacaan sensor hingga pengendalian pompa.

3.     Menyusun program pengendali beserta penjelasan alur kerjanya.

4.     Menganalisis kelebihan dan keterbatasan sistem sebagai bahan pengembangan selanjutnya.


1.4 Manfaat Penulisan

Manfaat teoretis: menambah referensi mengenai penerapan mikrokontroler ESP32 dan sensor pada otomatisasi perawatan tanaman skala kecil.

Manfaat praktis: membantu pemilik tanaman menjaga kelembapan tanah secara konsisten, menghemat air, dan mengurangi pekerjaan rutin penyiraman. Laporan ini juga dapat menjadi panduan awal bagi pelajar dan mahasiswa yang ingin membuat proyek serupa.



BAB II – TINJAUAN PUSTAKA

2.1 Dasar Teori

a. Sistem Penyiraman Otomatis

Sistem penyiraman otomatis adalah sistem kendali sederhana berumpan balik: sensor mengukur kondisi tanah, pengendali membandingkannya dengan batas yang ditetapkan, lalu aktuator (pompa) dinyalakan atau dimatikan sesuai hasil perbandingan tersebut. Sistem ini terdiri dari tiga bagian, yaitu masukan (sensor), proses (mikrokontroler), dan keluaran (relay dan pompa).

b. ESP32

ESP32 adalah mikrokontroler dual-core buatan Espressif Systems yang bekerja pada tegangan logika 3,3 V. Pin masukan analognya beresolusi 12 bit (nilai 0–4095) dan modul ini memiliki WiFi serta Bluetooth bawaan, meskipun fitur tersebut tidak digunakan pada laporan ini. ESP32 dapat diprogram dengan bahasa mirip C/C++ melalui Arduino IDE setelah paket papan ESP32 dipasang. Pembacaan sensor sebaiknya memakai pin ADC1 (misalnya GPIO34) karena pin ADC2 dapat terganggu saat WiFi aktif, sedangkan pin digital (misalnya GPIO26) digunakan mengendalikan relay.

c. Sensor Kelembapan Tanah Kapasitif

Sensor kapasitif mengukur perubahan kapasitansi akibat kadar air di sekitar probe, lalu mengubahnya menjadi tegangan analog. Dibandingkan sensor resistif, sensor kapasitif lebih awet karena logam probenya tidak bersentuhan langsung dengan tanah sehingga tidak mudah berkarat. Pada sensor ini, nilai pembacaan makin kecil saat tanah makin basah, sehingga perlu dikalibrasi untuk dikonversi menjadi persentase.

d. Modul Relay 1 Kanal

Relay adalah saklar elektromagnetik yang memungkinkan sinyal berdaya rendah dari pin mikrokontroler mengendalikan beban lain, dalam hal ini pompa. Modul relay memiliki terminal COM (common), NO (normally open, terhubung saat relay aktif), dan NC (normally closed). Banyak modul relay bersifat active LOW, artinya relay aktif ketika pin masukan diberi logika LOW.

e. Pompa Air Mini DC Submersible

Pompa celup mini DC 3–5 V mengalirkan air dari wadah ke tanaman melalui selang. Pompa jenis ini harus terendam saat bekerja, karena berjalan kering dapat merusaknya.

f. Adaptor DC 5 V 1 A

Adaptor menyediakan sumber daya 5 V dengan arus maksimum 1 A. Arus ini cukup untuk ESP32, modul relay, sensor, dan pompa mini yang biasanya hanya memerlukan arus beberapa ratus miliampere.


2.2 Komponen

Tabel 3.1 Komponen

No

Komponen

Spesifikasi

Fungsi

1

ESP32

Papan pengembangan ESP32 (DevKit)

Unit pengendali utama

2

Breadboard

400 titik (400 holes)

Tempat menghubungkan komponen dan mendistribusikan jalur listrik tanpa penyolderan.

3

Kabel jumper

 

Penghubung antarkomponen

4

Modul relay

1 kanal

Saklar elektronik untuk pompa

5

Mini DC submersible water pump

3–5 V

Mengalirkan air ke tanaman

6

Capacitive soil moisture sensor

Keluaran analog

Mengukur kelembapan tanah

7

Adaptor DC

5 V, 1 A

Sumber daya system



BAB III – PEMBAHASAN

3.1 Penjelasan Sistem

a. Diagram blok

•       Masukan: sensor kelembapan tanah kapasitif.

•       Proses: ESP32 membaca sensor, mengubah nilainya menjadi persentase, dan membandingkannya dengan ambang batas.

•       Keluaran: modul relay mengaktifkan pompa air yang menyiram tanaman.


Gambar 3.1 Diagram blok sistem penyiraman tanaman otomatis

b. Cara kerja

1. Saat adaptor dihubungkan, ESP32 akan menyala dan menginisialisasi sensor kelembapan tanah serta modul relay. Pada kondisi awal, pompa berada dalam keadaan mati.

2. Sensor kelembapan tanah dibaca secara berkala setiap 2 detik oleh ESP32. Nilai analog dari sensor kemudian dikonversi menjadi persentase kelembapan dalam rentang 0–100%.

3. Jika kelembapan tanah berada di bawah 40%, sistem mendeteksi bahwa tanah dalam kondisi kering. ESP32 akan mengaktifkan relay sehingga pompa air menyala secara otomatis.

4. Jika kelembapan tanah mencapai 40% atau lebih, sistem menganggap tanah dalam kondisi cukup basah. ESP32 akan mematikan relay sehingga pompa air berhenti.

5. Data kelembapan tanah dikirimkan ke aplikasi Blynk melalui Virtual Pin V0 untuk menampilkan persentase kelembapan. Sementara itu, status pompa dikirim melalui Virtual Pin V1 untuk menunjukkan kondisi pompa menyala atau mati.

6. Proses pembacaan sensor, pengiriman data ke Blynk, dan pengendalian pompa berlangsung secara berulang selama ESP32 aktif dan terhubung dengan program.

Penyiraman bertahap seperti ini dipilih karena air membutuhkan waktu untuk meresap ke tanah. Bila pompa dibiarkan menyala sampai sensor menunjukkan basah, tanah di sekitar sensor bisa tampak basah terlambat dan air yang keluar menjadi berlebihan. Alur lengkapnya ditunjukkan pada Gambar 3.2.


Gambar 3.2 Flowchart program penyiraman otomatis

c. Rangkaian

Tabel 3.2 Sambungan antar komponen

Komponen

Pin komponen

Dihubungkan ke

Sensor kelembapan

VCC

3,3V ESP32

Sensor kelembapan

GND

GND ESP32

Sensor kelembapan

AOUT

GPIO34 ESP32

Modul relay

VCC

3,3V ESP32

Modul relay

GND

GND ESP32

Modul relay

IN

GPIO26 ESP32

Modul relay

COM

Kutub positif (+) adaptor 5 V

Modul relay

NO

Kabel positif (+) pompa

Pompa

Kabel negatif (−)

Kutub negatif (−) adaptor / GND

Gambar 3.3 Rangkaian perangkat keras penyiram tanaman otomatis


Gambar 3.4. Desain rangkaian penyiram tanaman otomatis menggunakan ESP32

Jalur daya pompa berjalan dari kutub positif adaptor, melewati terminal COM dan NO relay, lalu ke pompa dan kembali ke kutub negatif adaptor. Seluruh GND (ESP32, relay, sensor, dan adaptor) harus disatukan. Skema sambungan ditunjukkan pada Gambar 3.3.


Gambar 3.5 Skema sambungan ESP32, sensor, relay, dan pompa

Catatan penting terkait daya dan tegangan:

·       ESP32 bekerja pada logika 3,3 V, sehingga sensor dihubungkan ke pin 3V3 agar keluaran analognya tidak melebihi tegangan yang aman bagi pin ADC. Jangan menghubungkan sinyal 5 V langsung ke pin GPIO.

·       Modul relay dicatu 3,3 V dari pin 3V3 ESP32 agar level sinyal kendali dari GPIO26 sesuai dengan tegangan catu modul. Pada pengujian, relay yang dicatu 5 V tidak merespons perubahan sinyal 3,3 V, sedangkan pada catu 3,3 V relay dapat hidup dan mati sesuai perintah.

·       Pompa dicatu dari adaptor DC 5 V melalui terminal COM dan NO relay. Karena pompa adalah beban motor, arus awalnya bisa melonjak saat mulai berputar dan menurunkan tegangan di jalur 5 V yang juga mencatu VIN ESP32, sehingga ESP32 dapat ter-reset.

·       Pastikan seluruh sambungan listrik terlindung dari percikan air.


3.2 Program

Program berikut ditulis untuk Arduino IDE dengan papan ESP32. Nilai batasKering (2500) adalah nilai ambang awal yang ditentukan dari pengujian dan perlu disesuaikan dengan sensor yang dipakai. Nilai ADC lebih tinggi berarti tanah lebih kering. Jika nilai sensor di atas batasKering, relay aktif (LOW) dan pompa menyala. Jika tidak, relay nonaktif (HIGH) dan pompa mati. Pembacaan dilakukan setiap 2 detik, dan nilai kelembapan serta status pompa dikirim ke aplikasi Blynk (V0 dan V1).

// Sistem Penyiraman Tanaman Otomatis - ESP32

// --- Konfigurasi Blynk ---

#define BLYNK_TEMPLATE_ID "TemplateID Blynk Anda"

#define BLYNK_TEMPLATE_NAME "penyiram tanaman"

#define BLYNK_AUTH_TOKEN "TOKEN_ANDA"

 

#define BLYNK_PRINT Serial   // tampilkan log Blynk di Serial Monitor

 

#include <WiFi.h>

#include <BlynkSimpleEsp32.h>

 

// --- Kredensial WiFi ---

char ssid[] = "SSID(NAMA) Wifi Hotspot Anda";

char pass[] = " Sandi Wifi Hotspot Anda ";

 

// --- Pin ---

#define SOIL_PIN 34    // GPIO34 (ADC1), keluaran analog (AOUT) sensor kelembapan tanah

#define RELAY_PIN 26   // GPIO26, masukan IN modul relay

 

// --- Ambang batas ---

// Nilai ADC (0-4095): makin tinggi berarti tanah makin kering

int batasKering = 2500;  // di atas nilai ini tanah dianggap kering, pompa ON

 

BlynkTimer timer;        // timer non-blocking agar Blynk.run() tetap berjalan

 

// Membaca sensor, mengatur pompa, dan mengirim data ke Blynk

void bacaSensor() {

  int nilaiSensor = analogRead(SOIL_PIN);   // baca nilai mentah ADC

 

  // Ubah nilai ADC ke persen: 4095 (kering) -> 0%, 0 (basah) -> 100%

  int kelembapan = map(nilaiSensor, 4095, 0, 0, 100);

  kelembapan = constrain(kelembapan, 0, 100);   // jaga agar tetap 0-100%

 

  // Tampilkan hasil pembacaan di Serial Monitor

  Serial.print("Nilai Sensor: ");

  Serial.println(nilaiSensor);

 

  Serial.print("Kelembapan: ");

  Serial.print(kelembapan);

  Serial.println("%");

 

  if (nilaiSensor > batasKering) {

    // Tanah kering: relay active LOW, jadi LOW = relay aktif = pompa ON

    digitalWrite(RELAY_PIN, LOW);

    Blynk.virtualWrite(V1, 1);   // V1: status pompa di aplikasi (1 = ON)

 

    Serial.println("Tanah kering - Pompa ON");

  } else {

    // Tanah cukup basah: HIGH = relay nonaktif = pompa OFF

    digitalWrite(RELAY_PIN, HIGH);

    Blynk.virtualWrite(V1, 0);   // V1: status pompa di aplikasi (0 = OFF)

 

    Serial.println("Tanah basah - Pompa OFF");

  }

 

  Blynk.virtualWrite(V0, kelembapan);   // V0: kirim persen kelembapan ke aplikasi

}

 

void setup() {

  Serial.begin(115200);   // kecepatan Serial Monitor

  delay(1000);            // beri waktu Serial Monitor siap

 

  Serial.println("ESP32 mulai...");

 

  pinMode(SOIL_PIN, INPUT);     // pin sensor sebagai masukan

  pinMode(RELAY_PIN, OUTPUT);   // pin relay sebagai keluaran

 

  digitalWrite(RELAY_PIN, HIGH);   // kondisi awal: relay nonaktif, pompa OFF

 

  // Sambungkan ke WiFi dan tunggu sampai berhasil

  Serial.println("Menghubungkan WiFi...");

  WiFi.begin(ssid, pass);

 

  while (WiFi.status() != WL_CONNECTED) {

    delay(500);

    Serial.print(".");   // tanda proses menghubungkan

  }

 

  Serial.println("\nWiFi terhubung!");

  Serial.println(WiFi.localIP());   // tampilkan alamat IP ESP32

 

  // Sambungkan ke server Blynk (batas waktu 10 detik)

  Serial.println("Menghubungkan Blynk...");

  Blynk.config(BLYNK_AUTH_TOKEN);

 

  if (Blynk.connect(10000)) {

    Serial.println("Blynk terhubung!");

  } else {

    Serial.println("Blynk gagal terhubung!");   // program tetap lanjut tanpa Blynk

  }

 

  timer.setInterval(2000L, bacaSensor);   // panggil bacaSensor() tiap 2 detik

}

 

void loop() {

  Blynk.run();   // jaga koneksi dan komunikasi dengan Blynk

  timer.run();   // jalankan tugas terjadwal (bacaSensor)

}

 Penjelasan program

·            Pengaturan awal. Fungsi setup() menginisialisasi komunikasi serial dengan kecepatan 115200 baud, mengatur pin sensor kelembapan sebagai input dan pin relay sebagai output. Relay diatur dalam kondisi mati pada awal program. Selanjutnya, ESP32 menghubungkan diri ke jaringan WiFi dan server Blynk untuk memungkinkan pengiriman data secara online.

·           Pembacaan sensor. Fungsi bacaSensor() membaca nilai kelembapan tanah melalui sensor yang terhubung pada pin GPIO 34. Nilai pembacaan analog kemudian dikonversi menjadi persentase kelembapan 0–100% menggunakan fungsi map() dan dibatasi menggunakan constrain() agar hasilnya tetap berada dalam rentang tersebut.

·       Pengaturan waktu pembacaan. Program menggunakan BlynkTimer untuk menjalankan fungsi bacaSensor() setiap 2 detik. Dengan demikian, pembacaan sensor dan pengiriman data ke Blynk dilakukan secara berkala tanpa menggunakan delay() panjang.

·           Logika penyiraman otomatis. Sistem menggunakan nilai ADC 2500 sebagai batas kondisi tanah kering. Apabila nilai pembacaan sensor lebih dari 2500, relay akan aktif sehingga pompa menyala. Sebaliknya, apabila nilai sensor kurang dari atau sama dengan 2500, relay akan mati sehingga pompa berhenti menyiram.

                Pengiriman data ke Blynk. Persentase kelembapan tanah dikirimkan ke Virtual Pin V0, sedangkan status pompa dikirimkan ke Virtual Pin V1. Dengan demikian, pengguna dapat memantau tingkat kelembapan tanah dan kondisi pompa melalui aplikasi Blynk.


3.3 Analisis Kelebihan dan Keterbatasan

Kelebihan

1.     Otomatis dan konsisten. Penyiraman bergantung pada kondisi tanah, bukan perkiraan manusia.

2.     Hemat air. Air hanya digunakan saat tanah kering, dan penyiraman bertahap mencegah berlebihan.

3.     Rangkaian sederhana dan murah. memakai komponen yang mudah didapat dan mudah dirakit.

4.     Memiliki pengaman. Pembatas durasi siram dan jumlah siklus mengurangi risiko pompa berjalan terus.

5.  Mudah dikembangkan. ESP32 sudah memiliki WiFi dan Bluetooth bawaan, sehingga sistem dapat dikembangkan menjadi IoT tanpa mengganti papan.


Keterbatasan

1.     Ketergantungan pada koneksi internet. Sistem membutuhkan koneksi WiFi untuk mengirimkan data kelembapan dan status pompa ke aplikasi Blynk. Apabila koneksi internet terputus, pemantauan melalui aplikasi tidak dapat dilakukan.

2.     Sensor perlu kalibrasi dan perawatan. Nilai pembacaan sensor dipengaruhi oleh jenis tanah, kondisi lingkungan, dan usia sensor. Oleh karena itu, sensor perlu dikalibrasi agar hasil pembacaan lebih sesuai dengan kondisi kelembapan tanah sebenarnya.

3.     Keterbatasan kompatibilitas relay. Modul relay 5 V perlu memperhatikan kesesuaian sinyal kendali 3,3 V dari ESP32 agar dapat bekerja dengan baik.

4.     Satu titik pengukuran. Sistem hanya menggunakan satu sensor kelembapan sehingga hasil pembacaan belum tentu mewakili seluruh area tanah atau media tanam.

5.     Kapasitas air terbatas. Persediaan air bergantung pada kapasitas wadah yang digunakan. Sistem belum dilengkapi sensor untuk mendeteksi ketinggian atau sisa air.

6.     Persentase kelembapan merupakan perkiraan. Nilai persentase diperoleh melalui konversi pembacaan analog sensor, sehingga belum tentu menunjukkan tingkat kelembapan tanah yang sebenarnya.

7.     Belum diuji dalam jangka panjang. Keandalan sistem dalam penggunaan terus-menerus masih memerlukan pengujian lebih lanjut untuk mengetahui kestabilan sensor, relay, pompa, dan koneksi WiFi.


 

BAB IV – PENUTUP

4.1 Kesimpulan

1.     Sistem penyiraman tanaman otomatis dapat dirancang menggunakan ESP32, sensor kelembapan tanah kapasitif, modul relay 5 V, pompa air mini DC 3–5 V, dan adaptor 5 V 1 A.

2.     ESP32 membaca kelembapan tanah, menyalakan pompa melalui relay saat tanah kering (di bawah 40%), dan berhenti ketika tanah cukup lembap (60% atau lebih).

3.     Penyiraman bertahap dengan jeda resap serta pembatas jumlah siklus membuat penyiraman lebih efisien dan aman bagi pompa.

4.     Sistem memiliki kelebihan berupa otomatisasi, penghematan air, dan rangkaian sederhana, tetapi masih terbatas pada satu titik sensor, kebutuhan kalibrasi, dan belum adanya pemantauan jarak jauh.

 

4.2 Saran

1.     Menambahkan sensor level air agar pompa tidak bekerja saat wadah kosong.

2.     Menambahkan layar LCD atau indikator LED untuk menampilkan kelembapan dan status pompa tanpa komputer.

3.     Menggunakan beberapa sensor dan pompa atau katup untuk area tanam yang lebih luas.

4.     Menambahkan dioda dan kapasitor pada pompa serta wadah pelindung pada rangkaian elektronik untuk meningkatkan keandalan dan keamanan.

5.     Melakukan pengujian jangka panjang dengan berbagai jenis tanaman dan tanah, serta mencatat hasilnya untuk menyempurnakan ambang batas.

 

 

DAFTAR PUSTAKA

·       Banzi, M., & Shiloh, M. (2014). Getting started with Arduino (3rd ed.). Maker Media. Espressif Systems. (n.d.). ESP32 series datasheet. https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf

 3   Espressif Systems. (n.d.). ADC: Arduino-ESP32 documentation. https://docs.espressif.com/projects/arduino-esp32/en/latest/api/adc.html

      Nagahage, E. A. A. D., Nagahage, I. S. P., & Fujino, T. (2019). Calibration and validation of a low-cost capacitive moisture sensor to integrate the automated soil moisture monitoring system. Agriculture, 9(7), 141. https://doi.org/10.3390/agriculture9070141

·        Li, B., Wang, C., Gu, X., Zhou, X., Ma, M., Li, L., Feng, Z., Ding, T., Li, X., Jiang, T., Li, X., & Zheng, X. (2022). Accuracy calibration and evaluation of capacitance-based soil moisture sensors for a variety of soil properties. Agricultural Water Management. https://doi.org/10.1016/j.agwat.2022.107913

      Deng, X., Yang, L., Fu, Z., Du, C., Lyu, H., Cui, L., Zhang, L., Zhang, J., & Jia, B. (2021). A calibration-free capacitive moisture detection method for multiple soil environments. Measurement, 173, 108599. https://doi.org/10.1016/j.measurement.2020.108599



Lampiran

Link foto dan Video: https://drive.google.com/drive/folders/1heQfztQiXBlUdpJXoXvZfejcGtTyseCP?usp=sharing

 

Tidak ada komentar:

Posting Komentar