SISTEM PEMBERI AIR PADA TANAMAN OTOMATIS
TUGAS AKHIR
Diajukan untuk memenuhi salah satu syarat memperoleh gelar Ahli Madya
Program Studi Mekatronika
Disusun oleh:
1. Nama: Nikodimus Raditia Kurnianto NIM: 181113011
2. Nama: Michael Rico Christian NIM: 181113014
PROGRAM STUDI MEKATRONIKA FAKULTAS VOKASI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
2021
AUTOMATIC PLANT WATERING SYSTEM
FINAL PROJECT
Presented as partial fulfilment of the requirements to obtain the Ahli Madya
degree in Mechatronic Engineering
By:
1. Name: Nikodimus Raditia Kurnianto NIM: 181113011
2. Name: Michael Rico Christian NIM: 181113014
MECHATRONICS STUDY PROGRAM VOCATIONAL FACULTY
SANATA DHARMA UNIVERSITY YOGYAKARTA
2021
HALAMAN PERSETUJUAN
TUGAS AKHIR
SISTEM PEMBERI AIR PADA TANAMAN OTOMATIS
Disusun oleh:
1. Nama: Nikodimus Raditia Kurnianto NIM: 181113011
2. Nama: Michael Rico Christian NIM: 181113014
Telah disetujui oleh:
Pembimbing Tanggal : 30 Juni 2021
Pippie Arbiyanti, S.T., M. Eng.
HALAMAN PENGESAHAN
TUGAS AKHIR
SISTEM PEMBERI AIR PADA TANAMAN OTOMATIS
Dipersiapkan dan ditulis oleh:
1. Nama: Nikodimus Raditia Kurnianto NIM: 181113011
2. Nama: Michael Rico Christian NIM: 181113014
Telah dipertahankan di depan Dewan Penguji pada tanggal 7 Juli 2021
dan dinyatakan memenuhi syarat Susunan Dewan
Penguji:
Ketua : Agus Siswoyo, S.T., M.T. ………
Sekretaris : Dian Artanto, S.T., M.Eng. ………
Anggota : Pippie Arbiyanti, S.T., M. Eng. ………
Yogyakarta, 7 Juli 2021 Fakultas Vokasi
Universitas Sanata Dharma Dekan
Eko Aris Budi Cahyono, S.T., M.Eng.
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah saya sebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 16 Februari 2022 Penulis,
Nikodimus Raditia Kurnianto
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Nikodimus Raditia Kurnianto
Nomor Mahasiswa : 181113011
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul : Sistem Pemberi Air Pada Tanaman Otomatis / Automatic Plant Watering System beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya diInternet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari sayamaupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Atas kemajuan teknologi informasi, saya tidak berkeberatan jika nama, tanda tangan, gambar atau image yang ada di dalam karya ilmiah saya terindeks oleh mesin pencari (search engine), misalnya google.
Demikian pernyataan ini yang saya buat dengan sebenarnya.
Dibuat di Yogyakarta
Pada tanggal : 12 Februari 2021 Yang menyatakan
( Nikodimus Raditia Kurnianto )
INTISARI
Sistem Pemberi Air Pada Tanaman Otomatis adalah sebuah sistem penyiraman tanaman otomatis yang dapat dipantau dengan aplikasi di smartphone.
Menggunakan 5 sensor sebagai pendeteksi keadaan sekitar, serta menggunakan Arduino Uno sebagai pusat pengendali dan modul nirkabel sebagai pengirim data ke aplikasi. Alat ini juga memiliki atap yang dapat membuka dan menutup secara otomatis tergantung dari cuaca. Untuk penggunaanya, pengguna hanya tinggal menanam bibit tumbuhan pada tempat yang sudah disediakan dan menghubungkan perangkat aplikasi dengan modul nirkabel supaya dapat memantau keadaan di sekitar tumbuhan pengguna.
Kata kunci: Arduino Uno, Sensor, Modul Nirkabel, Aplikasi, Penyiraman, Tumbuhan.
ABSTRACT
Automatic Plant Watering System is an automatic plant watering system that can be monitored with an application on a smartphone. Using 5 sensors as a detector of the surrounding environment, and using Arduino Uno as a central controller and a wireless module as a data sender to the application. This tool also has a roof that can open and close automatically depending on the weather. For its use, users only need to plant seeds in the space provided and connect the application device to the wireless module so that they can monitor the conditions around the user's plants.
Keywords: Arduino Uno, Sensor, Wireless Module, Application, Watering, Plants.
DAFTAR ISI
COVER ... i
HALAMAN JUDUL ... ii
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
LEMBAR PERNYATAAN KEASLIAN KARYA ... v
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI... vi
INTISARI ... vii
ABSTRACT ... viii
DAFTAR ISI ... ix
DAFTAR GAMBAR ... xi
DAFTAR TABEL ... xii
BAB I ... 1
I.1. LATAR BELAKANG ... 1
I.2. RUMUSAN MASALAH ... 1
I.3. BATASAN MASALAH ... 1
I.4. REFERENSI RANCANGAN ... 2
I.5. SOLUSI TERPILIH ... 3
BAB II ... 5
II.1. DESKRIPSI ALAT ... 5
II.2. PERANCANGAN MEKANIK ... 5
II.3. PERANCANGAN ELEKTRIK ... 7
II.4. PERANCANGAN KENDALI ... 8
BAB III ... 12
III.1. SPESIFIKASI ALAT ... 12
III.2. KOMPONEN-KOMPONEN ALAT ... 13
III.3. CARA KERJA ALAT ... 17
BAB IV ... 19
IV.1. KESIMPULAN ... 19
IV.2. PROSPEK PENGEMBANGAN ALAT ... 19
DAFTAR PUSTAKA ... 20
DAFTAR LAMPIRAN ... 21
DAFTAR GAMBAR
Gambar 1.1. Referensi Rancangan 1 ...2
Gambar 1.2. Referensi Rancangan 2 ...3
Gambar 2.1. Rancangan alat tampak samping ...5
Gambar 2.2. Rancangan alat tampak depan ...6
Gambar 2.3. Diagram Blok ...7
Gambar 2.4. Flowchart ...8
Gambar 3.1. Gambar Alat ...12
DAFTAR TABEL
Tabel 3.1 Daftar Komponen Mekani ...13 Tabel 3.2 Daftar Komponen Elektrik...15
BAB I
PENDAHULUAN
I.1. LATAR BELAKANG
Semenjak adanya wabah Covid-19 dan adanya kebijakan work from home, banyak orang yang memiliki hobi baru seperti koleksi tanaman hias dan hidroponik. Setelah berlakunya masa new normal sudah banyak kembali orang yang masuk kantor atau beraktifitas di luar rumah kembali. Sehingga banyak dari mereka yang sudah tidak sempat mengurusi tanaman mereka lagi, sehingga kami berinovasi untuk membuat modul smart modular watering system ini untuk membantu mereka merawat dan memperhatikan tanamanya setiap hari.
Tanaman yang akan di tanam adalah jenis sayur-sayuran yaitu pakcoy.
Pakcoy (Brassica rapa) merupakan sayuran yang mengandung vitamin A, vitamin C, vitamin K, vitamin B6, asam folat, antioksidan beta karoten, serta kalsium, oleh sebab itu pakcoy sangat bermanfaat bagi kesehatan. Dalam masa penanaman pakcoy harus mendapatkan intensitas cahaya yang cukup berkisar 10 sampai 13 jam setiap harinya. Sedangkan suhu yang dibutuhkan antara 15 sampai 32 derajat celcius. Tanah dilokasi penanaman pakcoy harus memiliki pH 6 hingga 6,5 dan memiliki kelembaban 70%. Masa panen pakcoy adalah 40-60 hari setelah tanam dari biji.
I.2. RUMUSAN MASALAH
Dari Latar Belakang yang sudah disampaikan ada beberapa persoalan yang muncul yaitu
1. Bagaimana cara memonitor kondisi tanaman?
2. Bagaimana cara pengairan tanaman?
3. Bagaimana cara mengontrol sistem pengairan dan sensor?
4. Berapa banyak tanaman yang dapat ditanam?
5. Bagaimana cara mengkomunikasikan controller dan Blynk?
I.3. BATASAN MASALAH
Dari Latar Belakang yang sudah disampaikan ada beberapa persoalan yang muncul yaitu
1. Kondisi tanaman dimonitor dari smartphone melalui aplikasi Blynk.
2. Pengairan tanaman menggunakan pompa air yang menyedot air dari penampungan kemudian mengalirkan air ke tanaman menggunakan selang.
3. Sistem pengairan dan sensor dikontrol menggunakan Arduino uno sebagai microcontroller.
4. Modul smart watering system mampu ditanamani 9 tanaman bersamaan dengan jenis yang sama.
5. Arduino uno di komunikasikan dengan modul wifi NodeMCU Esp8266 yang akan mengirimkan nilai hasil pembacaan ke Blynk.
I.4. REFERENSI RANCANGAN
(https://paktanidigital.com/teknik-vertikultur-bertanam-di-lahan-sempit) Gambar 1.1. Referensi Rancangan 1
Vertikultur merupakan teknik bercocok tanam diruang/lahan sempit dengan memanfaatkan bidang vertikal sebagai tempat bercocok tanam yang dilakukan secara bertingkat. Pertanian vertikultur tidak hanya sebagai
sumber pangan tetapi juga menciptakan suasana alami yang menyenangkan. Model, bahan, ukuran, wadah vertikultur sangat banyak, tinggal disesuaikan dengan kondisi dan keinginan. Pada umumnya adalah berbentuk persegi panjang, segi tiga, atau dibentuk mirip anak tangga, dengan beberapa undak-undakan atau sejumlah rak. Bahan dapat berupa bambu atau pipa paralon, kaleng bekas, bahkan lembaran karung beras pun bisa, karena salah satu filosofi dari vertikultur adalah memanfaatkan benda- benda bekas di sekitar kita. Persyaratan vertikultur adalah kuat dan mudah dipindah-pindahkan. Tanaman yang akan ditanam sebaiknya disesuaikan dengan kebutuhan dan memiliki nilai ekonomis tinggi, berumur pendek, dan berakar pendek.
(https://www.hackster.io/LuisLabMO/smart-modular-watering-system) Gambar 1.2. Referensi Rancangan 2
Berikut ini merupakan contoh sistem penyiraman tanaman secara otomatis yang dilakkukan dengan menggunakan selang sehingga seluruh tanah dapat teraliri air secara merata dan penggunaan air yang secukupnya.
I.5. SOLUSI TERPILIH
Untuk desain rangka menggunakan desain bertingkat atau vertikultur seperti gambar referensi rancangan 1 dan menggunakan paralon sebagai tempat tanamannya.
Sedangakan untuk sistem penyiraman tanaman menggunakan selang yang terlentang disepanjang paralon sehingga pengairan dapat merata seperti gambar referensi rancangan 2. Kami juga melakukan monitoring kelembaban, suhu, serta level air menggunakan bylnk.
BAB II
PERANCANGAN ALAT
II.1. DESKRIPSI ALAT
Smart watering system merupakan alat yang dapat menyiram tanaman secara otomatis. Alat ini terhubung dengan perangkat smartphone sehingga kita dapat memonitor kondisi tanaman kita dimana pun kita berada, mulai dari suhu, kelembaban tanah, dan level air. Sehingga kita dapat memantau dan mengontrol tanaman kita di rumah.
Saat sensor kelembaban berada pada nilai tertentu maka pompa air akan menyala dan menyiram tanaman secara otomatis, kemudian saat sensor suhu mendeteksi panas yang berlebih maka atap otomatis yang terbuat dari jaring paranet akan terbuka sehingga dapat melindungi tanaman dari sinar matahari berlebih.
II.2. PERANCANGAN MEKANIK
Gamabar 2.1. Rancangan alat tampak samping
Gambar 2.2. Rancangan alat tampak depan
Modul smart watering sistem menggunakan besi L sebagai rangka dasar karena lebih kokoh dan mampu bertahan lebih lama dari air dan sinar matahari yang terus menerus. Tempat media tanamnya menggunakan paralon berukuran 3 inchi. Agar atap paranet dapat membuka dan menutup secara otomatis kami menggunaan motor stepper yang dihubungkan dengan lead screw menggunakan poros coupling sehingga dapat menggerakkan nut srew maju dan mundur. Sistem penyiraman menggunakan pompa air yang dialirkan dengan selang ke setiap tanaman, dan menggunakan box container sebagai wadah penampungan air.
II.3. PERANCANGAN ELEKTRIK
Gambar 2.3. Diagram Blok
Modul smart watering sistem menggunakan Arduino uno sebagai mikrokontroler dan terkomunikasi dengan NodeMCU esp8266 sebagai module wifi yang akan mengirim data ke blynk. Ada 5 sensor sebagai input yaitu sensor hujan, sensor kelembaban tanah, sensor LDR, sensor suhu, dan sensor ultrasonic. Sedangkan outputnya ke relay yang akan mengaktifkan pompa dan driver motor yang akan mengaktifkan motor stepper.
II.4. PERANCANGAN KENDALI
Gambar 2.4. Flowchart
BAB III
HASIL ALAT
III.1. SPESIFIKASI ALAT
Gambar 3.1. Gambar Alat
Rangaka dasar modul smart watering sistem menggunakan besi L berukuran 30X30 mm, untuk wadah media tanam pakcoy menggunakan paralon berukuran 3 inchi. Alat yang kami buat memiliki 5 jenis sensor yaitu sensor suhu ds18b20 untuk mendeteksi suhu sekitar, sensor ultrasonic HC- SR04 untuk mendeteksi ketinggian level air, sensor hujan SC-37 untuk mendeteksi terjadinya hujan, sensor kelembaban tanah YL-69 untuk mendeteksi nilai kelembaban tanah, dan module sensor LDR untuk mendeteksi intensitas cahaya matahari. Kami juga memakai driver L298N
menggunakan poros coupling, module relay untuk mengontrol pompa air yang terhubung ke selang untuk pengaliran air.
Kami juga menggunakan aduino uno sebagai mikrokontroler serta nodemcu esp8266 sebagai module wifi yang akan mengirim data ke Blynk. Blynk adalah platform aplikasi yang dapat diunduh secara gratis untuk iOS dan Android yang berfungsi mengontrol Arduino, Raspberry Pi dan sejenisnya melalui Internet. Blynk dirancang untuk Internet of Things dengan tujuan dapat mengontrol hardware dari jarak jauh, dapat menampilkan data sensor, dapat menyimpan data, visual dan melakukan banyak hal canggih lainnya.
III.2. KOMPONEN-KOMPONEN ALAT Daftar komponen mekanik:
Tabel 3.1 Daftar Komponen Mekanik
No Komponen Mekanik Spesifikasi
1 Lead screw - Fungsi: menggerakkan atap
- Diameter 8 mm - Panjang 700 mm - Jumlah 1 buah
2 Besi siku - Fungsi: Rangka dasar alat
- Ukuran 30 x 30 x 6000 mm - Jumlah 2 buah
3 Selang - Fungsi: mengalirkan air ke
tanaman
- Diameter 7 mm - Panjang 3 m - Jumlah 1 buah
4 Paralon - Fungsi: tempat menanam tumbuhan
- Diameter 3 inchi - Panjang 700 mm - Jumlah 3 buah
5 Box container - Fungsi: penampung air - Jumlah 1 buah
6 Bearing - Fungsi: tumpuan lead screw saat berputar
- Diameter 8 mm - Jumlah 3 buah
7 AS alumunium - Fungsi: support atap - Diameter 8 mm - Panjang 700 mm - Jumlah 3 buah
8 Poros coupling - Fungsi: penyambung motor dan lead screw
- Diameter 5 mm 8 mm - Jumlah 1 buah
9 Pompa air - Fungsi: mengalirkan air - Daya: 12v
- Jumlah 1 buah
10 Paranet - Fungsi: melindungi tanaman dari sinar matahari
- Ukuran: 700 x 800 mm - Jumlah 1 buah
Daftar komponen elektrik:
Tabel 3.2 Daftar Komponen Elektrik
No Komponen Elektrik Spesifikasi
1 Sensor ultrasonic - Fungsi: pendeteksi level air - Tipe: HC-SR04
- Jumlah 1 buah
2 Motor stepper - Fungsi: penggerak lead srew - Tipe: 17HS2408
- Jumlah 1 buah
3 Sensor suhu - Fungsi: mendeteksi suhu sekitar - Tipe: DS18b20
- Jumlah 1 buah
4 Sensor hujan - Fungsi: mendeteksi terjadinya hujan - Tipe: FC-37
- Jumlah 1 buah
5 Sensor kelembaban tanah - Fungsi: mendeteksi kelembaban tanah
- Tipe: YL-69 - Jumlah 1 buah
6 Arduino Uno - Fungsi: mikrokontroler - Tipe: Arduino uno - Jumlah 1 buah
7 Wireless module - Fungsi: menghubungkan mikrokontroler dengan blynk - Tipe: NodeMcu esp8266 - Jumlah 1 buah
8 Sensor cahaya - Fungsi: mendeteksi cahaya matahari - Tipe: Module LDR
- Jumlah 1 buah
9 Relay - Fungsi: menghubungkan ke pompa
air
- Tipe: module relay - Jumlah 1 buah
10 Driver motor - Fungsi: mengontrol motor stepper - Tipe:L298N
- Jumlah 1 buah
III.3. CARA KERJA ALAT
1. Saat power terhubung maka seluruh sensor akan mendeteksi nilai mulai dari sensor suhu, sensor LDR, sensor hujan, sensor kelembaban tanah, dan sensor ultrasonic.
2. Setelah semua sensor membaca nilainya maka seluruh data sensor akan dikirim ke blynk melalui nodeMCU.
3. Suhu yang dibutuhkan pakcoy berkisar 15OC – 32OC, jika sensor suhu mendeteksi suhu lebih dari 32OC dan Sensor LDR mendeteksi nilai kurang dari 100 atau sensor hujan memdeteksi nilai kurang dari 300 maka motor akan aktif dan berputar secara counterclockwise sehingga paranet akan menutup untuk melindungi tanaman dari sinar matahari yang berlebih atau dari hujan.
4. Jika suhu sudah turun dibawah 32OC dan nilai sensor LDR diatas 100 atau nilai sensor hujan lebih dari 400 maka motor akan aktif dan berputar secara clockwise sehingga paranet membuka.
5. Kelembaban tanah yang di butuhkan pakcoy antara 70% - 80%, jika sensor kelembaban tanah mendeteksi nilai kelembaban tanah dibawah 70% maka pompa akan aktif dan mengairi tanaman selama 2 detik, setelah itu di delay 30 detik untuk menunggu air meresap dengan demikian kelembaban tanah akan terjaga.
Berikut ini merupakan tampilan dalam aplikasi Blynk:
LED indikator, Menyala saat sedang hujan.
LED indikator, Menyala saat air habis.
LED indikator, Menyala saat pompa aktif.
LED indikator, Menyala saat suhu panas.
Level suhu, range 0 – 32OC Value display kelembaban tanah
Level air, range 0 – 25OC Value display penampung air
Value display suhu
Nilai sensor LDR, range 0 - 1023 Nilai sensor hujan, range 0 - 1023
Grafik hasil pembacaan sensor dalam kurun waktu tertentu
LCD
BAB IV
PENUTUP
IV.1. KESIMPULAN
Berdasarkan hasil percobaan modul smart watering system yang telah dibuat ini memiliki kesimpulan sebagai berikut
1. Modul smart watering system ini dapat melakukan penyiraman dengan baik dan dapat menjaga kelembaban tanah di nilai tertentu, disini tanaman pakcoy harus memiliki kelembaban tanah sekitar 70%.
2. Monitoring menggunakan Blynk dapat dilakukan dimana pun menggunakan smartphone kalian.
3. Modul smart watering system ini tidak bisa diletakkan terlalu jauh dari rumah karena NodeMCU esp8266 harus selalu terhubung ke wifi supaya dapat selalu mengirim data ke blynk dan dapat dimonitor.
IV.2. PROSPEK PENGEMBANGAN ALAT
Prospek pengembangan alat yang dapat dilakukan adalah sebgai berikut
1. Metode pengairan tanaman bisa ditambah spray supaya daunnya juga ikut basah tidak hanya tanahnya saja.
2. Jumlah sensor kelembaban tanah yang bisa ditambah agar lebih akurat lagi dalam proses penyiraman.
3. Dapat diterapkan dengan skala yang lebih besar dengan penambahan sensor yang harus disesuaikan dengan skala areanya.
4. Smart watering system ini juga dapat digunakan untuk berbagai jenis tanaman, tinggal disesuaikan saja nilai set poinnya.
DAFTAR PUSTAKA
https://balitsa.litbang.pertanian.go.id/ind/index.php/berita-terbaru/274-budidaya- secara-vertikultur. Diakses tanggal 13 Maret 2021.
https://www.hackster.io/blynk/projects. Diakses tanggal 27 Februari 2021.
Susilo, Eko, 2016. Peluang Usaha dari Budidaya Sawi Pakcoy. PT. Literindo Berkah Karya, Malang.
DAFTAR LAMPIRAN
1. Gambar rancangan mekanik alat (gambar utama dan gambar komponen)
Nama Komponen Gambar
Desain utama
Motor Stepper
Poros Coupling
Dudukan Motor
Lead Screw
Bearing
Srew nut
As Alumunium
2. Gambar skema rangkaian elektronik (driver motor, mikrokontroler, dsb)
3. Gambar skema rangkaian elektrik (daftar i/o PLC, wiring PLC, dsb)
4. Program/ladder diagram Program Arduino uno:
Program
#include <SoftwareSerial.h>
#include <OneWire.h>
#include <Stepper.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 4
SoftwareSerial ArduinoUno (3, 2);
const int stepsPerRevolution = 4000;
int i, b, c, t, o;
int trig = 6; // membuat varibel trig yang di set ke-pin 3 int echo = 7;
int relay = 5;
int sensorPin = A2; // pin sensor kelembaban int powerPin = 13; // untuk pengganti VCC
long durasi, jarak; // membuat variabel durasi dan jarak int ldr = A1;
int nilaildr;
int sensorhujan = A0;
int nilaihujan;
int bacaSensor;
int kelembabanTanah;
OneWire pin_DS18B20(4);
DallasTemperature DS18B20(&pin_DS18B20);
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
void setup() {
Serial.begin(115200);
ArduinoUno.begin(9600);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(trig, OUTPUT); // set pin trig menjadi OUTPUT pinMode(echo, INPUT); // set pin echo menjadi INPUT pinMode(relay, OUTPUT);
pinMode(powerPin, OUTPUT);
digitalWrite(powerPin, LOW);
DS18B20.begin();
myStepper.setSpeed(15);
}
void loop() { awal();
}
void awal() { suhu();
LDR();
hujan();
kelembaban();
ultrasonik();
blynk();
if (DS18B20.getTempCByIndex(0) >= 32 && nilaildr <= 200) { tutup();
}
if (nilaihujan < 300) { tutuphujan();
} awal();
}
void buka() {
Serial.println("counterclockwise");
myStepper.step(4000);
myStepper.step(4000);
myStepper.step(4000);
myStepper.step(4000);
myStepper.step(4000);
myStepper.step(4000);
myStepper.step(4000);
myStepper.step(4000);
myStepper.step(4000);
myStepper.step(4000);
e();
}
void d() {
myStepper.step(0);
suhu();
LDR();
hujan();
kelembaban();
ultrasonik();
blynk();
if (DS18B20.getTempCByIndex(0) < 32 && nilaildr > 200) { buka();
} d();
}
void e() {
myStepper.step(0);
awal();
}
void tutup() {
Serial.println("clockwise");
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
d();
}
void tutuphujan() {
Serial.println("clockwise");
Serial.println("hujan");
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
myStepper.step(-stepsPerRevolution);
f();
}
void f() { suhu();
LDR();
hujan();
kelembaban();
ultrasonik();
blynk();
if (nilaihujan > 400) { buka();
}
delay(1000);
f();
}
void suhu() {
DS18B20.requestTemperatures();
Serial.print("Suhu Celsius: ");
Serial.println(DS18B20.getTempCByIndex(0));
}
void LDR() {
nilaildr = analogRead(ldr);
Serial.print("Nilai LDR: ");
Serial.println(nilaildr);
}
void hujan() {
nilaihujan = analogRead (sensorhujan);
Serial.print("Nilai Hujan: ");
Serial.println(nilaihujan);
}
void kelembaban() {
digitalWrite(powerPin, HIGH);
delay(500);
float kelembabanTanah;
int hasilPembacaan = analogRead(A2);
Serial.println(hasilPembacaan);
kelembabanTanah = (110 - ((analogRead(A2) / 1023.00) * 100));
Serial.print("Persentase Kelembaban Tanah = ");
Serial.print(kelembabanTanah);
Serial.println("%");
if (kelembabanTanah < 70) { digitalWrite (5, LOW);
delay(2000);
digitalWrite (5, HIGH);
delay(10000);
} else{
digitalWrite (5, HIGH);
}
digitalWrite(powerPin, LOW);
}
void blynk() {
i = analogRead (A0); //sensor hujan i = i + 2000;
ArduinoUno.print(i);
ArduinoUno.println("\n");
b = analogRead (A1); //LDR b = b + 4000;
ArduinoUno.print(b);
ArduinoUno.println("\n");
c = analogRead (A2); //kelembaban tanah c = c + 6000;
ArduinoUno.print(c);
ArduinoUno.println("\n");
t = jarak; //ultrasonik t = t + 8000;
ArduinoUno.print(t);
ArduinoUno.println("\n");
o = DS18B20.getTempCByIndex(0); //suhu o = o + 10000;
ArduinoUno.print(o);
ArduinoUno.println("\n");
delay(5000);
}
void ultrasonik() {
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
durasi = pulseIn(echo, HIGH); // menerima suara ultrasonic
jarak = (durasi / 2) / 29; // mengubah durasi menjadi jarak (cm)
if (jarak >= 300 || jarak <= 0) {
Serial.println("jarak melebihi batas");
} else {
Serial.print(jarak);
Serial.println("cm");
}
delay(500);
}
Program NodeMCU esp8266:
Program
#define BLYNK_PRINT Serial
#include <SoftwareSerial.h>
#include <BlynkSimpleEsp8266.h>
#include <ESP8266WiFi.h>
BlynkTimer timer;
WidgetLED led1 (V0);
WidgetLED led2 (V6);
// ================= CONNECT TO WIFI ================
char auth[] = "lBF1Sfb-Ctlb9841CfCBz2zAEb9cdoAj";
char ssid[] = "Radit";
char pass[] = "12345678";
int map1, map2, map3, map4, map5, mmm;
SoftwareSerial NodeMCU(D2, D1);
void a() {
if (NodeMCU.available() > 0) { mmm = NodeMCU.parseInt();
if (NodeMCU.read() == '\n') { Serial.println(mmm);
if (mmm >= 2000 && mmm <= 3023) { //HUJAN int map1 = mmm;
map1 = map1 - 2000;
Serial.print(" map1 : ");
Serial.println(map1);
Blynk.virtualWrite(V1, map1);
if (map1 <= 300) { led2.on();
}
else if (map1 >=400) { led2.off();
} }
if (mmm >= 4000 && mmm <= 5023) { // LDR int map2 = mmm;
map2 = map2 - 4000;
Serial.print(" map2 : ");
Serial.println(map2);
Blynk.virtualWrite(V2, map2);
}
if (mmm >= 6000 && mmm <= 7023) { //Kelembaban tanah int map3 = mmm;
map3 = map3 - 6000;
map3 = (110 - ((map3 / 1023.00) * 100));
Serial.print(" map3 : ");
Serial.println(map3);
Blynk.virtualWrite(V3, map3);
}
if (mmm >= 8000 && mmm <= 9203) { //ultrasonik int map4 = mmm;
map4 = map4 - 8000;
Serial.print(" map4 : ");
Serial.println(map4);
Blynk.virtualWrite(V4, map4);
if (map4 >= 20) { led1.on();
} else { led1.off();
} }
if (mmm >= 10000 && mmm <= 11024){ // suhu int map5 = mmm;
map5 = map5 - 10000;
Serial.print(" map5 : ");
Serial.println(map5);
Blynk.virtualWrite(V5, map5);
} } } }
void setup() {
Serial.begin (115200);
NodeMCU.begin(9600);
Blynk.begin(auth, ssid, pass); //Local server timer.setInterval(400L, a);
}
void loop() { Blynk.run();
timer.run();
}
5. Data sheet komponen yang digunakan Arduino:
NodeMCU esp 8266:
Sensor ultrasonic Hc-SR04:
Module sensor:
Driver motor L298N:
Motor 17HS2408:
DS18b20: