PROJEK
Oleh
PROJEK
Sebagai salah satu syarat untuk menyelesaikan studi di
Program Studi Teknik Komputer DIII
Oleh
ii
iii
iii
v
HALAMAN PERSEMBAHAN
“Tak penting selambat apapun kamu berjalan selama kamu tidak pernah berhenti”
Terima kasih atas kesempatan yang diberikan
Terima kasih sudah selalu berjuang
Terima kasih sudah mengajarkan arti kesabaran
Terima kasih hati yang selalu berusaha ikhlas
Dan
Maaf masih banyak kurangnya
Maaf masih perlu banyak belajar
Maaf sering sekali memaksa keadaan
Kadang perih namun semua terlewati
Sekali lagi Maaf dan Terima kasih
Ku persembahkan kepada :
Kedua orang tua tercinta
Saudaraku tercinta
Nenek ku tercinta
Teman-teman seperjuangan
prodi TKJ 18
Almamater perjuangan
Diriku sendiri
v
vi
KATA PENGANTAR
Segala puji dan syukur atas kehadiran Allah SWT, karena berkat rahmat dan
karunia-Nya penulis dapat menyelesaikan penulisan projek akhir ini dengan judul
“Implementasi Alat Siklus Penyiraman Tanaman Otomatis Berbasis Internet of
Things (IOT)”
Pada kesempatan ini, penulis mengucapkan terima kasih kepada semua pihak
yang telah membantu, membimbing dan terus mendukung penulis dalam
menyelesaikan projek akhir ini di antaranya:
vi
vii
9. Sahabat grup wacana Hani, Heneeta, Nindy, Jihan, Anisya, Agil, Yuniar,
Novian, Dimas, Riky, Aswadi, Fitra, Imam yang selalu memberi
dukungan dan semangat.
10. Sahabat perjuangan dari SMA Kevin, Borneo, Bunga, Dwi Rizki yang
selalu memberi dukungan dan semangat.
11. Sahabat seperjuangan Teknik Komputer dari Semester 1 hingga saat ini
Monica, Reska, Kinata, Putri, Dinda yang selalu berjuang bersama.
12. Teman-teman satu angkatan, khususnya Teknik Komputer Jaringan 2018.
Semoga sukses dan sehat untuk kita semua.
13. Dan untuk Diriku Sendiri terimakasih sudah terus berjuang dan mampu
melewati semua ini. Kamu Hebat.
Akhir kata penulis berharap semoga laporan projek akhir ini dapat bermanfaat
bagi pembaca khususnya Mahasiswa/I Program Studi Teknik Komputer Fakultas
Ilmu Komputer Universitas Sriwijaya. Semoga laporan projek akhir ini menjadi
lebih baik di masa mendatang. Terimakasih
vii
viii
Abstrak
Tumbuhan merupakan salah satu makhluk hidup yang membutuhkan air untuk
perkembangan hidupnya. Tanaman cabai membutuhkan pengairan yang cukup, jika
air yang diberikan tinggi di daerah perakaran, akibatnya merangsang tumbuhnya
penyakit jamur dan bakteri hingga mengalami kematian. Jika kekurangan air,
tanaman cabai dapat kurus dan kerdil layu lalu mati, Untuk mengatasi hal tersebut,
penyiraman secara otomatis dapat menjadi sebuah solusi untuk mengoptimalkan
kebutuhan nutrisi tanaman cabai dan mengatur siklus penyiraman sesuai dengan
kebutuhan tanaman cabai. Penelitian ini berhasil mengaplikasikan ESP8266,
Sensor soil moisture berhasil mendeteksi kelembaban tanah pada tanaman dan
sensor RTC berhasil mereferensikan waktu yang ditampilkan pada aplikasi blynk.
Siklus penyiraman pada pagi dan sore dapat diatur sesuai kebutuhan air tanaman
cabai. Implementasi siklus penyiraman tanaman otomatis berdasarkan nilai
kelembaban tanah pada tanaman. Persentase kegagalan dalam pengujian sebesar
10%, dimana dalam 20 pengujian terdapat 18 keberhasilan dan 2 kegagalan.
Kata kunci : Tanaman Cabai, ESP8266, Sensor soil moisture, RTC, Blynk
viii
ix
Abstract
Plants are living things that need water for the development of their life. Chili plants
require adequate irrigation, if the water given is high in the root area, as a result it
stimulates the growth of fungal and bacterial diseases to death. If there is a lack of
water, chili plants can be thin and stunted wither and die. To overcome this,
automatic watering can be a solution to optimize the nutritional needs of chili plants
and adjust the watering cycle according to the needs of chili plants. This research
succeeded in applying ESP8266, the soil moisture sensor was successful in
detecting soil moisture in plants and the RTC sensor successfully reflected the time
displayed in the blynk application. The watering cycle in the morning and evening
can be adjusted according to the water needs of the chili plants. The implementation
of the automatic plant watering cycle is based on the value of soil moisture in plants.
The percentage of failure in the test is 10%, where in 20 tests there are 18 successes
and 2 failures.
ix
DAFTAR ISI
Halaman
BAB I PENDAHULUAN
1.1. Latar Belakang .........................................................................................1
1.2. Tujuan ......................................................................................................2
1.3. Manfaat ....................................................................................................2
1.4. Batasan Masalah ......................................................................................2
1.5. Metode Penelitian ....................................................................................3
1.6. Sistematika Penulisan ..............................................................................4
x
xi
xi
xii
4.6. Pengujian Sensor Soil Moisture dan Mini Water Pump ........................52
4.7. Pengujian Sensor Soil Moisture dan Mini Water Pump ........................53
4.8. Pengujian Keseluruhan ..........................................................................54
LAMPIRAN
xii
xiii
DAFTAR SIMBOL
GDN = Ground
AUOT = Pinout
xiii
xiv
DAFTAR GAMBAR
Halaman
Gambar 2.1. Tanaman Cabai 6
Gambar 2.2. Internet of Things 8
Gambar 2.3. NodeMCU ESP8266 9
Gambar 2.4. Konfigurasi Pin NodeMCU ESP8266 10
Gambar 2.5. Sensor Soil Moisture 11
Gambar 2.6. Real Time Clock (RTC) 11
Gambar 2.7. Mini Water Pump 12
Gambar 2.8. Motor Driver L298N 13
Gambar 2.9. Baterai Li-Po 15
Gambar 2.10. Buzzer 15
Gambar 2.11. Arduino IDE 16
Gambar 2.12. Tampilan Blynk 18
Gambar 3.1. Diagram Alir Kerangka Kerja Penyiram Tanaman Otomatis 20
Gambar 3.2. Blok Diagram Perancangan Alat 21
Gambar 3.3. Rancang Alat Penyiraman Otomatis 22
Gambar 3.4. Skematik Rangkaian Sensor Soil Moisture dengan ESP8266 23
Gambar 3.5. Skematik Rangkaian RTC dengan ESP8266 24
Gambar 3.6. Skematik Rangkaian Pompa Air dengan ESP8266 26
Gambar 3.7. Skematik Rangkaian Buzzer dan LED dengan ESP8266 27
Gambar 3.8. Skematik Rangkaian Keseluruhan 28
Gambar 3.9. Desain Alat Penyiram Tanaman Otomatis 29
Gambar 3.10. Device ESP8266 29
Gambar 3.11. Select Pin 29
Gambar 3.12. Logika dan Mode 30
Gambar 3.13. Coding Blynk ke ESP8266 30
xiv
xv
xv
xvi
DAFTAR TABEL
Halaman
Tabel 3.3. Pinout Motor Driver, Mini Water Pump, Baterai (Battery) dengan
Mikrokontroler ESP8266 25
Tabel 4.6. Pengujian Sensor Soil moisture dan Pompa Air dengan 50
xvi
xvii
DAFTAR LAMPIRAN
xvii
BAB I PENDAHULUAN
1
2
1.2. Tujuan
Adapun tujuan yang ingin dicapai pada penelitian tugas akhir ini adalah
sebagai berikut:
1. Mengaplikasikan NodeMCU ESP8266, Sensor soil moisture dan sensor
RTC (Real Time Clock) pada alat penyiraman tanaman otomatis.
2. Mengatur siklus penyiraman sesuai dengan kebutuhan tanaman cabai.
3. Mengimplementasikan sebuah alat siklus penyiraman tanaman otomatis.
1.3. Manfaat
Manfaat dari penelitian tugas akhir ini adalah sebagai berikut:
1. Mempermudah dalam perawatan tanaman cabai dengan mengetahui
kelembaban tanah yang dibutuhkan pada tanaman cabai.
2. Dapat mengatur siklus penyiraman air pada tanaman cabai.
3. Mengurangi persentase kegagalan panen tanaman cabai.
2. Metode Konsultasi
Pada tahapan metode ini penulis melakukan konsultasi atau tanya jawab
dengan dosen pembimbing sehingga penulis mendapatkan masukan yang
berarti untuk kesempurnaan dalam penulisan laporan tugas akhir ini.
3. Metode Perancangan Sistem
Pada tahapan metode ini penulis melakukan rancangan terhadap sistem
baik berupa software maupun hardware.
4. Metode Pengujian
Pada tahapan metode ini penulis melakukan pengujian terhadap
rancangan sistem yang dibuat apakah sistem dapat bekerja sehingga
diperoleh data yang akurat dari hasil pengujian tugas akhir ini.
BAB I PENDAHULUAN
Pada bab ini penulis mengemukakan secara garis besar mengenai
latar belakang pengambilan judul laporan, Tujuan dan Manfaat,
Batasan Masalah, Metode Penelitian dan Sistematika Penulisan.
2.1. Cabai
Cabai merupakan tanaman peru dari family terong – terongan (solanaceae)
yang memiliki nama ilmiah Capsicum sp. Cabai berasal dari benua Amerika,
tepatnya peru dan menyebar ke negara – negara di benua Amerika, Eropa dan Asia
termasuk Indonesia.
Tumbuhan ini populer sebagai tanaman obat pekarangan dan juga tumbuh di
hutan – hutan sekunder dataran rendah hingga ketinggian 600 m dpl. Cabai dikenal
orang romawi sejak lama dan sering dikacaukan dengan lada. Di Indonesia buah
keringnya digunakan sebagai rempah pemedas makanan.
Menurut klasifikasi dalam tata nama (sistem tumbuhan) tanaman cabai
termasuk kedalam tabel 2.1
Kingdom Plantae
Divisio Spermatophyta
Sub-divisio Angiospermae
Class Dycotyledonae
Sub-class Metachlamydeae
Famili Solanaceae
Genus Capsicum
Spesies Capsicum annuum L
Tanaman cabai merupakan tanaman peru dengan batang tidak berkayu. Jenis
cabai rawit, panjang batang tidak melebihi 100 cm. Untuk cabai besar, tinggi batang
dapat mencapai 2 m, bahkan lebih. batang tanaman cabai berwarna hijau tua atau
hijau muda.
Tanaman cabai mempunyai daya adaptasi yang cukup baik dan cukup luas.
Tanaman ini dapat di tanam pada dataran rendah maupun dataran tinggi sampai
ketinggian 1400 m di atas permukaan laut, tetapi pertumbuhan tanaman cabai di
dataran tinggi lebih lambat. Suhu udara yang baik untuk pertumbuhan tanaman
5
6
cabai adalah 25 - 27 ºC pada siang hari dan 18 - 20 ºC pada malam hari. Tanaman
cabai membutuhkan sinar matahari penuh dan tidak ternaungi. pH tanah yang
optimal antara 5,5 sampai 7 Suhu malam di bawah 16 ºC dan suhu siang hari di atas
32 ºC dapat menggagalkan pembuahan pada tanaman cabai [5].
Untuk kadar air, tanaman cabai membutuhkan pengairan atau penyiraman
yang cukup, dimana dapat dilakukan pengairan atau penyiraman sebanyak 2 kali
sehari pada waktu pagi dan sore hari. Tetapi apabila air berlebihan maka dapat
menyebabkan kelembaban yang tinggi dan merangsang tumbuhnya jamur dan
bakteri pada tanaman cabai. Tanah yang terlalu basah dapat membusukan akar,
sehingga tanaman cabai akan mati. Sebaliknya, jika kekurangan air, tanaman cabai
akan kurus, kerdil, layu dan mati [6]. Tanaman cabai dapat dilihat pada gambar
2.1.
tanah. Derajat Kejenuhan tanah terbagi menjadi beberapa kategori dengan tingkatan
tertentu [8]. Derajat kejenuhan tanah dapat dilihat pada tabel 2.2
Tanah Kering 0 – 40
Tanah Basah 51 – 75
Internet of Things (IoT) mengarah pada suatu jaringan global dari fisik benda
dan barang yang mampu menghasilkan memproses, bahkan bertukar data dengan
manusia Internet of Things (IoT) juga dapat didefinisikan sebagai jaringan objek
pintar yang memiliki sifat terbuka dan menerima suatu kapasitas dalam mengatur
berbagai informasi maupun data dalam situasi dan perkembangan lingkungan [10].
Manfaat dari IoT ini sendiri yaitu dapat mengontrol dari jarak jauh yang dapat
menciptakan peluang untuk langsung menghubungkan serta menggabungkan dunia
fisik ke sistem komputer dengan sensor dan internet. Cara kerja IoT ini adalah
dengan memanfaatkan suatu argumentasi pemrograman. Dimana tiap-tiap perintah
argumen tersebut menghasilkan interaksi antara mesin yang telah terhubung secara
otomatis tanpa adanya campur tangan manusia dan tanpa batas jarak didalam.
Bentuk IoT ditunjukkan pada Gambar 2.2.
gambar 2.3 menampilkan bentuk fisik dari NodeMCU ESP8266. Pada gambar 2.4
menampilkan konfigurasi pin yang ada pada mikrokontroler NodeMCU ESP8266.
driver motor L298N ini yaitu dalam hal kepresisian dalam mengontrol motor
sehingga motor lebih mudah untuk dikontrol. Adapun gambar pinout beserta
keterangannya dapat diperhatikan pada gambar 2.8. di bawah.
2.9. Baterai
Baterai (Battery) adalah sebuah sumber energi yang dapat merubah energi
kimia yang disimpannya menjadi energi listrik yang dapat digunakan seperti
perangkat elektronik. Hampir semua perangkat elektronik yang portabel seperti
handphone, laptop, dan mainan remote control menggunakan baterai sebagai
sumber listriknya. Dengan adanya baterai, sehingga tidak perlu menyambungkan
kabel listrik ke terminal untuk dapat mengaktifkan perangkat elektronik kita
sehingga dapat dengan mudah dibawa kemana-mana. Setiap baterai terdiri dari
terminal positif (Katoda) dan terminal negatif (Anoda) serta elektrolit yang
berfungsi sebagai penghantar. Output arus listrik dari baterai adalah arus searah atau
disebut juga dengan arus DC (Direct Current). Pada umumnya, baterai terdiri dari
2 jenis utama yakni baterai primer yang hanya dapat sekali pakai (single use battery)
dan baterai sekunder yang dapat diisi ulang (rechargeable battery). Baterai yang
dibahas pada proposal ini yang dapat diisi ulang dan biasa digunakan pada
kendaraan listrik yaitu baterai Lithium ion dan Lithium Polymer.
Dalam tugas akhir ini baterai yang akan digunakan adalah baterai jenis
Lithium Polymer. Baterai Li-Po merupakan singkatan dari Lithium Polymer. Jenis
baterai ini sudah dikembangkan sejak tahun 1970 an. Hasil desain dari baterai Li-
Po lebih tipis, sehingga bisa didesain berbentuk seperti handphone slim ,tetapi tetap
memiliki daya tahan baterai yang lebih baik daripada baterai Li-ion. Li-Po
ukurannya yang tipis, sehingga akan menghasilkan berat yang cukup ringan.
Sehingga dalam proses pembuatannya, akan membuat biaya produksi yang lebih
tinggi. Pada gambar 2.9 menampilkan baterai Li-Po.
15
2.10. Buzzer
Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah
getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir
sama dengan loud speaker, jadi buzzer juga terdiri dari kumparan yang terpasang
pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi
elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari
arah arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma
maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik
sehingga membuat udara bergetar yang akan menghasilkan suara [16]. Buzzer ini
digunakan sebagai indikator (alarm).
membuat, membuka, dan mengedit source code arduino. Sketch merupakan source
code yang berisi logika dan algoritma yang akan di upload ke dalam IC
mikrokontroler(arduino).
1. Verify
Pada versi sebelumnya dikenal dengan istilah compile. Sebelum aplikasi di
upload ke board arduino, biasakan untuk verifikasi terlebih dahulu sketch
yang dibuat. Jika ada kesalahan pada sketch, nanti akan muncul error.
Proses verify atau compile mengubah sketch ke binary code untuk di upload
ke mikrokontroler.
2. Upload
Tombol ini berfungsi untuk upload sketch ke board arduino. Walaupun kita
tidak mengklik tombol verify, maka sketch akan di compile, kemudian
17
2.12. Blynk
Blynk merupakan sebuah aplikasi platform iOS dan Android untuk mengatur
Arduino, Raspberry Pi dan yang lainya menggunakan Internet. Blynk sebagai
digital dashboard yang mana bisa membangun suatu antarmuka grafis project
dengan hanya dengan menarik dan menjatuhkan widget.
18
Blynk tidak terkait dengan beberapa board tertentu. Sebaliknya, ini akan
mendukung hardware. Dengan tersambung ke Internet melalui Wi-Fi, Ethernet
maupun chip ESP8266, Blynk akan membuatnya online dan bisa untuk Internet of
Things. Pada gambar 2.12. menampilkan tampilan yang ada pada blynk.
Sebelum melakukan pembuatan alat, tahapan awal yang harus dilakukan yaitu
merencanakan, setelah merencanakan dilanjutkan merancang alat yang akan dibuat.
Perancangan merupakan tahapan yang penting didalam pembuatan alat. Tahapan
pertama yaitu perancangan diagram blok sistem kerja alat penyiram tanaman
otomatis, Selanjutnya memilih komponen yang akan digunakan dengan
karakteristik yang sesuai dengan kebutuhan, yaitu Mikrokontroler ESP8266, Sensor
Soil Moisture, RTC (Real Time Clock), Baterai li-po, Motor Driver, Mini water
pump atau pompa air, Buzzer, LED. Tujuan dari perancangan alat ini yaitu untuk
mendapatkan suatu alat yang sesuai dengan spesifikasi yang diharapkan dengan
kondisi yang telah ditentukan.
Berikut diagram alir tentang perancangan alat yang dibuat. Diagram alir ini
berfungsi untuk menggambarkan proses-proses yang akan dikerjakan dalam
perancangan alat sehingga alat tersebut dapat sesuai dengan tujuan yang ingin
dicapai. Perancangan alat dimulai dengan perancangan rangkaian sistem untuk
mendeteksi kelembaban pada tanah dengan ketentuan kondisi kelembaban tanah ,
apabila rangkaian sistem dapat bekerja maka dilanjutkan dengan perancangan
program. Setelah rangkaian sistem dan program dapat bekerja maka dilakukan
pengujian sistem dengan melakukan analisa hasil pengujian.
Pada perancangan alat ini ada beberapa tahap yang dilakukan, yaitu
perancangan dalam bentuk simulasi percobaan yang terdiri dari beberapa tahapan
awal sampai menjadi satu kesatuan alat yang dapat digunakan untuk mengetahui
kondisi pada kelembaban tanah pada tanaman cabai. Selanjutnya perancangan alat
dengan memasangkan simulasi percobaan yang telah dibuat kedalam alat yang akan
digunakan di lapangan. Kemudian dilakukan pengujian pada alat yang telah dibuat.
Langkah-langkah tersebut dilakukan secara sistematis agar mencapai hasil yang
maksimal.
19
20
Penjelasan pada gambar 3.2 adalah sebagai berikut. Pada blok input,
menggunakan sensor soil moisture sebagai pendeteksi kelembaban pada tanah dan
RTC (Real Time Clock) sebagai referensi waktu untuk penyiraman pada tanaman
cabai.
Pada blok proses, mikrokontroler ESP8266 berfungsi sebagai alat yang akan
melakukan proses pengolahan data dari masukkan input. Proses pengolahan data
dilakukan dengan menanamkan suatu program kedalam mikrokontroler ESP8266
yang di sambungkan Motor Driver L298N dan Baterai untuk menggerakkan pompa
air.
Pada blok output, menggunakan Mini Water Pump atau pompa air untuk
menyiram tanaman cabai dan bersamaan dengan itu maka buzzer dan LED akan
aktif.
22
Tabel 3.2 Pinout RTC (Real Time Clock) dengan Mikrokontroler ESP8266
Pump atau pompa air, Baterai (Battery) dengan mikrokontroler ESP8266 dari
gambar skematik dapat dilihat pada tabel 3.2 di bawah ini.
Tabel 3.3 Pinout Motor Driver, Mini Water Pump, Baterai (Battery) dengan
Mikrokontroler ESP8266
Pin IN 1 D6 - -
Pin IN 2 D5 - -
Pin GND G - -
12 V V in Positif -
GND - Negatif -
Adapun rangkaian skematik pada Pinout Motor Driver, Mini Water Pump,
Baterai (Battery) dengan Mikrokontroler ESP8266 dapat dilihat pada gambar 3.6.
26
- Pin I/O D0
GDN GDN G
Pin I/O - D3
Tanaman Cabai
LED pada blynk sebagai indicator pada tanaman. Saat waktu penyiraman
masuk LED akan menyala. Untuk tampilan LED pada blynk adapun yang diatur
yaitu input V2 dan nama pada tampilan LED. Tampilan pengaturan LED pada
blynk dapat di lihat pada gambar 3.12. di bawah ini.
Gauge pada aplikasi blynk menampilkan meteran nilai dari kelembaban tanah
atau Water Lever, adapun pengaturan yang diatur yaitu pada Input 0 – 100, Label
/pin/, Font size sedang, text ON dan reading rate 1 sec. Tampilan pengaturan Gauge
pada blynk dapat di lihat pada gambar 3.13. di bawah ini.
Adapun IP pada perangkat Topologi dapat dilihat pada tabel 3.5 di bawah ini
Pada gambar 3.13 diatas merupakan topologi internet of things pada sistem
penyiraman tanaman cabai otomatis yang dimana Mikrokontroler ESP8266 yang
berfungsi sebagai publisher dengan blynk sebagai datalog server. Terdapat Wifi
berfungsi untuk menghubungkan perangkat komputer dalam hal ini
menghubungkan smartphone ke jaringan internet tanpa menggunakan kabel. Pada
penelitian ini menggunakan smartphone android. Fungsi dari smartphone ini
33
digunakan untuk memantau data yang telah dikirim dari Mikrokontroler ESP8266
melalui aplikasi blynk.
Pada gambar 3.16 terdapat pembacaan sensor soil moisture yang akan di
proses pada Esp8266 di aplikasi Arduino. Output sensor arus yang dihubungkan ke
pin A0. Const int dry 640 dan const int 300 yaitu nilai ambang batas atas ketika
sensor membaca kelembaban tanah kering adalah 640, dan nilai ambang batas atas
ketika sensor membaca kelembaban tanah basah adalah 300 [17]. Int sensorValue,
percentage untuk memasukkan nilai. sensorValue = analogRead(sensor); untuk
menyimpan nilai ADC yang dibaca dari sensor soil moisture ke dalam variable
sensorValue. Map (sensorValue,fromLow,fromHigh,toLow,toHigh) terdapat pada
perintah Percentage = map (sensorValue, wet, dry , 100, 0) yang artinya percentage
map (nilai value, nilai ambang kering, nilai ambang basah, nilai tertinggi, nilai
terendah) . pada fungsi map() digunakan untuk memetakan ulang suatu nilai dari
satu rentang ke rentang lainnya. Serial print(“ percentage=”) berguna untuk
menampilkan teks. Serial.println kemudian akan menampilkan output value
menjadi nilai persentase. Dengan delay 1000 untuk menampilkan dalam jeda waktu
1000 detik.
35
Pada gambar 3.18 algoritma diawali dengan menginisialisasi auth, ssid dan
password dari aplikasi Blynk yang ingin dihubungkan dengan mikrokontroler,
kemudian mendeklarasikan jenis RTC yang digunakan dan variabel dengan tipe
data String untuk menyimpan data waktu yang dibaca dari RTC. Setelah
menginisialisasi dan mendeklarasi variabel yang dibutuhkan, selanjutnya adalah
proses koneksi. Proses koneksi dilakukan dengan menggunakan fungsi
Blynk.begin(), fungsi ini disediakan oleh library BlynkSimpleEsp8266.h. Setelah
proses koneksi selesai, selanjutnya adalah proses pembacaan RTC, untuk
mendapatkan data waktu saat ini.
data waktu yang diterima. Aplikasi Blynk sendiri menyediakan fitur widget time
input yang dapat digunakan untuk mengirimkan data dalam format waktu.
Pada gambar 3.20 proses pembacaan sensor soil moisture diawali dengan
menginisialisasi pin yang akan digunakan untuk membaca nilai sensor, kemudian
menginisialisasi nilai ambang batas atas ketika sensor membaca kelembaban tanah
kering dan nilai ambang batas atas ketika sensor membaca kelembaban tanah basah.
Pada tugas akhir ini nilai ambang batas atas ketika sensor membaca kelembaban
tanah kering adalah 640, dan nilai ambang batas atas ketika sensor membaca
kelembaban tanah basah adalah 300. Proses konversi nilai sensor menjadi bentuk
persentase dilakukan dengan menggunakan fungsi map() yang disediakan oleh
Arduino Programming Language. Sintax fungsi map(value, fromLow, fromHigh,
38
Ket :
Nilai value = Nilai sensor mendeteksi kelembaban tanah
From low = Batas nilai analog saat basah : 640
From High = Batas nilai analog saat kering : 300
To High = Nilai basah tertinggi : 100
To low = Nilai kering terendah :0
Dari rumus diatas nilai value dapat dari nilai sensor saat mendeteksi
kelembaban tanah, fromLow merupakan nilai analog sensor pada saat mendeteksi
tanah dengan kelembaban yang paling basah untuk nilai toLow dapat diatur
menjadi 100 sehingga tampilan nilai persentase yang paling tinggi adalah 100%.
fromHigh merupakan nilai analog sensor pada saat mendeteksi tanah yang paling
kering untuk nilai toLow dapat diatur menjadi 0 sehingga tampilan nilai perentase
yang paling rendah adalah 0%. Dengan rumus diatas dapat mengkonversi nilai
analog menjadi nilai persentase yang hasil nilai persentase akan dapat ditampilkan
di serial monitor pada aplikasi Arduino dan juga dapat ditampilkan pada aplikasi
blynk.
39
Pada gambar 3.21 proses kontrol pompa air diawali dengan menginisialisasi
pin yang akan digunakan untuk mengatur pompa air. Proses selanjutnya adalah
membandingkan waktu yang dibaca oleh RTC dengan waktu schedule yang sudah
diatur, jika waktu yang baca dari RTC sama dengan waktu schedule dan persentase
kelembaban air berada dibawah 75% maka pompa air akan hidup. Lamanya waktu
pompa air hidup tergantung dari nilai persentase kelembaban tanah, pompa air akan
hidup sampai persentase kelembaban tanah diatas 75%.
41
Penjelasan pada bab ini akan menjelaskan pengujian mulai dari alat sampai
program yang telah dibuat pada tugas akhir ini. Pengujian yang akan dilakukan pada
alat dan program merupakan pengujian yang dapat dilakukan untuk sistem mekanik
dan program yang akan berpengaruh pada penelitian ini. Dalam pengujian ini akan
dilakukan pengujian setiap komponen input dan komponen output serta pengujian
pada keseluruhan sistem pada tugas akhir ini. Adapun tujuan dari pengujian ini
adalah untuk mengetahui apakah sistem yang dibangun pada tugas akhir ini dapat
bekerja dengan baik dan mendapatkan hasil yang diinginkan.
43
44
Hasil percobaan sensor soil moisture pada tabel 4.1 terdapat 1 kegagalan
dalam mendeteksi nilai dari kelembaban tanah. Terjadinya kegagalan disebabkan
oleh sensor yang dicabut dan ditancapkan lagi ke tanah, kedalaman dalam
menancapkan sensor ke tanah berpengaruh dalam sensor mendeteksi nilai dari
kelembaban tanah tersebut.
Pada hasil percobaan ke 5 saat kondisi tanah agak basah dengan nilai
kelembaban 43%. Mengkonversi nilai analog menjadi nilai persentase
menggunakan kode pada aplikasi Arduino yang dapat dilihat pada gambar dibawah
ini :
Pada gambar 4.2 tampilan serial monitor terdapat nilai analog dan nilai
persentase. Cara pengujian sensor dapat menggunakan rumus.
= 42,58
= 43 %
Hasil dari perhitungan menggunakan rumus dan dengan yang ada di serial
monitor pada aplikasi Arduino hasil nilai persentase nya sama yaitu 43%.
Adapun hasil pengujian LED dan Buzzer dapat di lihat di tabel 4.3. di
bawah ini
Pada gambar tabel 4.2. pengujian LED dan Buzzer pada alat penyiraman
tanaman cabai otomatis pada percobaan 1 pada saat kondisi pompa air menyiram
tanaman LED dan Buzzer akan aktif. Pada saat percobaan ke 8 pompa air tidak
menyiram LED dan Buzzer tidak aktif.
Adapun pengujian pada aplikasi blynk dapat dilihat di tabel 4.4. di bawah ini
Pada tabel 4.3. hasil dari pengujian aplikasi blynk. Pada saat time schedule
telah aktif maka LED aktif. Jika time schedule tidak aktif maka LED akan off.
49
Daftar paket
yang berhasil
di tangkap
Detail dari
paket yang
di pilih
Detail paket
dalam bentuk
heksadesimal
Pada gambar 4.6. di atas terdapat tampilan dari wireshark terdapat daftar
paket-paket data yang berhasil di tangkap, detail paket yang dipilih dan ada detail
paket dalam bentuk heksadesimal. Daftar paket menampilkan paket-paket yang
berhasil dikirim yang ditampilkan oleh wireshark berurutan mulai dari paket
pertama sampai seterusnya. Detail paket yang tentunya membawa informasi
tertentu yang berbeda-beda setiap paketnya, di sini menampilkan seri detail yang
terpilih pada daftar peket di atasnya dan wireshark menampilkan detail paket dalam
bentuk heksadesimal.untuk mencari paket data yang dikirim blynk maka kita harus
mencari alamat ip pada software blynk dengan menggunakan CMD.
50
Adapun tampilan IP aplikasi blynk pada CMD dapat di lihat pada gambar 4.7.
Pada gambar 4.7. mengetahui ip aplikasi blynk dengan buka CMD kemudian
cari dengan ping www.blynk.cloud setelah mengetahui IP nya kemudian
menganalisis paket melalui wireshark. Hasil dari wireshark dapat di lihat pada
gambar 4.8. di bawah ini
Pada gambar 4.8. paket-paket data yang tertangkap pada saat membuka
aplikasi blynk dari eps8266 mengirim paket ke aplikasi blynk. Ada beberapa
Terdapat dengan Time 60.719418 Source 36.86.63.182 destination 192.168.1.8
51
dengan panjang paket 74 bytes dengan 592 bits. Tipe dari interface device
BE29C4CD-3A6C-4E9E-B283-DA6B39DFD527
Pada gambar 4.9. tampilan MAC address pada aplikasi blynk. MAC Address
(Media Access Control Address) adalah sebuah alamat jaringan yang
diimplementasikan pada lapisan data-link dalam tujuh lapisan model OSI, yang
merepresentasikan sebuah node tertentu dalam jaringan. Dalam sebuah jaringan
berbasis Ethernet, MAC address merupakan alamat yang unik yang memiliki
panjang 48-bit (6 byte) yang mengidentifikasikan sebuah komputer, interface dalam
sebuah router, atau node lainnya dalam jaringan. MAC Address juga sering disebut
sebagai Ethernet address, physical address, atau hardware address. Dengan
destination b0:fc:36:e6:dd:d7 dan source 24:d3:f2:ea:49:d6
Pada gambar 4.11 paket data pada tampilan wireshark dalam bentuk
heksadesimal pada komputer membutuhkan cara yang lebih mudah untuk mewakili
angka yang lebih besar, karena daya komputasi dan ruang meningkat dengan cepat.
Itu menjadi standar untuk menggunakan heksadesimal yang membuatnya mudah
untuk melakukan konversi digit-demi-digit.
Pada tabel 4.5 merupakan pengujian kondisi pada sensor soil moisture dan
pompa air. Saat time schedule telah diatur pada jam sekian, maka sensor soil
moisture akan mendeteksi kelembaban tanah dan pompa air akan aktif, namun jika
nilai kelembaban tanah di atas 75% saat time schedule telah diatur maka pompa
tidak akan aktif.
4.7. Pengujian Sensor Soil moisture dan Pompa Air dengan LED Buzzer
LED dan buzzer pada penyiram tanaman otomatis digunakan sebagai
indikator saat pompa air aktif untuk menyiram tanaman. Adapun pengujian LED
dan buzzer pada tabel 4.6.
Tabel 4.6. Pengujian Sensor Soil moisture dan Pompa Air dengan LED Buzzer
Soil LED
Input Pompa Air Keteranagan
Moisture Buzzer
Nilai On
Time Kelembaban Aktif Sesuai
Input 1 ( <75 % )
Off Tidak Aktif Off Sesuai
Nilai On
Time Kelembaban Aktif Sesuai
Input 2 ( <75 %)
Off Tidak Aktif Off Sesuai
Pada tabel 4.6 pengujian sensor Soil Moisture dan pompa air dengan LED
dan Buzzer di atas menunjukan saat time input masuk sensor soil moisture
membaca nilai kelembaban tanah kurang dari 75% maka pompa air akan aktif
bersamaan dengan LED dan buzzer akan menyala. Jika time input masuk sensor
soil moisture membaca nilai kelembaban tanah di lebih dari 75% maka pompa air
tidak aktif dan LED dan buzzer akan off atau tidak menyala.
54
20 − 18
Persentase kegagalan = x 100%
20
= 10%
5.1. Kesimpulan
Dari hasil percobaan dan pembahasan yang telah dijelaskan pada bab
sebelumnya, dapat ditarik beberapa kesimpulan sebagai berikut.
1. Berhasil mengaplikasikan ESP8266, Sensor soil moisture berhasil
mendeteksi kelembaban tanah pada tanaman dan sensor RTC berhasil
mereferensikan waktu yang ditampilkan di aplikasi blynk.
2. Siklus penyiraman pada pagi dan sore dapat diatur sesuai kebutuhan air
tanaman cabai.
3. Implementasi siklus penyiraman tanaman otomatis berdasarkan nilai
kelembaban tanah pada tanaman.
4. Persentase kegagalan dalam pengujian sebesar 10%, dimana dalam 20
pengujian terdapat 18 keberhasilan dan 2 kegagalan.
5.2. Saran
Berdasarkan percobaan dan pembahasan yang telah dilakukan terdapat
beberapa saran yang dapat digunakan untuk mengembangkan atau memperbaiki
pada tugas akhir ini.
1. Tugas akhir ini masih bisa dikembangkan dari sisi desain maupun
komponen penampungan air yang digunakan.
2. Menambahkan fitur yang akan digunakan pada aplikasi blynk.
3. Menambahkan sensor indikator dalam penyiraman tanaman.
4. Menambahkan sensor pendeteksi kebutuhan air pada tanaman.
56
57
DAFTAR PUSTAKA
[3] Yahwe, C. P., Isnawaty, dan Aksara, L.M Fid. Rancang Bangun Prototype
System Monitoring Kelembaban Tanah Melalui SMS Berdasarkan Hasil
Penyiraman Tanaman “Studi Kasus Tanaman Cabai dan Tomat”. Jurnal
semanTIK. Vol. 2. No. 1. Kendari : Universitas Halu Oleo. 2016.
[4] Andi Priyono dan Pandji Triadyaksa, “Sistem Penyiram Tanaman Cabai
Otomatis Untuk Menjaga Kelembaban Tanah Berbasis Esp8266,” Berkala
Fisika, Vol. 23, No. 3, Hal. 91-100, Juli 2020.
[6] Zulkifli AK, Adli Yusuf, Amrizal,T. Iskandar, M. Adil, M. Nasir Ali,
Buchari Sulaeman, Roswita, A.Azis, T.M. Fahrizal, Zulkifli Umar,
T.Djuanda, “Rakitan Teknologi Budidaya Cabai Merah”, Balai Pengkajian
Teknologi Pertanian, 2012.
[7] Anton Priyonugroho, “Analisis Kebutuhan Air Irigasi (Studi Pada Daerah
Irigasi Sungai Air Keban Daerah Kabupaten Empat Lawang)”, Jurnal Teknik
Sipil dan Lingkungan, Vol.2 No.3, September 2014.
[8] Dr. Ir. H. Darwis, M.Sc., “Dasar-Dasar Mekanika Tanah”, Hal 18, Pena Idris,
Yogyakarta, Februari 2018.
57
58
[9] Panduardi, F., & Haq, E. S. “Wireless Smart Home System Menggunakan
Raspberry Pi”. Jurnal Teknologi Informasi Dan Terapan, 3(1), 320–325.
2016.
[12] Sri Lestari, “Pembuatan Alat Ukur Kelembaban Tanah Menggunakan Sensor
Soil Moisture YL-39 Berbasis ATMEGA-328P”, Tugas Akhir, Fakultas
Matematika dan Ilmu Pengetahuan Alam, Universitas Sumatera Utara,
Medan, 2018.
[14] Ubaedilah, “Analisa Kebutuhan Jenis dan Spesifikasi Pompa Untuk Suplai
Air Bersih Di Gedung Kantin Berlantai 3 PT Astra Daihatsu Motor”, Jurnal
Teknik Mesin (JTM) : Vol. 05 No. 3, Oktober 2016.
[15] Paris Fahdz Abdul Azis, “Implementasi Robot Beroda Menggunakan Driver
L298N Melalui MPU-6050 Sebagai Kendali Gestur Tangan”, Fakultas
Matematika Dan Ilmu Pengetahuan Alam, Universitas Sumatera Utara,
Medan, 2020.
58
59
59
60
RTC_DS3231 rtc;
#define sensor A0
#define buzz D3
#define greenLed D0
#define pompaPin1 D5
#define pompaPin2 D6
String currentTime;
String currentDate;
DateTime now;
60
61
WidgetLCD lcd(V0);
WidgetLED led1(V2);
WidgetLED led2(V5);
BlynkTimer timer;
void myTimerEvent(){
if(now.second() == 59 || now.second() == 0 || now.second() == 1){
lcd.clear();
} else {
// do nothing
}
lcd.print(0, 0, currentDate);
lcd.print(0, 1, currentTime);
Blynk.virtualWrite(V3, percentage);
}
BLYNK_WRITE(V1) {
TimeInputParam t(param);
jam1 = t.getStartHour();
menit1 = t.getStartMinute();
detik1 = t.getStartSecond();
led1.off();
61
62
BLYNK_WRITE(V4) {
TimeInputParam t(param);
jam2 = t.getStartHour();
menit2 = t.getStartMinute();
detik2 = t.getStartSecond();
led2.off();
void buzzing(){
digitalWrite(buzz, HIGH);
delay(200);
digitalWrite(buzz, LOW);
delay(200);
digitalWrite(buzz, HIGH);
delay(200);
digitalWrite(buzz, LOW);
delay(200);
digitalWrite(buzz, HIGH);
delay(200);
digitalWrite(buzz, LOW);
delay(400);
62
63
void led(){
if(now.hour() == jam1 && now.minute() == menit1 &&
now.second() == detik1){
led1.on();
led1.setColor(BLYNK_GREEN);
} else if(now.hour() == jam2 && now.minute() == menit2 &&
now.second() == detik2){
led2.on();
led2.setColor(BLYNK_GREEN);
}
}
void setup () {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
pinMode(sensor, INPUT);
pinMode(pompaPin1, OUTPUT);
pinMode(pompaPin2, OUTPUT);
pinMode(greenLed, OUTPUT);
pinMode(buzz, OUTPUT);
digitalWrite(pompaPin1, LOW);
digitalWrite(pompaPin2, LOW);
digitalWrite(buzz, LOW);
digitalWrite(greenLed, LOW);
timer.setInterval(1000L, myTimerEvent);
63
64
#ifndef ESP8266
while (!Serial); // wait for serial port to connect. Needed for native
USB
#endif
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
Serial.flush();
abort();
}
if (rtc.lostPower()) {
Serial.println("RTC lost power, let's set the time!");
// When time needs to be set on a new device, or after a power
loss, the
// following line sets the RTC to the date & time this sketch was
compiled
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
// This line sets the RTC with an explicit date & time, for example
to set
// January 21, 2014 at 3am you would call:
// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}
64
65
void loop () {
now = rtc.now();
sensorValue = analogRead(sensor);
percentage = map(sensorValue, wet, dry, 100, 0);
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]); //hari
Serial.print(", ");
Serial.print(now.day(), DEC); //tanggal
Serial.print('/');
Serial.print(now.month(), DEC); //bulan
Serial.print('/');
Serial.print(now.year(), DEC); //tahun
Serial.print(' ');
Serial.print(now.hour(), DEC); //jam
Serial.print(':');
Serial.print(now.minute(), DEC); //menit
Serial.print(':');
Serial.print(now.second(), DEC); //detik
Serial.println();
currentTime =
String(now.hour())+':'+String(now.minute())+':'+String(now.second());
currentDate =
String(daysOfTheWeek[now.dayOfTheWeek()])+','+String(now.day())+'/'
+String(now.month())+'/'+String(now.year());
Blynk.run();
timer.run();
65
66
66
67
delay(1000);
}
67
68
68
69
69
70
70
71
72
73
74
75
76
77
78
79
80
81