Cara Menggunakan Sensor Kelembapan Tanah Kapasitif dengan Arduino (Lengkap + Contoh Kode)

Merawat tanaman hias di rumah itu bisa jadi pekerjaan yang cukup menantang, kan? Dan sering kali masalahnya cuma satu: lupa menyiram. Untungnya, sensor kelembapan tanah bisa membantu kita mengingat kapan harus menyiram tanaman, sekaligus membantu tanaman hidup lebih lama.
Namun, sebagian besar sensor kelembapan tanah yang murah menggunakan tipe resistif, yaitu memiliki dua probe dan mengukur kadar air tanah berdasarkan konduktivitas di antara keduanya. Awalnya memang berfungsi dengan baik, tetapi seiring waktu probe tersebut akan mulai berkarat, bahkan jika sudah dilapisi emas sekalipun. Karat ini mengacaukan hasil pembacaan, sehingga kamu harus terus menyesuaikan kode program agar hasilnya tetap akurat. Selain itu, sensor jenis ini juga kurang bekerja dengan baik pada tanah yang gembur.
Untungnya, ada pilihan yang lebih baik: Sensor Kelembapan Tanah Kapasitif. Sensor ini bekerja berdasarkan pengukuran kapasitif, yang memiliki keunggulan signifikan dibandingkan metode resistif. Sensor ini hanya memiliki satu probe, tidak ada logam terbuka yang bisa berkarat, dan tidak merusak tanaman karena tidak mengalirkan arus listrik langsung ke dalam tanah.
Dalam tutorial ini, kamu akan belajar cara menggunakan sensor kelembapan tanah kapasitif dengan Arduino secara efektif. Di akhir tutorial, kamu akan memiliki pengetahuan dan keterampilan untuk menjaga tanaman tetap sehat, tanpa perlu khawatir kekurangan atau kelebihan air. Mari kita mulai.
Hardware Overview
Capacitive Soil Moisture Sensor itu sebenarnya cerdas banget. Tinggal tancapkan ke tanah, lalu dia akan mengeluarkan sinyal analog yang sebanding dengan tingkat kelembapan tanah. Sensor ini menggunakan IC 555 timer dan bekerja dengan cara mengukur seberapa cepat atau lambat sebuah kapasitor mengisi daya melalui resistor. Bedanya, pada sensor ini kapasitor tersebut bukan komponen fisik terpisah, melainkan terbentuk dari dua jalur tembaga pada PCB yang berdekatan. Nilai kapasitansinya, dan otomatis kecepatan pengisiannya, berubah tergantung pada seberapa banyak air di sekitarnya.

Sensor ini juga sudah dilengkapi regulator tegangan 3,3V bawaan, sehingga bisa digunakan baik dengan mikrokontroler 3,3V maupun 5V. Konsumsi arusnya pun kecil, kurang dari 5mA. Perlu dicatat bahwa sensor ini hanya memberikan pengukuran kualitatif terhadap kelembapan tanah. Artinya, nilainya menunjukkan relatif basah atau kering, bukan persentase kadar air yang presisi. Saat tanah semakin basah, nilai output akan menurun. Sebaliknya, saat tanah semakin kering, nilai output akan meningkat. Jika diberi catu daya 5V, tegangan keluarannya berkisar sekitar 1,5V (tanah basah) hingga 3V (tanah kering).

Namun, nilai output akhirnya juga dipengaruhi oleh seberapa dalam probe ditancapkan ke tanah serta seberapa padat tanah di sekitarnya.
Spesifikasi Teknis
| Operating Voltage | 3.3 to 5.5V |
| Operating Current | < 5mA |
| Output Voltage at 5V | 1.5V to 3V (approx.) |
| Sensor Probe L x W (PCB) | 98 x 23mm (3.86 x 0.91″) |
| Cable Length | 20cm (8″) |
Bagaimana Cara Kerja Capacitive Soil Moisture Sensor?
Untuk memahami cara kerja sensor kelembapan tanah kapasitif, kamu perlu memahami dulu perilaku kapasitor dalam rangkaian RC.
Dalam rangkaian RC sederhana seperti ini, ketika tegangan positif diberikan ke input, kapasitor (C) mulai mengisi daya melalui resistor (R). Selama proses ini, tegangan pada kapasitor akan berubah secara bertahap. Seiring waktu, tegangan pada kapasitor akan meningkat hingga akhirnya sama dengan tegangan input. Jika digambarkan dalam grafik, kamu akan melihat kurva tegangan terhadap waktu yang menunjukkan proses pengisian kapasitor tersebut.

Waktu yang dibutuhkan kapasitor untuk terisi penuh bergantung pada nilai resistor dan kapasitor. Jika nilai R dibuat tetap dan kamu mencoba dua nilai kapasitansi yang berbeda untuk C, maka kamu akan melihat bahwa kapasitor dengan nilai kapasitansi lebih besar membutuhkan waktu lebih lama untuk mengisi daya.

sedangkan kapasitor dengan nilai kapasitansi yang lebih kecil membutuhkan waktu lebih singkat untuk mengisi daya.

