Anda di halaman 1dari 7

I.

JUDUL : Sensor Kelembaban Tanah YL-69 (Percobaan 2)


II. TUJUAN :
1. Mengetahui kegunaan sensor kelembaban tanah YL-69
2. Membuat alat ukur kelembaban tanah berbasis Arduino
3. Membuat simulasi penyiraman tanaman otomatis menggunakan sensor
kelembaban tanah YL-69
III. DAFTAR PROGRAM
1. Program Sensor Kelembaban YL-69 untuk mengukur kelembaban tanah
yang ditampilkan pada Serial Monitor
2. Program Sensor Kelembaban YL-69 untuk mengukur kelembaban tanah
yang ditampilkan pada LCD dengan nilai yang dinyatakan dalam persen
3. Program Sensor Kelembaban YL-69 untuk mengukur kelembaban tanah
yang nyatakan dalam 3 kondisi yaitu kering,sedang dan basah. Dimana
kondisi ini ditandai dengan buzzer dan nyalanLED
IV. PENJELASAN PROGRAM
1. Program Kelembaban Tanah YL-69 tampilan serial monitor

/*Sensor Suhu dan Kelembaban Tanah YL-69


*
* Fajar Alfin Nurl Haq 3.32.17.0.09
* Rifky Khoirulloh Yoga Pratama 3.32.17.0.21
*
*/
int sensorPin = A0;
int powerPin = 8;
void setup () {
pinMode (powerPin,OUTPUT);
digitalWrite (powerPin,LOW);
Serial.begin (9600);
}
void loop (){
Serial.print ("Nilai Kelembaban : ");
Serial.println (bacaSensor ());
delay (5000);
}
int bacaSensor (){
digitalWrite (powerPin, HIGH);
delay (500);
int nilaiSensor = analogRead (sensorPin);
digitalWrite (powerPin,LOW);
return 1023 - nilaiSensor;
}
2. Program Kelembaban Tanah YL-69 tampilan LCD dalam persen

/*Sensor Suhu dan Kelembaban Tanah YL-69


*
* Fajar Alfin Nurl Haq 3.32.17.0.09
* Rifky Khoirulloh Yoga Pratama 3.32.17.0.21
*
*/
#include<LiquidCrystal.h> // library dari LCD
LiquidCrystal lcd(2,3,4,5,6,7); // mendefinisikan pin Arduino yang
digunakan LCD
int sensorPin = A0; // mendefinisikan sensor pada pin A0
int powerPin = 8; // mendefinisikan power sensor pada pin 8
int nilaiSensor; // mendefinisikan nilaiSensor
void setup()
{
pinMode(8,OUTPUT); // jadikan pin power sebagai output
pinMode(powerPin,OUTPUT);
digitalWrite(powerPin, LOW); // default bernilai LOW

Serial.begin(9600); // mulai komunikasi serial


lcd.begin (16,2); //modul display LCD 16X2 karakter
}
void loop(){
Serial.print("Nilai kelembaban: "); //serial memunculkan teks
Serial.println(bacaSensor()); //mengirim data kelembapan yang diukur sensor
delay(5000); // baca setiap 5 detik
lcd.clear(); // menghapus layer lcd
}

int bacaSensor(){ //tipe data untuk membaca nilai sensor


digitalWrite(powerPin, HIGH); // pin power aktif tinggi
delay(500); // baca setiap 0,5 detik
int nilaiSensor = analogRead(sensorPin); // baca nilai analog dari sensor
digitalWrite(powerPin, LOW); //pin power aktif rendah
nilaiSensor = 1023 - nilaiSensor; //rentang nilai yang terukur pada sensor
nilaiSensor = (nilaiSensor * 100)/1023; //mengkonversi nilai sensor dalam persen
lcd.setCursor(0,0); //setting letak cursor pada baris 0 kolom 0
lcd.print ("Nilai Kelembaban"); // lcd memunculkan teks

lcd.setCursor(0,1); //setting letak cursor pada baris 1 kolom 0


lcd.print(nilaiSensor); //menampilkan data nilaiSensor
lcd.print("%"); // memunculkan teks
return nilaiSensor; // makin lembab maka makin tinggi nilai outputnya
}
3. Program Kelembaban Tanah YL-69 dengan indicator “Kering, Sedang dan Basah”
/*Sensor Suhu dan Kelembaban Tanah YL-69
*
* Fajar Alfin Nurl Haq 3.32.17.0.09
* Rifky Khoirulloh Yoga Pratama 3.32.17.0.21
*
*/
#include<LiquidCrystal.h> // library dari LCD
LiquidCrystal lcd(2,3,4,5,6,7); // mendefinisikan pin Arduino yang
digunakan LCD
int sensorPin = A0; // mendefinisikan sensor pada pin A0
int powerPin = 8; // mendefinisikan power sensor pada pin 8
int nilaiSensor; // mendefinisikan nilaiSensor
void setup()
{
pinMode(8,OUTPUT); // jadikan pin power sebagai output
pinMode(powerPin,OUTPUT);
digitalWrite(powerPin, LOW); // default bernilai LOW

Serial.begin(9600); // mulai komunikasi serial


lcd.begin (16,2); //modul display LCD 16X2 karakter
}
void loop(){
Serial.print("Nilai kelembaban: "); //serial memunculkan teks
Serial.println(bacaSensor()); //mengirim data kelembapan yang diukur sensor
delay(5000); // baca setiap 5 detik
lcd.clear(); // menghapus layer lcd
}

