Merawat tanaman secara rutin sering menjadi tantangan, terutama ketika kita memiliki kesibukan atau lupa melakukan penyiraman. Untuk mengatasi masalah tersebut, pada artikel ini kita akan membahas cara membuat Sistem Penyiram Tanaman Otomatis menggunakan ESP8266, sensor soil moisture, dan pompa air.
Sistem ini dirancang agar dapat bekerja secara mandiri tanpa koneksi internet, karena ESP8266 akan dijalankan dalam mode Access Point (AP). Selain itu, informasi kelembapan tanah dan status pompa air dapat dipantau melalui web browser dan LCD 16×2, sehingga mudah digunakan oleh siapa saja.
Sistem penyiram tanaman otomatis ini bekerja dengan cara membaca tingkat kelembapan tanah menggunakan sensor soil moisture. Ketika tanah terdeteksi dalam kondisi kering, ESP8266 akan mengaktifkan pompa air secara otomatis. Sebaliknya, jika tanah sudah cukup lembap, pompa air akan dimatikan.
Untuk memudahkan pemantauan, ESP8266 juga menyediakan halaman web sederhana yang dapat diakses langsung dari HP atau laptop. Informasi yang sama ditampilkan secara lokal melalui LCD 16×2.
Alat dan Bahan yang Dibutuhkan
Sebelum memulai perakitan, siapkan beberapa komponen berikut:
| Nama Komponen | Gambar Komponen |
|---|---|
| NodeMcu esp8266 | ![]() |
| Soil Moisture Sensor | ![]() |
| Pompa DC 5 Volt | ![]() |
| Relay Module 1 Channel | ![]() |
| LCD 16×2 I2C | ![]() |
| Kabel Jumper | ![]() |
| Breadboard | ![]() |
Gambar Rangkaian

| NodeMcu esp8266 | Sensor Soil Moisture |
|---|---|
| pin A0 | AO |
| Vin / Vu | VCC (+) |
| GND | GND (-) |
| NodeMcu esp8266 | Relay |
|---|---|
| Pin D1 | IN |
| Vin /VU | VCC (+) |
| GND | GND (-) |
| NodeMcu Esp8266 | LCD I2C |
|---|---|
| Pin D5 | SCL |
| Pin D6 | SDA |
| Vin / Vu | VCC |
| GND | GND |
Cara Kerja Sistem
Secara sederhana, alur kerja sistem dapat dijelaskan sebagai berikut:
- Sensor soil moisture membaca tingkat kelembapan tanah dan menghasilkan nilai analog.
- ESP8266 membaca nilai tersebut melalui pin A0.
- Nilai kelembapan dibandingkan dengan batas ambang yang telah ditentukan.
- Jika tanah dalam kondisi kering, relay akan diaktifkan sehingga pompa air menyala.
- Jika tanah sudah cukup lembap, relay dimatikan dan pompa berhenti bekerja.
- Nilai kelembapan tanah dan status pompa ditampilkan pada LCD dan halaman web.
Library yang Digunakan
Pastikan beberapa library berikut sudah terpasang di Arduino IDE:
ESP8266WiFi.hESPAsyncWebServer.hESPAsyncTCP.hLiquidCrystal_I2C.h
Code
#include <ESP8266WiFi.h>
#include <ESPAsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include <LiquidCrystal_I2C.h>
#define SOIL_PIN A0
#define RELAY_PIN D1
LiquidCrystal_I2C lcd(0x27, 16, 2);
const char* ssid = "SmartWater_AP";
const char* password = "12345678";
AsyncWebServer server(80);
int soilValue = 0;
bool pumpState = false;
String pumpStatusText() {
String text = "";
if (pumpState == true) {
text = "ON";
} else {
text = "OFF";
}
return text;
}
String htmlPage() {
String html = "";
html += "<!DOCTYPE html><html><head>";
html += "<meta name='viewport' content='width=device-width, initial-scale=1'>";
html += "<title>Smart Watering</title>";
html += "</head><body>";
html += "<h1>Sistem Penyiram Tanaman</h1>";
html += "<p>Nilai Kelembapan Tanah: " + String(soilValue) + "</p>";
html += "<p>Status Pompa: " + pumpStatusText() + "</p>";
html += "</body></html>";
return html;
}
void setup() {
lcd.init();
lcd.backlight();
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, HIGH);
WiFi.mode(WIFI_AP);
WiFi.softAP(ssid, password);
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
request->send(200, "text/html", htmlPage());
});
server.begin();
}
void loop() {
soilValue = analogRead(SOIL_PIN);
if (soilValue > 600) {
digitalWrite(RELAY_PIN, LOW);
pumpState = true;
} else {
digitalWrite(RELAY_PIN, HIGH);
pumpState = false;
}
lcd.setCursor(0, 0);
lcd.print("Soil: ");
lcd.print(soilValue);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("Pump: ");
lcd.print(pumpStatusText());
lcd.print(" ");
delay(2000);
}
Cara Menggunakan Sistem
Setelah rangkaian dan program selesai dibuat, lakukan langkah-langkah berikut:
- Hubungkan semua komponen sesuai dengan skema koneksi.
- Unggah program ke ESP8266 menggunakan Arduino IDE.
- Pastikan pompa air mendapatkan sumber daya yang sesuai.
- Aktifkan WiFi pada HP atau laptop dan hubungkan ke jaringan SmartWater_AP.
- Buka browser dan akses alamat IP
192.168.4.1. - Amati nilai kelembapan tanah dan status pompa air melalui halaman web dan LCD.







