Anda di sini

Elektronika

[TUTORIAL] Menggunakan Sensor Kelembaban Tanah YL-39 dan YL-69 pada Arduino

Kusuma Wardana - 11 Juni 2016 21:45:08 4

Pendahuluan

Untuk aplikasi tertentu, misalnya pada penyiraman tanaman secara otomatis, kita memerlukan informasi mengenai kelembaban tanah untuk tanaman kita. Karena pengaruh suhu lingkungan, proses penguapan akan berpengaruh pada tingkat kelembaban tanah.

Saat ini telah banyak sensor kelembaban tanah yang beredar di pasaran dengan harga yang relatif terjangkau, salah satunya adalah kombinasi dari YL-39 (modul pengkondisian sinyal) dan YL-69 (probe sensor). Amatilah Gambar 1.

Gambar 1. Keterangan sensor kelembaban tanah

Modul sensor ini memiliki 4-pin, yaitu GND (untuk ground), VCC (3.3 - 5Volt), AO (keluaran analog yang akan dibaca oleh Arduino), dan DO (dapat diatur sensitivitasnya menggunakan knb pengatur, dan menghasilkan logika digital HIGH/LOW pada level kelembaban tertentu). Untuk saat ini, hanya tiga pin yang kita manfaatkan, yaitu GND, VCC dan AO.

Hardware

Rangkailah sensor dan Arduino seperti pada Gambar 2.

Gambar 2.Pemasangan sensor kelembaban tanah pada Arduino

Dalam penggunaan jangka panjang, memberikan tegangan terus-menerus pada probe akan mempercepat rusaknya probe tersebut, terutama saat tanah dominan dalam keadaan lembab. Oleh karena itu, salah satu alternatifnya adalah menempatan pin VCC pada salah satu pin digital (pada tutorial kali ini di pin 6), dan akan diaktifkan sesaat sebelum sensor mengambil data kelembaban.

Software

Bukalah IDE Arduino. Ketik dan upload-lah skrip di bawah ini. Keterangan program telah disertakan sebagai komentar.

int sensorPin = A0;  // pin sensor
int powerPin = 6;    // untuk pengganti VCC

void setup() {  
  // jadikan pin power sebagai output
  pinMode(powerPin, OUTPUT);
  // default bernilai LOW
  digitalWrite(powerPin, LOW);
  // mulai komunikasi serial
  Serial.begin(9600);
}

void loop() {
  Serial.print("Nilai kelembaban: ");
  Serial.println(bacaSensor());
  // baca setiap 5 detik
  delay(5000);
}

int bacaSensor() {
  // hidupkan power
  digitalWrite(powerPin, HIGH);
  delay(500);
  // baca nilai analog dari sensor
  int nilaiSensor = analogRead(sensorPin);
  digitalWrite(powerPin, LOW);
  // makin lembab maka makin tinggi nilai outputnya
  return 1023 - nilaiSensor;
}

Bukalah serial monitor dan amati hasilnya. Berikut contohnya:

Nilai kelembaban: 50
Nilai kelembaban: 52
Nilai kelembaban: 627
Nilai kelembaban: 635
Nilai kelembaban: 50

Makin lembab, maka sensor akan mengeluarkan nilai lebih besar. Demikian tutorial kali ini.. Semoga bermanfaat Smile

12.285
Image

Kusuma Wardana

I Nyoman Kusuma Wardana, yang akrab dipanggil Kusuma, lahir dan besar di Bali. Ia tinggal di Desa Wisata Ubud, dan lebih banyak melaksanakan aktivitasnya di Denpasar. Profesinya adalah sebagai staf pengajar di Jurusan Teknik Elektro, Politeknik Negeri Bali. Saat ini Ia menjadi salah satu penulis di tutorkeren.com.

Artikel Menarik Lainnya

Komentar

permisi mau tanya mengenai kodingan diatas. saya sudah coba kodingannya dan sudah dihubungkan ke sensornya, tapi ketika serial monitornya dibuka tidak menampilkan apapun. hanya kosong saja. butuh penjelasan dan penerangan mengenai hal tersebut. mohon dijawab. terima kasih

Halo mas, biasanya kalau tidak mau muncul di serial itu baud ratenya belum diset. Coba pada serial monitur arduino pada bagian pojok kanan bawah disetting dulu baud ratenya ke 9600.

HTSL://HIGH THINKING SIMPLE LIVING . ME

Permisi, maaf numpang tanya.. saya sudah coba codingan ini, tapi jika saya ingin hasilnya dalam bentuk persen bagaimana ya ? saya sudah mencoba menggunakan map arduino tapi hasilnya tidak berubah. Bagaimana ya ? mohon pencerahan. Terimakasih

Halo Mas,

Untuk menampilkan data sensor kekembapan dalam persen cara yg paling mudah memang menggunakan fungsi map, mungkin mas bisa coba potongan kode ini:

float persen = map(nilaiAnalogKelembapan,0,1023,0,100);

Saya selalu pakai itu untuk menampilkan dalam bentuk persen, silahkan dicoba jika masih tidak mau silahkan reply lagi

HTSL://HIGH THINKING SIMPLE LIVING . ME

Mari Gabung

Halo Emo 51 , Ada yang ingin disampaikan? Jangan sungkan untuk gabung diskusi ini. Silahkan Login dulu atau Daftar baru.