int bacaSensor(){ //tipe data untuk membaca nilai sensor


digitalWrite(powerPin, HIGH); // pin power aktif tinggi
delay(500); // baca setiap 0,5 detik
int nilaiSensor = analogRead(sensorPin); // baca nilai analog dari sensor
digitalWrite(powerPin, LOW); //pin power aktif rendah
nilaiSensor = 1023 - nilaiSensor; //rentang nilai yang terukur pada sensor
nilaiSensor = (nilaiSensor * 100)/1023; //mengkonversi nilai sensor dalam persen
lcd.setCursor(0,0); //setting letak cursor pada baris 0 kolom 0
lcd.print ("Nilai Kelembaban"); // lcd memunculkan teks

lcd.setCursor(0,1); //setting letak cursor pada baris 1 kolom 0


lcd.print(nilaiSensor); //menampilkan data nilaiSensor
lcd.print("%"); // memunculkan teks
if(nilaiSensor <=20) // jika nilai kelembaban lebih dari sama dengan 20%
{
if(nilaiSensor>=10) // jika nilai kelembaban kurang dari sama dengan 10%
{
lcd.setCursor(7,1); // setting letak cursor pada baris 1 kolom 7
lcd.print("SEDANG"); // menampilkan teks “SEDANG”
}
if(nilaiSensor<10) jika nilai lebih dari 10%
{
digitalWrite(8,1); // menampilkan pin 8 dengan logik 1
delay(1000); // tunda 1 detik
digitalWrite(8,0); // menampilkan pin 8 logik 0
delay(1000); // tunda 1 detik
lcd.setCursor(7,1); // setting letak cursor pada baris 1 kolom 7
lcd.print("KERING"); // menampilkan teks “KERING”
}
}
else
{
lcd.setCursor(7,1); // setting letak cursor pada baris 1 kolom 7
lcd.print("BASAH"); // menampilkan teks “BASAH”
}
return nilaiSensor; // makin lembab maka makin tinggi nilai outputnya
}

V. PEMBAHASAN
1) Pada Program 1 yaitu menukur kelembaban tanah tampilan Serial Monitor
2) Pada program 2 yaitu mengukur kelembaban tanah dalam satuan persen.
3) Pada program 3 yaitu mengukur kelembaban tanah dalam persen, apabila
nilai >10% maka berada di level “KERING”, apabila nilai <10% dan >20%
maka berada di level “SEDANG” dan apabila nilai <20% maka berad di
level “BASAH”.
VI. HASIL PERCOBAAN
1) Program Kelembaban tanah tampilan serial monitor

2) Program Kelembaban tanah dalam satuan persen

Gambar 5.1 Kelembaban tanah dalam satuan persen

3) Program Kelembaban Tanah menggunakan indicator “KERING”,


“SEDANG”, dan “BASAH”
Pada praktek program 2 ini kami menggunakan menggunakan tanah
yang diisi dalam gelas, kemudian diberikan air sedikit demi sedikit sesuai
indicator yang diinginkan.
Gambar 5.2 Kelembaban tanah dengan indikator KERING

Gambar 5.3 Kelembaban tanah dengan indikator SEDANG

Gambar 5.4 Kelembaban tanah dengan indikator BASAH


VII. KESIMPULAN
1. Sensor ultrasonic HCSR adalah sensor jarak dengan prinsip kerja
memantulkan suara ultrasonic melalui terminal trigger/transmitter dan
diterima oleh terminal echo/receiver.
2. Selain untuk mengukur jarak, sensor ultrasonic juga dapat digunakan untuk
mengukur volume benda, tinggi benda, penghitung jumlah benda,
pendeteksi benda, dan lain sebagainya.

Anda mungkin juga menyukai