Sekarang kembali ke sensor kita. Kapasitor C pada papan sensor sebenarnya bukan komponen kapasitor fisik, melainkan hanya dua jalur tembaga pada PCB yang bertindak seperti kapasitor. Efek ini disebut Kapasitansi Parasitik. Biasanya dalam rangkaian elektronik efek ini dianggap kecil dan diabaikan. Namun, dengan sengaja membuat dua jalur tembaga tersebut lebih besar, efek ini justru bisa dimanfaatkan.
Nilai kapasitansi dari kapasitor parasitik ini ditentukan oleh bentuk jalur PCB dan lingkungan di sekitarnya, yang secara teknis disebut konstanta dielektrik. Ketika sensor ditancapkan ke tanah, lingkungan di sekitar kapasitor berubah tergantung apakah tanah menjadi lebih basah atau lebih kering. Perubahan ini mengubah nilai kapasitansinya, yang pada akhirnya memengaruhi waktu pengisiannya. Saat tanah kering, kapasitansi lebih kecil sehingga kapasitor mengisi daya lebih cepat. Sebaliknya, saat tanah basah, kapasitansi menjadi lebih besar sehingga proses pengisian daya berlangsung lebih lambat.
Untuk memahami bagaimana prinsip ini diterapkan pada sensor, mari kita lihat diagram rangkaiannya.

Sensor ini menggunakan IC 555 yang dikonfigurasi sebagai astable oscillator. Gelombang kotak (square wave) yang dihasilkan oleh 555 kemudian masuk ke rangkaian RC integrator, di mana kapasitor pada rangkaian tersebut dibentuk oleh probe tanah itu sendiri.
Sinyal yang keluar dari integrator bukan lagi gelombang kotak, melainkan lebih menyerupai gelombang segitiga (triangular wave). Sinyal ini kemudian masuk ke rangkaian penyearah (rectifier) dan kapasitor perata (smoothing capacitor) untuk menghasilkan tegangan DC sebagai output.
Tegangan output ini sebanding dengan tingkat kelembapan tanah. Jika tanah kering, kapasitor mengisi daya lebih cepat, sehingga amplitudo gelombang segitiga menjadi lebih besar dan menghasilkan tegangan output yang lebih tinggi. Sebaliknya, jika tanah basah, kapasitor mengisi daya lebih lambat, amplitudo gelombang segitiga menjadi lebih kecil, dan tegangan output yang dihasilkan pun lebih rendah.
Capacitive Soil Moisture Sensor Pinout
Sensor kelembapan tanah kapasitif dilengkapi konektor 3-pin tipe JST PH2.0. Salah satu ujung kabel bawaan dipasang ke konektor ini, sementara ujung lainnya menggunakan konektor female 3-pin tipe Dupont standar. Kabelnya sudah diberi kode warna supaya tidak bikin salah sambung:
- Hitam = GND (ground)
- Merah = VCC (tegangan suplai)
- Kuning = AOUT (keluaran analog)
Tiga pin saja. Tidak ada drama TX RX tertukar seperti modul lain yang sering bikin orang menatap Serial Monitor dengan tatapan kosong.

VCC adalah pin power supply. Disarankan untuk memberi catu daya pada sensor dengan tegangan antara 3,3V hingga 5V. Perlu diingat bahwa nilai output analog yang dihasilkan akan bergantung pada tegangan suplai yang diberikan ke sensor.
GND adalah ground pin.
AOUT Pin ini menghasilkan tegangan analog yang sebanding dengan tingkat kelembapan tanah. Output tersebut dapat dibaca menggunakan pin input analog pada mikrokontroler kamu. Semakin tinggi kadar kelembapan tanah, tegangan output akan semakin rendah. Sebaliknya, jika tanah semakin kering, tegangan output akan semakin tinggi.
Petunjuk Penggunaan
Saat menggunakan sensor ini, perhatikan hal-hal berikut:
- Disarankan agar probe tidak ditancapkan melebihi garis batas (limit line) yang terdapat pada sensor. Kalau kamu paksa masuk lebih dalam, jangan kaget kalau umur sensornya jadi lebih pendek.
- Komponen pada bagian atas board tidak tahan air, jadi pastikan tidak terkena air atau percikan. Untuk perlindungan tambahan, kamu bisa melapisi bagian atas board dengan heat shrink tubing berukuran lebar.
Perlu diketahui bahwa tepi PCB dapat menyerap kelembapan seiring waktu, yang bisa memperpendek umur sensor. Untuk meningkatkan daya tahan, kamu bisa melapisinya dengan pelindung seperti epoxy bening, yang tidak akan memengaruhi kinerja sensor.
Menghubungkan Capacitive Soil Moisture Sensor ke Arduino
Komponen yang dibutuhkan:
1. Arduino Uno
2.Capacitive Soil Moisture Sensor
3.USB kabel
4.Software Arduino IDE
Menghubungkan sensor ini ke Arduino itu sangat mudah. Kamu hanya perlu menyambungkan tiga kabel.
Mulailah dengan menghubungkan kabel merah (VCC) dari sensor ke sumber daya. Tegangan 3,3V hingga 5V bisa digunakan. Gunakan tegangan yang sesuai dengan logika mikrokontroler yang kamu pakai. Untuk sebagian besar board Arduino, itu berarti 5V. Jika menggunakan perangkat dengan logika 3,3V, maka gunakan 3,3V. Selanjutnya, hubungkan kabel hitam (GND) ke ground.
Terakhir, hubungkan kabel kuning (AOUT) ke salah satu pin input analog pada Arduino kamu. Dalam contoh ini, kabel tersebut dihubungkan ke pin A0. Tabel berikut menunjukkan daftar koneksi pinnya:
Rangkaian pengkabelan ditunjukkan pada gambar di bawah ini.

Menentukan Nilai Ambang (Threshold)
Tidak memungkinkan untuk langsung mengetahui persentase kelembapan tanah secara pasti dari hasil pengukuran sensor. Namun, cukup mudah untuk menentukan rentang dasar seperti “terlalu kering”, “terlalu basah”, dan “cukup ideal”.
Caranya sederhana. Jalankan sketch berikut, lalu catat nilai output sensor dalam tiga kondisi utama:
- Saat tanah cukup kering dan tanaman memang sudah perlu disiram.
- Saat tanah sudah disiram hingga mencapai tingkat kelembapan ideal untuk tanaman tersebut.
- Saat tanah disiram terlalu banyak hingga terlalu basah dan tidak ideal bagi tanaman.
Dari tiga kondisi ini, kamu bisa menentukan batas bawah dan batas atas sesuai kebutuhan tanamanmu. Bukan angka absolut ilmiah, tapi cukup akurat untuk membuat tanamanmu tidak mati karena lupa atau kebanyakan semangat menyiram.
// Define analog input
#define sensorPin A0
void setup() {
// Setup Serial Monitor
Serial.begin(9600);
}
void loop() {
// Read the Analog Input
int value = analogRead(sensorPin);
// Print the value to the serial monitor
Serial.print("Analog output: ");
Serial.println(value);
// Wait for 1 second before the next reading
delay(1000);
}Setelah menjalankan sketch tersebut, kamu akan mendapatkan pembacaan yang kurang lebih seperti berikut:
- Di udara terbuka: sekitar 590
- Tanah kering yang perlu disiram: sekitar 380
- Kelembapan tanah ideal: antara 277 hingga 380
- Tanah yang baru saja disiram: sekitar 277
- Dicelupkan ke dalam segelas air: sekitar 273
Pengujian ini mungkin memerlukan sedikit percobaan dan penyesuaian. Setiap jenis tanah dan kondisi lingkungan bisa menghasilkan angka yang sedikit berbeda. Setelah mendapatkan nilai-nilai tersebut, kamu dapat menggunakannya sebagai batas ambang (threshold) untuk memicu suatu aksi, misalnya menyalakan pompa air atau memberikan peringatan saat tanah terlalu kering atau terlalu basah.
Contoh Kode Arduino
Sketch berikut memperkirakan tingkat kelembapan tanah menggunakan nilai ambang (threshold) berikut:
- < 277 → Terlalu basah
- 277 – 380 → Rentang ideal
- 380 → Terlalu kering
Dengan batas ini, Arduino bisa menentukan kondisi tanah dan mengambil tindakan yang sesuai, misalnya menampilkan status di Serial Monitor atau mengaktifkan pompa air saat tanah terlalu kering.
/* Change these values based on your observations */
#define wetSoil 277 // Define max value we consider soil 'wet'
#define drySoil 380 // Define min value we consider soil 'dry'
// Define analog input
#define sensorPin A0
void setup() {
Serial.begin(9600);
}
void loop() {
// Read the Analog Input and print it
int moisture = analogRead(sensorPin);
Serial.print("Analog output: ");
Serial.println(moisture);
// Determine status of our soil
if (moisture < wetSoil) {
Serial.println("Status: Soil is too wet");
} else if (moisture >= wetSoil && moisture < drySoil) {
Serial.println("Status: Soil moisture is perfect");
} else {
Serial.println("Status: Soil is too dry - time to water!");
}
Serial.println();
// Take a reading every second
delay(1000);
}Jika semuanya sudah terhubung dan dikonfigurasi dengan benar, kamu seharusnya akan melihat output yang serupa pada Serial Monitor.

credit :
translated from Last Minute Engineers by Amrit Prabhu
Produk yang direkomendasikan
Arduino UNO R3 ATMEGA328P DIP ATMEGA 16U2 Compatible – Tanpa Kabel untuk Proyek DIY
Rp97.110Kabel Data USB 2.0 Type A to B Male to Male 30cm – Kabel untuk Arduino UNO dan Printer
Rp6.300CAPACITIVE SOIL SENSOR TANAH HYGROMETER HUMIDITY MOISTURE MODULE
Rp11.790CAPACITIVE SOIL SENSOR TANAH HYGROMETER HUMIDITY MOISTURE MODULE V2.0
Rp13.500



















