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 #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