respon bibit selada terhadap frekuensi dan volume penyiraman
RANCANG BANGUN SISTEM PENYIRAMAN TANAMAN...
Transcript of RANCANG BANGUN SISTEM PENYIRAMAN TANAMAN...
RANCANG BANGUN SISTEM PENYIRAMAN TANAMAN
OTOMATIS BERBASIS RASPBERRY PI 3 DENGAN
MEMANFAATKAN THINGSPEAK DAN INTERFACE
ANDROID SEBAGAI KENDALI
Skripsi
Diajukan Untuk Memenuhi Persyaratan Memperoleh Gelar Sarjana Sains (S.Si)
Oleh:
ANNISA ZIKRI
NIM. 11150970000034
PROGRAM STUDI FISIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA
2020 M/ 1441 H
ii
iii
iv
v
ABSTRAK
Padatnya aktivitas diluar rumah membuat sebagian orang tidak sempat
ataupun lupa untuk menyiram tanaman sehingga saat kembali ke rumah didapati
tanaman telah mati kekeringan. Penelitian ini bertujuan untuk merancang dan
membangun sistem penyiraman tanaman otomatis yang dapat dikontrol dari jarak
jauh melalui Smartphone Android. Sensor YL-69 digunakan untuk mendeteksi
kondisi kelembaban tanah. Apabila kelembaban tanah dibawah batas minimal maka
pada tampilan aplikasi Android akan muncul pemberitahuan. Proses penyiraman
akan aktif jika Raspberry Pi 3 Model B+ menerima perintah dari pengguna melalui
Smartphone Android. Proses pengiriman serta pembacaan data pada sistem ini
diperantarai oleh ThingSpeak. Penelitian ini menggunakan metode eksperimen.
Pengujian dilakukan dengan membandingkan keakuratan sensor yang digunakan
dengan alat yang sudah beredar dipasaran. Penelitian ini menghasilkan karateristik
yang menunjukkan DHT22 memiliki ketelitian sebesar 98.65% dan standar deviasi
±0.14 pada pengukuran temperatur udara. Ketelitian sebesar 98.72% dan standar
deviasi ±0.38 untuk pembacaan kelembaban udara. YL-69 memiliki ketelitian rata-
rata sebesar 95.22% dan standar deviasi sebesar ±5.4. Terdapat selisih waktu
sebesar 1.2 detik pada waktu pengiriman data oleh Raspberry Pi 3 Model B+ dan
waktu penerimaan data oleh ThingSpeak. Sistem ini memiliki kecepatan respon
sebesar 2 detik.
Kata kunci: Raspberry Pi 3 Model B+, Sensor YL-69, Sistem Penyiraman
Tanaman Otomatis, Smartphone Android, ThingSpeak.
vi
ABSTRACT
Dense activity outside the home make some people forget to watering their
plants when they get back home and their plants become so dry. This study is to
design a system automatic watering plants that can be controlled form far by using
smartphone Android. Sensor YL-69 is using for detect the humidity of soil. If the
humidity under the minimum it will a notification on Android. The watering process
will be active if Raspberry Pi 3 Model B+ take order from user through Smartphone
Android. Sending and reading process mediated by ThingSpeak. This research is
using experimental method. The test is done by comparing the accuracy of the
sensors used with tools that are already on the market. The result of this study is the
characteristic that shown DHT22 have accuracy about 98,65% and standard
deviation ±0.14 for measure the temperatur. The accuracy is around 98,72% and
the standard deviation ±0.38 for measure humidity. YL-69 has average accuracy
around 95.22% and standard deviation ±5.4. There’s difference of time about 1.2
seconds at the time of sending data by Raspberry Pi 3 Model B+ and time of receipt
data by ThingSpeak. ThingSpeak system have response of speed 2 seconds.
Keyword: Automatic Plant Watering System, Raspberry Pi 3 Model B+, Sensor
YL-69, Smartphone Android, ThingSpeak
vii
KATA PENGANTAR
Bismillahirrahmanirrahim.
Segala puji bagi Allah Subhanallahu wa Ta'ala yang telah melimpahkan
Hidayah, Inayah, dan Rahmat-Nya sehingga penulis dapat menyelesaikan laporan
tugas akhir ini tanpa mengalami hambatan yang berarti. Tak lupa shalawat dan
salam selalu tercurah kepada Rasulullah Muhammad Shallallaahu ‘alaihi wa
Sallam, keluarganya, serta sahabat-sahabatnya, keturunannya, dan semua orang
yang berada dalam naungan cintanya.
Laporan tugas akhir ini berjudul “Rancang Bangun Sistem Penyiraman
Tanaman Otomatis Berbasis Raspberry Pi 3 dengan Memanfaatkan
ThingSpeak dan Interface Android sebagai Kendali”. Terselesaikannya laporan
tugas akhir ini tak lepas dari bantuan dan dukungan berbagai pihak. Oleh karena
itu, secara khusus penulis mengucapkan terimakasih kepada pihak-pihak yang telah
memberikan kontribusi dalam pembuatan laporan tugas akhir ini, yakni:
1. Kedua orangtua beserta keluarga besar penulis yang telah memberikan
dukungan baik moril maupun materil.
2. Ibu Elvan Yuniarti, M.Si, selaku pembimbing pertama yang selalu
memberikan saran dan bimbingannya dalam penelitian dan penulisan
laporan tugas akhir ini.
3. Ibu Dewi Lestari, M.Si, selaku pembimbing kedua yang selalu memberikan
pengetahuan dan arahannya dalam penelitian ini.
4. Ibu Tati Zera, M.Si, selaku Kepala Program Studi Fisika Universitas Islam
Negeri Syarif Hidayatullah Jakarta.
5. Ibu Prof. Dr. Lily Surraya Eka Putri, M.Env.Stud. selaku Dekan Fakultas
Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta.
viii
6. Seluruh Dosen Prodi Fisika, yang telah membimbing penulis selama
menempuh kuliah di Universitas Islam Negeri Syarif Hidayatullah Jakarta.
7. Atikah sahabat dunia dan akhirat yang selalu memberikan motivasi dan
semangat.
8. Teman-teman Grup Wisuda Dulu Baru Nikah yang senantiasa memberikan
arahan dan semangat, yaitu Adya, Gizel, Qonita, dan Zahra.
9. Teman-teman Grup Bidadari Surga Ku yang senantiasa memberikan
inspirasi dan motivasi, yaitu Milla, Nurul, dan Hafina.
10. Teman-teman Fisika UIN Jakarta 2015 dan pihak-pihak yang tidak bisa saya
sebutkan satu per satu yang telah membantu penulis dalam penyusunan
laporan ini baik secara langsung maupun tidak langsung.
Semoga semua pihak yang telah membantu mendapatkan limpahan kasih
sayang, ridho dan magfhiroh Allah Subhanallahu wa Ta'ala. Penulis telah berusaha
membuat laporan tugas akhir ini dengan sebaik-baiknya. Namun demikian, pasti
masih banyak terdapat kekurangan di sana-sini. Penulis mengharapkan kritik dan
saran yang membangun demi perbaikan di masa yang akan datang. Semoga laporan
tugas akhir ini bermanfaat bagi penulis pribadi maupun bagi siapa pun yang
membacanya.
Jakarta, 10 Desember 2019
Penulis
ix
DAFTAR ISI
LEMBAR PERSETUJUAN PEMBIMBING ..................................................... ii
LEMBAR PENGESAHAN UJIAN .................................................................... iii
LEMBAR PERNYATAAN ................................................................................. iii
ABSTRAK ............................................................................................................. v
ABSTRACT .......................................................................................................... vi
KATA PENGANTAR ......................................................................................... vii
DAFTAR ISI ......................................................................................................... ix
DAFTAR TABEL ............................................................................................... xii
DAFTAR GAMBAR .......................................................................................... xiii
BAB I PENDAHULUAN ...................................................................................... 1
1.1 Latar Belakang .......................................................................................... 1
1.2 Perumusan Masalah .................................................................................. 5
1.3 Batasan Masalah ....................................................................................... 6
1.4 Tujuan Penelitian ...................................................................................... 6
1.5 Manfaat Penelitian .................................................................................... 7
1.6 Sistematika Penulisan ............................................................................... 7
BAB II TINJAUAN PUSTAKA ........................................................................... 9
2.1 Temperatur dan Kelembaban .................................................................... 9
2.2 Temperatur dan Tanaman ....................................................................... 10
2.3 Kelembaban Tanah ................................................................................. 11
2.4 Sensor YL-69 .......................................................................................... 13
x
2.5 Sensor DHT22 ........................................................................................ 14
2.6 ADC ADS1115 16 Bit ............................................................................ 16
2.7 Water Diaphragm Pump DC 12V R385 ................................................. 17
2.8 Motor Servo SG90 .................................................................................. 20
2.9 Motor Driver L298N H-Bridge ............................................................... 22
2.10 Raspberry Pi ............................................................................................ 23
2.11 Python ..................................................................................................... 26
2.12 ThingSpeak ............................................................................................. 28
2.13 Kodular ................................................................................................... 30
BAB III METODE PENELITIAN .................................................................... 33
3.1 Waktu dan Tempat Penelitian ................................................................. 33
3.2 Alat dan Bahan Penelitian ....................................................................... 33
3.3 Tahapan Penelitian .................................................................................. 34
3.3.1 Analisa Kebutuhan Sistem .............................................................. 36
3.3.2 Perancangan Perangkat (Sistem) ..................................................... 37
3.3.3 Metode Pengambilan Data .............................................................. 52
BAB IV HASIL DAN PEMBAHASAN ............................................................ 54
4.1 Hasil Perancangan Perangkat Keras (Hardware) ................................... 54
4.2 Hasil Perancangan Perangkat Lunak (Software)..................................... 55
4.2.1 Hasil Perancangan Program pada Raspberry Pi 3 Model B+ ......... 56
4.2.2 Hasil Perancangan Channel ThingSpeak ........................................ 58
4.2.3 Hasil Perancangan Tampilan Aplikasi pada Kodular ..................... 61
4.3 Pengujian Karakteristik Sensor DHT22.................................................. 64
xi
4.4 Pengujian Karakteristik Sensor YL-69 ................................................... 66
4.5 Pengujian Kesesuaian Waktu Update Data antara Raspberry Pi 3 Model
B+ dengan ThingSpeak ......................................................................... 68
4.6 Pengujian Kecepatan Respon Alat terhadap Perintah yang diberikan oleh
Pengguna Melalui Smartphone ............................................................. 69
BAB V KESIMPULAN DAN SARAN .............................................................. 70
5.1 Kesimpulan ............................................................................................. 70
5.2 Saran ....................................................................................................... 71
DAFTAR REFERENSI ...................................................................................... 72
LAMPIRAN
xii
DAFTAR TABEL
Tabel 2.1 Konversi Skala Temperatur .................................................................... 9
Tabel 2.2 Spesifikasi Sensor DHT22 .................................................................... 15
Tabel 2.3 Pinout Sensor DHT22 ........................................................................... 16
Tabel 2.4 Spesifikasi ADS1115 ............................................................................ 17
Tabel 2.5 Spesifikasi Water Diaphragm Pump DC 12V....................................... 19
Tabel 2.6 Spesifikasi Motor Servo SG90 .............................................................. 22
Tabel 2.7 Spesifikasi Motor Driver L298N H-Bridge .......................................... 23
Tabel 3.1 Konfigurasi Pin YL-69 ......................................................................... 41
Tabel 3.2 Konfigurasi Pin ADS1115 .................................................................... 41
Tabel 3.3 Konfigurasi Pin DHT 22 ....................................................................... 41
Tabel 3.4 Konfigurasi Servo ................................................................................. 41
Tabel 3.5 Konfigurasi Motor Driver L298N H-Bridge ......................................... 41
Tabel 4.1 Hasil Perbandingan Pembacaan Nilai Temperatur dan Kelembaban
Udara oleh DHT22 dan HTC-2 ............................................................ 64
Tabel 4.2 Hasil Perhitungan Persentase Error pada DHT22 ................................ 65
Tabel 4.3 Perhitungan Ketepatan Sensor DHT22 ................................................. 65
Tabel 4.4 Perhitungan Ketepatan Sensor YL-69................................................... 67
Tabel 4.5 Hasil Pengujian Kesesuaian Waktu Update Data ................................. 68
Tabel 4.6 Hasil Pengujian Kecepatan Respon Alat .............................................. 69
xiii
DAFTAR GAMBAR
Gambar 2.1 Sensor YL-69 .................................................................................... 13
Gambar 2.2 Sensor DHT22 ................................................................................... 15
Gambar 2.3 ADC ADS1115 16 Bit....................................................................... 17
Gambar 2.4 Water Diaphragm Pump DC 12V ..................................................... 18
Gambar 2.5 Prinsip Kerja Pemindahan Air pada Pompa ...................................... 18
Gambar 2.6 Operasi Sistem Diaphragm Pump ..................................................... 19
Gambar 2.7 Motor Servo SG90 ............................................................................ 20
Gambar 2.8 Komponen Servo ............................................................................... 21
Gambar 2.9 Variabel Lebar Pulsa Kontrol Posisi Servo ....................................... 21
Gambar 2.10 Motor Driver L298N H-Bridge ....................................................... 22
Gambar 2.11 (a) Raspberry Pi Model A dan (b) Raspberry Pi Model B .............. 24
Gambar 2.12 Raspberry Pi 3 Model B+ ............................................................... 25
Gambar 2.13 GPIO Raspberry Pi 3 Model B+. .................................................... 26
Gambar 2.14 (a) Python Shell dan (b) Python IDLE ............................................ 27
Gambar 2.15 Visualisasi ThingSpeak Cloud ......................................................... 28
Gambar 2.16 Ilustrasi Cara Kerja Kodular ........................................................... 31
Gambar 2.17 Tampilan Halaman Desaigner ........................................................ 31
Gambar 3.1 Diagram alir tahapan penelitian ........................................................ 35
Gambar 3.2 Use Case Diagram ............................................................................. 37
Gambar 3.3 Diagram Blok Sistem ........................................................................ 38
Gambar 3.4 Diagram Alir Sistem ......................................................................... 39
xiv
Gambar 3.5 Rangkaian Hardware Penyiram Tanaman Otomatis ........................ 40
Gambar 3.6 Diagram Alir Pemograman Python ................................................... 46
Gambar 3.7 Pembuatan akun ThingSpeak ............................................................ 47
Gambar 3.8 Verifikasi Akun ThingSpeak ............................................................. 47
Gambar 3.9 Halaman Pembuatan Channel Baru .................................................. 48
Gambar 3.10 Form Pembuatan Channel Baru ...................................................... 48
Gambar 3.11 Halaman Tampilan Status Channel ................................................. 49
Gambar 3.12 Channel ID ...................................................................................... 49
Gambar 3.13 API Key Channel Status Sensor & Servo ....................................... 50
Gambar 3.14 Halaman Perancangan Tampilan ..................................................... 51
Gambar 3.15 Halaman Perancangan Blok Program ............................................. 51
Gambar 3.16 Diagram Alir Program Aplikasi Android ........................................ 52
Gambar 4.1 Hasil Implementasi Perangkat Keras ................................................ 54
Gambar 4.2 Hasil Program Pengiriman Data ke ThingSpeak ............................... 56
Gambar 4.3 Hasil Program Pembacaan Data pada ThingSpeak ........................... 57
Gambar 4.4 Channel Status Penyiraman .............................................................. 59
Gambar 4.5 Channel Status Sensor & Servo ........................................................ 60
Gambar 4.6 Tampilan Aplikasi Android ............................................................... 61
1
1 BAB I
PENDAHULUAN
1.1 Latar Belakang
Tanaman merupakan salah satu makhluk hidup yang sangat bermanfaat
dalam berbagai aspek kehidupan manusia. Tanaman memiliki manfaat sebagai
pembersih udara dengan menyerap karbondioksida dan memproduksi oksigen.
Untuk keberlangsungan hidupnya tanaman memerlukan tanah sebagai media
tanam. Tanah yang baik merupakan faktor utama agar tanaman dapat tumbuh
dengan subur sebagaimana firman Allah Subhanahu wa Ta'ala dalam surat Al-
A’raf [7] 58:
والبلد الطيب يخرج نباتهۥ بإذن ربهۦ والذى خبث ل يخرج إل نكدا كذلك
يت لقوم يشكرون ف ال نصر
“Dan tanah yang baik, tanaman-tanamannya tumbuh subur dengan seizin Allah;
dan tanah yang tidak subur, tanaman-tanamannya hanya tumbuh merana.
Demikianlah Kami mengulangi tanda-tanda kebesaran (Kami) bagi orang-orang
yang bersyukur.”
Menurut tafsir Al-Jalalain ayat diatas menjelaskan tentang bagaimana
pengaruh tanah pada pertumbuhan tanaman. Atas izin Allah Subhanahu wa Ta'ala
tanah yang baik dan subur akan menumbuhkan tanaman-tanaman yang baik dan
subur pula, sedangkan tanah yang tandus akan menjadi tempat yang sulit bagi
pertumbuhan dan perkembangan tanaman. Pengaruh tanah terhadap pertumbuhan
tanaman pada ayat tersebut merupakan perumpamaan bagi seorang mukmin. Tanah
2
yang subur merupakan perumpamaan bagi seorang mukmin yang mau
mendengarkan nasihat dan mengambilnya untuk memperbaiki diri menjadi
mukmin yang lebih baik. Sedangkan tanah yang tandus merupakan perumpamaan
bagi seorang kafir yang tidak mau mendengarkan dan mengabaikan seruan Allah
Subhanahu wa Ta'ala. Yang demikian itu merupakan tanda-tanda kebesaran Allah
bagi manusia yang mau bersyukur dan kemudian beriman kepada Allah Subhanahu
wa Ta'ala.
Ada beberapa faktor yang menentukan tingkat kesuburan tanah salah
satunya ialah kadar air yang terkandung pada tanah. Air merupakan senyawa
terpenting bagi kehidupan makhluk hidup dan merupakan senyawa terbesar yang
terkandung pada sel hidup. Bagi tanaman, air diperlukan untuk melakukan setiap
proses pertumbuhan dan perkembangan. Air memiliki peranan sebagai pelarut
unsur hara yang ada dalam tanah dan sebagai alat transportasi yang
mendistribusikan unsur hara dari akar hingga keseluruh organ tanaman[1].
Banyak orang yang menyukai tanaman dan gemar menanam tanaman di
teras ataupun dibalkon rumah mereka. Padatnya aktivitas manusia yang
mengharuskan mereka berpergian jauh dari rumah selama berhari-hari
menyebabkan mereka tidak sempat menyiram tanaman, sehingga menyebabkan
tanaman tersebut kekurangan air yang dapat membuat terhambatnya proses
pertumbuhan dan perkembangan pada tanaman. Saat kembali kerumah mereka
menemukan tanaman telah kering dan tidak jarang juga yang telah mati. Selain itu,
salah satu masalah terbesar dunia pada masyarakat zaman sekarang adalah
kurangnya sumber daya air. Bercocok tanam merupakan sebuah pekerjaan yang
3
menuntut penggunaan air dalam jumlah banyak. Sebagai manusia yang baik sangat
penting untuk memanfaatkan air secara optimal. Dengan demikian, diperlukan
sebuah sistem yang mampu melakukan proses penyiraman tanaman secara
otomatis[2].
Berdasarkan masalah diatas, maka dilakukan penelitian tentang
perancangan sistem penyiram tanaman otomatis sederhana. Penelitian mengenai
sistem tersebut telah banyak dilakukan sebelumnya. Beberapa penelitian tersebut
diantaranya adalah Naibaho dan Batara dengan judul “Perancangan Alat Penyiram
Tanaman Otomatis berbasis Sensor dan Mikrokontroler”[3]. Pada penelitian
tersebut sistem penyiraman akan berkerja dan berhenti secara otomatis ketika
sensor mendeteksi kelembaban tanah telah mencapai batas minimal atau maksimal
yang telah ditentukan pada program. Kelemahan pada penelitian tersebut ialah tidak
adanya tampilan untuk memberikan informasi mengenai nilai kelembaban tanah
kepada pengguna. Tasneem Khan Shifa dengan judul “Moisture Sensing Automatic
Plant Watering System Using Arduino Uno”[2]. Seperti pada penelitian sebelumnya
penelitian sistem penyiraman ini juga berkerja dan berhenti secara otomatis jika
nilai pembacaan sensor telah mencapai batas maksimal atau minimal yang telah
ditentukan. Indikator yang digunakan pada alat ialah dua buah LED, jika
pembacaan sensor mencapai nilai minimal maka LED merah akan hidup, jika
pembacaan sensor telah melebihi batas minimal maka LED putih akan hidup dan
jika pembacaan sensor melebihi nilai maksimal maka kedua LED akan mati.
Kelemahan pada penelitian ini sama seperti kelemahan pada penelitian yang
pertama yaitu tidak adanya tampilan untuk memberikan informasi nilai kelembaban
4
tanah kepada pengguna. Erricson Zet Kafiar, Dkk dengan judul “Rancang Bangun
Penyiram Tanaman Berbasis Arduino Uno Menggunakan Sensor Kelembaban YL-
39 Dan YL-69”[4]. Pada penelitian ini sistem penyiram dibuat dapat menyiram
tanaman secara otomatis. Android akan menerima dan menampilkan nilai dari
kondisi tanah apakah kering, lembab atau basah sesuai dengan pembacaan dari
sensor kelembaban tanah. Komunikasi yang digunakan pada penelitian ini untuk
menampilkan nilai pembacaan sensor pada Android ialah Bluetooth HC-05.
Namun, kelemahan dari penggunaan Bluetooth HC-05 pada penelitian ini ialah
Jarak maksimum operasi bluetooth untuk pembaharuan data secara langsung dan
dengan penghalang masing-masing adalah 10,5 dan 9,4 meter[5].
Dari kelemahan-kelemahan penelitian diatas maka penulis melakukan
perancangan sebuah sistem penyiraman yang dapat mengontrol penyiraman secara
otomatis dan memonitor nilai pembacaan sensor dari jarak jauh. Dengan
memanfaatkan perkembangan teknologi yang semakin cangih khususnya pada
bidang Internet of Things (IoT), penulis melakukan penelitian sistem penyiraman
otomatis yang terintegrasi dengan smartphone Android. IoT sendiri merupakan
sebuah konsep teknologi yang memungkinkan setiap perangkat terhubung dengn
jaringan internet. IoT memiliki kapasitas untuk mengatur secara otomatis, saling
berbagi informasi, data dan sumber daya, merespon dan bertindak menghadapi
perubahan lingkungan sekitar[6].
Pada sistem ini penulis memanfaatkan layanan Thingspeak web-service.
Thingspeak adalah sebuah platform IoT terbuka berbasis web-service yang
komprehensif dalam mengumpulkan dan menyimpan data sensor pada cloud dari
5
berbagai ‘Aplikasi IoT’ dan menghasilkan keluaran data dalam bentuk grafis di
level web[7]. Thingspeak berkomunikasi dengan bantuan koneksi internet yang
bertindak sebagai pembawa ‘paket data’ antara perangkat yang terhubung dan
cloud[8]. Kelebihan Thingspeak dibandingkan dengan web-service yang lain ialah
tidak adanya biaya yang perlu dibayar, sehingga dapat mempermudah pengguna
dalam mengembangkan sistem IoT.
Sistem ini meggunakan sensor YL-69 untuk mendeteksi kadar kelembaban
tanah dan sensor DHT22 untuk mendeteksi temperatur dan kelembaban udara. Data
hasil pembacaan sensor di proses oleh Raspberry Pi 3 yang kemudian data dikirim
ke Thingspeak cloud melalui jaringan internet. Pada Thingspeak data ditampilkan
dalam bentuk grafik dan data akan terkirim ke antarmuka Smartphone Android.
Pemanfaatan Thingspeak dan interface Android diharapkan dapat menjadi sebuah
sistem pemantau dan pengontrol sensor yang lebih alternatif dan mempermudah
pengguna dalam pemeliharaan tanaman. Dengan demikian pemantauan
kelembaban tanah, temperatur udara, kelembaban udara, dan penyiraman tanaman
dapat dilakukan dimanapun dan kapanpun melalui smartphone selama kuota
internet tersedia.
1.2 Perumusan Masalah
Berdasarkan uraian latar belakang diatas maka penulis merancang
beberapa rumusan masalah pada penelitian tugas akhir ini, diantaranya sebagai
berikut:
1. Bagaimana mengembangkan alat penyiram tanaman otomatis yang dapat di
kontrol dari jarak jauh melalui aplikasi smartphone Android?
6
2. Bagaimana karakteristik sensor yang digunakan pada alat?
3. Bagaimana kesesuaian waktu update data dari Raspberry pi 3 ke Thingspeak?
4. Bagaimana kecepatan respon dari alat dalam mengeksekusi perintah yang di
berikan pengguna melalui aplikasi Android?
1.3 Batasan Masalah
Agar penelitian lebih fokus maka penulis merancang beberapa batasan
masalah, diantaranya sebagai berikut:
1. Perangkat keras yang digunakan ialah Raspberry Pi 3 model B+, sensor
kelembaban tanah YL-69, Sensor suhu udara DHT22, water pump 12V DC,
Motor Driver L298N Dual H Bridge, dan motor servo SG90.
2. Raspberry Pi 3 Model B+ digunakan sebagai pengatur utama dalam membaca
data sensor, mengirim data ke Thingspeak, memberi perintah kepada perangkat
untuk mengaktifkan water pump.
3. Web-service yang digunakan untuk mengumpulkan dan meyimpan data sensor
ialah Thingspeak.
4. Software yang digunakan untuk mengembangkan aplikasi Android ialah
Kodular.
5. Bahasa pemograman yang digunakan ialah bahasa pemograman Python 3.5
6. Banyak pot yang digunakan ialah 3 buah pot tanaman dengan jenis tertentu.
1.4 Tujuan Penelitian
Penelitian pada tugas akhir ini bertujuan untuk:
1. Merancang dan membangun alat penyiram tanaman otomatis yang dapat di
kontrol dari jarak jauh melalui aplikasi smartphone Android.
7
2. Mengetahui karakteristik sensor DHT22 dan sensor YL-69 yang digunakan
pada alat.
3. Mengetahui kesesuaian waktu update data dari Raspberry pi 3 pada Thingspeak.
4. Mengetahui kecepatan respon dari alat dalam mengeksekusi perintah yang di
berikan pengguna melalui aplikasi Android.
1.5 Manfaat Penelitian
Adapaun manfaat yang dapat diambil dari hasil penelitian tugas akhir ini
ialah mampu memberikan solusi bagi para pencinta tanaman yang memiliki
kegemaran dalam bercocok tanam di pekarangan rumah berupa kemudahan dalam
proses penyiraman tanpa perlu khawatir jika sedang berpergian jauh dari rumah.
1.6 Sistematika Penulisan
Penulisan penelitian Tugas Akhir ini terdiri dari lima bab, adapun
sistematika penulisan diuraikan sebagai berikut:
BAB I PENDAHULUAN
Bab pendahuluan berisikan penjelasan mengenai Latar Belakang,
Perumusan Masalah, Tujuan, Manfaat dan Sistematika dari penulisan laporan tugas
akhir.
BAB II LANDASAN TEORI
Pada bab ini berisikan penjelasan mengenai teori-teori dasar yang
menunjang penelitian ini. Teori-teori dasar yang akan dibahas diantaranya:
Temperatur, Kelembaban, Sensor, Raspberry Pi 3 Model B+, ADS1115,
ThingSpeak, Aktuator, dan Kodular.
8
BAB III METODELOGI PENELITIAN
Pada bab ini berisikan penjelasan mengenai tempat dan waktu pelaksanaan
penelitian, peralatan dan bahan yang dibutuhkan, tahapan penelitian, tahapan
perancangan sistem pada hardware maupun software, serta metode pengambilan
data.
BAB IV HASIL DAN PEMBAHASAN
Pada bab ini akan dijelaskan mengenai hasil berupa sample data yang telah
diambil sebelumnya dan juga membahas mengenai masalah yang telah
dirumusakan pada penelitian ini.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi mengenai kesimpulan dari hasil penelitian yang menjawab tujuan
penelitian dan saran untuk pengembangan alat serupa bagi penelitian selanjutnya.
9
BAB II
TINJAUAN PUSTAKA
2.1 Temperatur dan Kelembaban
Temperatur atau juga disebut dengan suhu merupakan level panas pada gas,
cairan, maupun benda padat. Temperatur merupakan karakteristik yang dimiliki
oleh sebuah benda yang berhubungan dengan panas dan energi. Jika panas dialirkan
pada suatu benda maka temperatur beda tersebut akan meningkat, sebaliknya
temperatur sebuah benda akan menurun jika benda tersebut kehilangan panas.
Secara mikroskopis temperatur menunjukkan energi yang dimiliki oleh suatu
benda. Setiap atom pada suatu benda bergerak, baik dalam perpindahan maupun
gerakan ditempat berupa getaran. Semakin tinggi energi atom penyusun benda,
maka akan semakin tinggi temperatur benda tersebut. Terdapat tiga buah skala
pengukuran temperatur, yaitu Kelvin, Celsius, dan Fahrenheit. Skala suhu Celsius,
Kelvin, dan Fahrenheit ditunjukkan dalam kaitannya dengan perubahan suhu fasa
air. Skala Kelvin disebut suhu absolut dan Kelvin adalah satuan SI untuk suhu[9].
Dibawah ini terdapat tabel yang berisi persamaan untuk konversi skala temperatur.
Tabel 2.1 Konversi Skala Temperatur[10]
Titik Didih Air pada Tekanan Atmosfer
373.15 ˚K 100˚C 212˚F
𝑻𝑲 = 𝑻𝒄 + 𝟐𝟕𝟑. 𝟏𝟓 𝑇𝐶 =
5
9(𝑇𝐹 − 32) 𝑇𝐹 =
9
5𝑇𝐶 + 32
Titik Beku Air
273.15 ˚K 0 ˚C 32 ˚F
Kelvin Celcius Fahrenheit
10
Kelembaban adalah jumlah uap air yang tertahan di udara. Uap air ialah
keadaan air dalam bentuk gas. Ketika suhu udara meningkat, uap air dapat ditahan
karena pergerakan molekul pada suhu yang lebih tinggi mencegah terjadinya
kondensasi. Jika ada banyak uap air di udara, maka kelembabannya akan tinggi[11].
Ada dua jenis pengukuran pada kelembaban, yaitu kelembaban mutlak dan
kelembaban relatif atau nisbi. Kelembaban mutlak (absolut) adalah ukuran jumlah
sebenarnya uap air di udara, terlepas dari suhu udara. Jumlah uap air dibagi dengan
jumlah udara kering dalam volume udara tertentu pada suhu tertentu. Semakin
panas udaranya, semakin banyak uap air yang bisa ditampungnya. Semakin tinggi
jumlah uap air, semakin tinggi kelembaban absolut. Kelembaban relatif, dinyatakan
dalam persen, adalah ukuran jumlah uap air yang ditahan udara dibandingkan
dengan jumlah yang dapat ditampungnya pada suhu tertentu. Udara hangat dapat
memiliki lebih banyak uap air (uap air) daripada udara dingin, sehingga dengan
jumlah kelembaban absolut yang sama, udara akan memiliki kelembaban relatif
yang lebih tinggi. Kelembaban relatif 50% berarti udara bertahan pada hari itu (suhu
spesifik) menampung 50% air yang dibutuhkan agar udara menjadi jenuh. Udara
jenuh memiliki kelembaban relatif 100%[12].
2.2 Temperatur dan Tanaman
Temperatur adalah faktor utama dalam pertumbuhan dan perkembangan
tanaman. Seiring dengan tingkat cahaya, karbon dioksida, kelembaban udara, air
dan nutrisi, temperatur mempengaruhi pertumbuhan tanaman dan hasil panen
akhirnya. Semua faktor ini harus seimbang. Temperatur memengaruhi tanaman
dalam jangka pendek maupun jangka panjang. Tanaman dapat tumbuh hanya dalam
11
kisaran temperatur tertentu. Temperatur memiliki efek komprehensif pada
pertumbuhan. Ini dapat mempengaruhi pertumbuhan tanaman tidak hanya dengan
mempengaruhi fotosintesis, respirasi, transpirasi dan proses metabolisme lainnya,
tetapi juga dengan mempengaruhi sintesis dan transportasi bahan organik[13].
Karena aktivitas enzim yang terlibat dalam aktivitas metabolisme bervariasi
pada temperatur yang berbeda, efek temperatur pada pertumbuhan tanaman juga
memiliki temperatur terendah, terbaik dan tertinggi yaitu disebut juga dengan tiga
titik dasar. Tanaman hanya dapat tumbuh di kisaran temperatur terendah dan
temperatur tertinggi. Tiga titik dasar suhu berbeda untuk tanaman yang berbeda. Ini
terkait dengan kondisi iklim asal tanaman. Tanaman yang berasal dari zona tropis
atau subtropis memiliki suhu lebih tinggi tiga titik dasar, masing-masing 10 ℃, 30-
35 ℃ dan 45 ℃; tanaman yang berasal dari zona beriklim memiliki suhu lebih
rendah tiga titik dasar, masing-masing 5 ℃, 25-30 ℃ dan 35-40 ℃; tanaman yang
berasal dari zona dingin memiliki suhu lebih rendah tiga titik dasar, dan tanaman
yang tumbuh di zona Arktik atau alpine dapat di bawah 0 ℃ atau 0 ℃. Pertumbuhan
suhu, suhu optimal jarang lebih dari 10 ℃[14].
2.3 Kelembaban Tanah
Air dalam tanah merupakan salah satu komponen yang mempengaruhi
pertumbuhan dan perkembangan tanaman yang tumbuh pada tanah tersebut.
Adanya air yang terdapat pada tanah dikarenakan air tertahan oleh massa tanah,
tertahan atau berikatannya air dengan tanah disebabkan adanya absorpsi atau
tekanan hidrostatik. Air dapat hilang dari tanah karena adanya penguapan oleh akar
tanaman[1]. Pada tanaman air memengang beberapa peranan penting diantaranya
12
sebagai pelarut unsur hara, seperti garam-garam, gas-gas, dan senyawa molekul
organic lainnya, sebagai alat transportasi fotosintat dari sumber ke limbung, sebagai
bagian dari penyusun utama sel-sel jaringan tanaman serta sebagai pengatur suhu
pada tanaman. Apabila ketersediaan air dalam tanah kurang dari yang dibutukan
oleh tanaman maka akibatnya air sebagai bahan baku proses fotosintesis dan
sebagai alat transportasi unsur hara ke daun akan terhambat sehingga akan
berdampak pada pertumbuhan dan perkembangan tanaman[15].
Kelembaban tanah dipengaruhi oleh banyaknya kadar air yang terkandung
dalam tanah yang berasal dari curah hujan, pencairan salju, atau dengan daya tarik
kapiler dari air tanah. Apabila tanah mengandung kadar air yang tinggi maka
kelebihan air tanah akan dikurangi melalui proses evaporasi, transpirasi dan
transpor air bawah tanah[16]. Banyak faktor yang mempengaruhi nilai kelembaban
tanah diantaranya kondisi cuaca (seperti presipitasi, suhu udara, dan kecepatan
angin), jenis tanah, dan laju transpirasi. Berdasarkan acuan dalam mengukur
kelembaban tanah, yaitu American Standard Method (ASM). Pengukuran
kelembaban tanah dihitung dengan cara melakukan perbandingan antara massa air
dengan massa butiran tanah dalam kondisi kering, yang ditunjukkan oleh
persamaan berikut[17]:
KAT(%) = 𝑀𝑇𝐵−𝑀𝑇𝐾
𝑀𝑇𝐵 × 100% (1)
Keterangan:
KAT: Kadar Air Tanah
MTB: Massa Tanah Basah
MTK: Massa Tanah Kering
13
2.4 Sensor YL-69
Sensor YL-69 merupakan salah satu jenis sensor kelembaban yang dapat
mendeteksi kadar air di dalam tanah. Sensor YL-69 memiliki dua probe (elektroda)
yang berfungsi untuk mendeteksi kadar air didaerah sekitar probe dengan cara
mengalirkan arus pada kedua probe melalui tanah, sehingga mendapatkan nilai
resistansi untuk menentukan tingkat kelembaban. Nilai yang terbaca oleh sensor
YL-69 menghasilkan nilai output besar pada tanah dengan kadar air yang rendah
dikarenakan semakin sedikit kandungan air dalam tanah akan sangat sulit untuk
menghantarkan listrik sehingga resistansi besar, dan sebaliknya YL-69 akan
menghasilkan nilai output yang kecil pada tanah yang memiliki kadar air yang
tinggi dikarenakan semakin banyak kandungan air dalam tanah membuat tanah
lebih mudah menghantarkan listrik sehingga resistansi semakin kecil.
Gambar 2.1 Sensor YL-69[13]
Kedalaman probe yang ditancapkan pada tanah juga mempengaruhi pembacaan
nilai output. Semakin dalam probe sensor YL-69 ditancapkan ke tanah maka nilai
ADC yang terukur semakin menurun, artinya semakin banyak kontak antara tanah
atau air dengan kedua elektroda sensor, maka semakin sensitif sensor tersebut[18].
Adapun spesifikasi dari sensor YL-69 ialah sebagai berikut[19]:
• Tegangan: DC 3.3V – 5V
14
• Sinyal Tegangan Output: 0 ~ 4.2V
• Arus: 35mA
• LED: Indikator Daya (merah) dan indicator perubahan keluaran digital (hijau)
• Ukuran: 60 x 20 x 5mm
• Chip komparator LM393, sangat stabil
Koneksi Pin:
• VCC terhubung ke 3.3V-5V
• GND terhubung ke GND
• D0 terhubung ke pin keluaran digital (0 atau 1)
• A0 terhubung ke pin keluaran analog
2.5 Sensor DHT22
DHT22 atau yang juga disebut dengan AM2302 merupakan sensor yang
dapat mendeteksi temperatur dan kelembaban udara disekitar. DHT22
menggunakan sensor kelembaban kapasitif dan thermistor untuk mengukur udara
di sekitarnya, dan mengkonversikan hasil pengukuran kedalam sinyal digital.
Teknologi sensor yang digunakan dapat memastikan produk dengan keandalan
yang tinggi dan stabilitas jangka panjang yang sangat baik. Sensor ini terhubung
dengan chip komputer dengan kapasitas 8 bit[20].
15
Gambar 2.2 Sensor DHT22[20]
Adapun spesifikasi dari sensor DHT22 adalah sebagai berikut:
Tabel 2.2 Spesifikasi Sensor DHT22[20]
Model AM2303
Daya DC 3.3V – 6V
Sinyal Output Digital, melalui antarmuka 1-wire bus
Elemen Sensor
Polymer Kapasitor untuk mendeteksi
kelembaban dan DS18B20 untuk mendeteksi
temperatur
Rentang Pengukuran Kelembaban: 0-100% RH
Temperatur: -40 ~ 125°Celsius
Akurasi Kelembaban: ±2 %RH (Maks. ±5%RH
Temperatur: ±2°Celsius
Resolusi atau Sensitivitas Kelembaban: 0.1 %RH
Temperatur: ±0.1°Celsius
Pengulangan Kelembaban: 0.1 %RH
Temperatur: ±0.2°Celsius
Histeresis kelembaban 0.3 %RH
Stabilitas Jangka Panjang 0.5 %RH per tahun
Rata-rata Periode Pemindaian 2 detik
Ukuran 25.1 x 15.1 x 7.7mm.
16
Tabel 2.3 Pinout Sensor DHT22[15]
Pin (dari kiri ke kanan) Fungsi
1 VDD- Sumber Tegangan
2 DATA-Sinyal
3 NULL
4 GND
2.6 ADC ADS1115 16 Bit
ADS1115 merupakan sebuah modul ADC (Analog to Digital Converter)
dengan komunikasi I2C yang memiliki resolusi 16 Bit sehingga memiliki tingkat
akurasi yang lebih baik dibandingkan dengan port ADC dari Arduino yang hanya
memiliki resolusi sebesar 12 Bit. ADS1115 memiliki empat saluran input (Channel)
yang dapat dikonfigurasikan sebagai empat saluran single-ended, dua saluran
differential, atau Comparator Measurements. Pada ADS1115 nilai bit ditentukan
oleh pengaturan Programmable Gain Amplifier (PGA) dengan rentang sinyal dari
+/- 256mV hingga +/- 6.144V. Ada 6 pengaturan gain yang dapat digunakan yaitu
± 6.144 V, ± 4.096 V, ± 2.048 V, ± 1.024 V, ± 0.512 V, dan ± 0.256 V. Nilai untuk
setiap saluran adalah nilai ADC untuk saluran itu sendiri. Nilai ADC yang
dikeluarkan berkisar dari -32768 hingga 32767. Nilai 0 berarti sinyal berada pada
level ground (referensi), nilai 32767 berarti berada pada atau lebih tinggi dari nilai
tegangan maksimum untuk penguatan arus (4.096V pada pengaturan standar), dan
nilai -32768 berarti tegangan negatif di bawah tegangan referensi (jika berada
dalam mode diferensial)[21].
17
Gambar 2.3 ADC ADS1115 16 Bit[22]
Adapun spesifikasi dari ADC ADS1115 16 Bit adalah sebagai berikut:
Tabel 2.4 Spesifikasi ADS1115
Ukuran 2mm × 1,5mm × 0,4mm
Saluran 4 Channel ADC (A0,A1,A2,A3)
Resolusi 16 Bit
Komunikasi Antarmuka I2C (SDA, SCL)
Range Tegangan Operasional 2.0 – 5.5 V DC
Range Tegangan masuk channel 0 ~ VDD
Konsumsi Arus Rendah Continuous Mode: Hanya 150μA
Single-Shot Mode: Auto Shut-Down
Tingkat Sampel yang Dapat Diprogram 8 SPS sampai 860 SPS
Tegangan Referensi Internal Low-Drift
Osilator Internal
PGA Internal
2.7 Water Diaphragm Pump DC 12V R385
Water pump (pompa air) merupakan sebuah mesin yang menghantarkan
atau menekan cairan. Water pump digunakan untuk memindahkan air dari tempat
yang rendah ketempat yang lebih tinggi atau ke tempat yang lebih jauh.
18
Gambar 2.4 Water Diaphragm Pump DC 12V[23]
Pompa memindahkan cairan dengan menggunakan energi untuk meningkatkan
jumlah tekanan dalam sistem, ditunjukkan dalam bentuk sederhana di bawah ini.
Gambar 2.5 Prinsip Kerja Pemindahan Air pada Pompa[24]
Diaphragm Pump termasuk kepada golongan pompa perpindahan positif
(positive-displacement pumps). Pompa perpindahan positif beroperasi dengan
mengubah volume dalam sistem tertutup. Saat tekanan meningkat maka volume air
akan berkurang, sebaliknya saat tekanan berkurang maka volume air akan
bertambah. Perubahan tekanan ini menyebabkan cairan tersedot kedalam sistem,
dan kemudian mendorongnya kearah yang diinginkan[24].
19
Gambar 2.6 Operasi Sistem Diaphragm Pump[24]
Perubahan tekanan pada sistem ini dilakukan oleh motor DC yang terdapat
dalam water pump. Motor DC memerlukan suplai tegangan berupa arus searah pada
kumparan medan untuk diubah menjadi energi mekanik. Bagian utama Motor DC
adalah stator dan rotor. Ditengah-tengah motor terdapat kumparan medan yang
disebut stator atau bagian yang tidak bergerak, dan kumparan jangkar disebut rotor
atau bagian yang berputar. Disekitar kumparan terdapat dua buah magnet, yang
menciptakan medan magnet permanen yang mengalir melalui rotor. Ketika motor
menyala, listrik mengalir melalui kumparan, menghasilkan medan magnet yang
mengusir magnet di sekitar rotor, menyebabkan rotor berputar sekitar 180 derajat.
Ketika rotor berputar, arah listrik di koil terbalik, mendorong rotor lagi dan
menyebabkannya berputar. Melalui serangkaian dorongan, rotor terus berputar,
menggerakkan baling-baling dan menyalakan pompa[25].
Adapun spesifikasi dari Water Diaphragm Pump DC 12V adalah sebagai
berikut:
Tabel 2.5 Spesifikasi Water Diaphragm Pump DC 12V[26]
Ukuran Panjang: 86mm
Lebar: 43mm
Diameter dalam pipa: 6mm
Diameter Luar Pipa: 8.5mm
Tegangan DC 6-12V
Arus 0.5-0.7A
20
Tegangan yang Disarankan 9V 1A atau 12V 1A
Rentang Menyedot 2 m, Maksimal
Rentang Memompa 3 m, Maksimal
Bekerja dengan suhu cairan 80°C, Maksimal
Laju Aliran Maksimum 1-3L/mnt
2.8 Motor Servo SG90
Motor servo adalah sebuah perangkat listrik yang dapat mendorong atau
memutar objek dengan presisi tinggi. Posisi perputaran motor servo ditentukan oleh
pulsa listrik dan sirkuitnya ditempatkan di samping motor. Di dalam servo ada
empat komponen utama yaitu, motor DC, gearbox, potensiometer, dan sirkuit
kontrol.
Gambar 2.7 Motor Servo SG90[27]
Saat motor berputar, resistansi potensiometer berubah, sehingga sirkuit
kontrol dapat dengan tepat mengatur seberapa banyak gerakan dan ke arah mana.
Ketika poros motor berada pada posisi yang diinginkan, daya yang disuplai ke
motor dihentikan. Jika tidak, motor diputar ke arah yang diinginkam. Kecepatan
motor sebanding dengan perbedaan antara posisi aktual dan posisi yang
diinginkan[28].
21
Gambar 2.8 Komponen Servo[29]
Semua motor memiliki tiga kabel penghubung. Dua kabel akan digunakan
untuk pasokan (positif dan negatif) dan yang satu lagi kabel control yang akan
digunakan untuk sinyal yang akan dikirim dari MCU. Motor servo dikendalikan
oleh PWM (Pulse with Modulation) yang disediakan oleh kabel control. Motor
servo dapat berputar 90 derajat dari salah satu arah dari posisi netral. Motor servo
akan membaca pulsa setiap 20ms dan panjang pulsa akan menentukan seberapa
jauh motor akan berputar. Pulsa dengan durasi 1 ms akan membuat motor berputar
berlawanan dengan arah jarum jam ke posisi 0°, durasi 1,5 ms akan membuat motor
berputar ke posisi 90 ° dan 2ms akan membuat motor berputar searah jarum jam
menuju posisi 180°[30].
Gambar 2.9 Variabel Lebar Pulsa Kontrol Posisi Servo[30]
22
Adapun spesifikasi dari Motor Servo SG90 ialah sebagai berikut:
Tabel 2.6 Spesifikasi Motor Servo SG90[31]
Berat 13.4Gram
Dimensi 22.8×12.2×28.5mm
Torsi stall 41.8 kgf.cm (4.8V), 2.2 kgf.cm (6V)
Kecepatan pengoperasian 4.8V: 0.1 sec/60°, 6V: 0.08/60°
Tegangan pengoperasian 4,8 V (~ 6V)
Kisaran suhu 0 ºC - 55 ºC
Lebar Pulsa 1µs
Pinout Orange untuk PWM
Merah untuk VCC
Coklat untuk Ground
2.9 Motor Driver L298N H-Bridge
Motor Driver L298N merupakan sebuah modul yang digunakan untuk
mengontrol kecepatan ataupun arah perputaran motor DC. Driver L298 adalah
driver H-Bridge tegangan tinggi, arus tinggi yang dirancang untuk menerima
tingkat logika TTL standar dan beban penggerak seperti relay, solenoida, DC, dan
motor penggerak. Dua input yang diaktifkan disediakan untuk mengaktifkan atau
menonaktifkan perangkat secara independen dari sinyal input.
Gambar 2.10 Motor Driver L298N H-Bridge[31]
23
Motor driver ini memungkinkan untuk dengan mudah dan independen
mengontrol dua motor hingga 2A masing-masing di kedua arah[31]. Adapun
spesifikasi dari Motor Driver L298N H-Bridge adalah sebagai berikut:
Tabel 2.7 Spesifikasi Motor Driver L298N H-Bridge[31]
Tegangan Input 3.2V~40V DC
Driver L298N Dual H Bridge DC Motor Driver
Catu Daya DC 5 V - 35 V
Arus Puncak 2 Amp
Rentang Arus Operasional 0 ~ 36mA
Rentang Tegangan Input Sinyal
Kontrol
Rendah: -0.3V ≤Vin ≤1.5V
Tinggi: 2.3V ≤Vin ≤Vs
Rentang Tegangan Input Sinyal
Aktif
Low: -0.3 ≤ Vin ≤1.5V (sinyal control tidak
valid)
High: 2.3V ≤Vin ≤Vss (sinyal control aktif)
Konsumsi Daya Maksimum 20W (ketika temperatur T = 75 °C)
Temperatur Penyimpanan -25 ° C ~ +130 ° C
Ukuran 3,4 cm x 4,3 cm x 2,7 cm
2.10 Raspberry Pi
Rapberry Pi dikenal sebagai single board computer (komputer papan
tunggal), yang berarti semua komponen komputer dimuat hanya dalam satu cetakan
papan sirkuit. Sistem operasi yang digunakan pada Raspberry Pi ialah Rapbian.
Sistem operasi Raspbian dibuat berbasis Debian yang merupakan salah satu distribusi
dari Linux OS. Prosesor yang terpasang pada Raspberry Pi sama dengan prosesor yang
terpasang pada iPhone 3G. Prosesor tersebut memiliki spesifikasi 32 bit, 700MHz.
Tidak seperti komputer pada umumnya yang menggunakan hard disk atau solid-state
24
drive sebagai media penyimpanan data Raspberry Pi menggunakan SD card untuk
booting dan penyimpanan data jangka panjang.
Gambar 2.11 (a) Raspberry Pi Model A dan (b) Raspberry Pi Model B[32]
Ada dua model pada Raspberry Pi yaitu model A dan model B. Terdapat
beberapa perbedaan pada kedua model tersebut. Perbedaan pertama, model A
membutuhkan supply 5V dengan arus minimal 500mA sedangkan model B
membutuhkan supply sebesar 5V dengan arus minimal 700mA. Perbedaan kedua,
model A menggunakan memori dengan kapasitas 256 MB sedangkan model B
menggunakan memori dengan kapasitas 512 MB. Perbedaan ketiga, model A hanya
memiliki 1 port USB 2.0 sedangkan model B memiliki 2 port USB 2.0. Perbedaan
keempat, model A tidak memiliki port ethernet sedangkan model B memiliki 1 port
ethernet[33]. Sejak tahun 2012 sampai tahun 2019 Raspberry Pi telah merilis beberapa
model diantaranya:
• Raspberry Pi 1 Model B
• Raspberry Pi 1 Model A
• Raspberry Pi 1 Model B+
• Raspberry Pi 2 Model B
• Raspberry Pi Zero
• Raspberry Pi 3 Model B
• Raspberry Pi 3 Model A+
• Raspberry Pi B+
• Raspberry Pi 4 Model
25
Pada penelitian ini model Raspberry Pi yang digunakan ialah Raspberry
Pi 3 Model B+. Raspberry Pi 3 Model B+ merupakan revisi terbaru dari generasi
ketiga dan merupakan penerus dari Raspberry Pi 3. Perbedaan utama yang ada pada
Raspberry Pi ini adalah prosesor baru yang digunakan, yaitu Broadcom BCM2837,
sebuah ARM Cortex-A53 64-bit Quad-Core Processor System-on-Chip yang
beroperasi dengan kecepatan 1.4GHz. Pada networking Raspberry Pi ini
menggunakan dual-band 2.4GHz dan 5GHz untuk koneksi LAN nirkabel.
Raspberry Pi ini juga menggunakan Bluetooth 4.2 / BLE (Bluetooth Low Energy).
Gambar 2.12 Raspberry Pi 3 Model B+[34].
Raspberry Pi 3 B + memiliki empat port USB menyediakan konektivitas
yang cukup untuk mouse, keyboard, atau aksesoris lain yang diperlukan[35]. Pada
Raspberry Pi tipe ini memiliki 40-pin GPIO (General-Purpose Input/Output) yang
dapat memberi akses ke 24-pin GPIO, 1-pin UART, 1-bus I2C, 2-bus SPI,8-pin
Ground ,serta 2-pin sumber 3.3V dan 2-pin sumber 5V[36]. Pin GPIO Raspberry
Pi 3 B+ dapat dilihat pada gambar 2.14 dibawah ini.
26
Gambar 2.13 GPIO Raspberry Pi 3 Model B+[37].
2.11 Python
Python adalah bahasa yang sangat baik untuk digunakan dalam pembuatan
game, menulis GUI, IoT dan mengembangkan web. Python merupakan bahasa
pemograman yang mudah untuk dibaca dan dipahami oleh karena itu Python
tergolong pada kategori bahasa tingkat tinggi. Membaca dan menulis kode pada
Python sama seperti membaca dan menulis dalam bahasa inggris. Karena tidak
ditulis dalam bahasa mesin, Python perlu memproses program telebih dahulu
sebelum dapat dijalankan oleh mesin. Python adalah sebuah bahasa pemograman
interpreted, yang berarti bahwa setiap kali akan menjalankan program,
interpreternya juga akan berjalan melalui kode dan menerjemahkannya menjadi
byte-byte yang dapat dibaca oleh mesin[38].
Pada penulisan program Python memiliki dua mode penulisan yaitu mode
interaktif dan mode skrip. Mode interaktif merupakan mode yang memberikan
respon secara lagsung. Dalam mode ini, pengguna bisa memberikan perintah
kepada Python dan akan segera dijalankan. Kelemahan dari mode ini ialah mode
yang tidak dirancang untuk membuat program yang dapat disimpan dan dapat
27
dijalankan dilain waktu. Penulisan program pada mode interaktif ini dilakukan pada
lembar kerja yang bernama Python Shell.
Gambar 2.14 (a) Python Shell dan (b) Python IDLE
Sebaliknya, mode skrip ialah mode yang menyediakan lembar kerja untuk dapat
menulis, mengedit, menjalankan dan menyimpan program. Lembar kerja untuk
penulisan program pada mode skrip bernama Python IDLE[39]. Saat ini Python
dapat berjalan pada berbagai sistem operasi diantaranya Linux/Unix, Microsoft
28
Windows, Mac OS, Android, Java Virtual Machine, Symbian OS, Amiga, Palm,
OS/2 dan lain sebagainya.
2.12 ThingSpeak
ThingSpeak adalah sebuah layanan platform analitik IoT (Internet of
Things) yang memungkinkan untuk mengumpulkan secara real-time,
memvisualisasikan, dan menganalisis aliran data langsung pada cloud[40].
Gambar 2.15 Visualisasi ThingSpeak Cloud[41]
Pada ThingSpeak data disimpan pada saluran atau yang disebut juga dengan
Channel. Setiap Channel memungkinkan untuk menyimpan sampai dengan
delapan bidang data yang masing-masing menggunakan 255 karakter alfanumerik.
Ada 4 bidang khusus untuk data posisi, yang terdiri dari: Deskripsi, Latitude,
Longitude, dan Elevation. Semua data yang masuk adalah waktu dan tanggal yang
dicap (Timestamp) dan menerima ID asequential. Untuk dapat meng-upload
ataupun mengakses data pada ThingSpeak melalui internet digunakan API dan
saluran yang disediakan oleh ThingSpeak. API Key adalah sebuah kode rahasia
29
string alfanumerik unik yang dibuat secara acak digunakan untuk otentikasi. ‘Write
API Key’ digunakan untuk meng-upload pembacaan data dari sebuah perangkat ke
ThingSpeak. Sedangkan ‘Read API Key’ digunakan untuk mengakses data yang
sudah tersimpan pada Thingspeak[42].
Kelebihan dari ThingSpeak dari platform IoT yang lain yaitu ThingSpeak
dicatat sebagai satu-satunya platform data terbuka yang dirancang khusus untuk IoT
di 'cloud'. Juga, API memungkinkan untuk visualisasi data yang dikumpulkan
dengan menggunakan grafik spline. Karena itu sangat menarik secara visual dan
jauh lebih mudah ketika memeriksa data yang dikumpulkan dibandingkan dengan
API open source lainnya. Hal lain yang menguntungkan ThingSpeak adalah fakta
bahwa ia menggunakan Phusion Passenger Enterprise, sebuah web dan server
aplikasi. Oleh karena itu, API menyediakan dukungan tambahan untuk bahasa
pemrograman Ruby, Python dan Node.js. Sedangkan untuk kelemahan dari
ThingSpeak ialah saat mengunggah data ke API ada batas satu pembaruan per
saluran setiap lima belas detik[43]. Adapun fitur-fitur yang dihadirkan oleh
ThingSpeak ialah sebagai berikut[40]:
• Mengumpulkan data dalam
saluran pribadi
• Bagikan data dengan saluran
public
• API RESTful dan MQTT
• Analisis dan visualisasi
MATLAB®
• Penjadwalan acara
• Alerts
• Integrasi aplikasi
ThingSpeak dapat bekerja dengan MATLAB, Arduino, Foton dan Elektron
Partikel, Modul Wifi ESP8266, Raspberry Pi, LoRaWAN, Libelium, dan Backhoff.
30
2.13 Kodular
Kodular merupakan sebuah layanan berbasis web yang memungkinkan
pengguna dengan keterbatasan pengalaman dalam hal pemograman untuk
merancang dan membuat suatu aplikasi Android. Kodular memanfaatkan bahasa
pemrograman visual berbasis blok dalam membuat aplikasi seluler Android[44].
Dalam perancangan aplikasi Kodular, sebuah aplikasi terdiri dari satu set rangkaian
komponen dan satu set blok diagram. Komponen merupakan blok dasar dalam
perancangan aplikasi. Setiap komponen memiliki serangkaian properti, metode,
dan peristiwa. Kategori-kategori yang berada dalam komponen digunakan untuk
mendesain tampilan pada layar dan untuk menambahkan fungsionalitas pada
aplikasi. Blok adalah sebuah rangkaian seperti Puzzle yang digunakan untuk
menrancang bagaimana setiap komponen melakukan tugasnya, cara komponen
menanggapi berbagai tindakan dan peristiwa di aplikasi. Misalnya, bagaimana
aplikasi harus merespon ketika tombol diklik, data apa yang akan disampaikan ke
database dengan menggunakan komponen FirebaseDB, semua dikonfigurasi
dengan blok. Dengan demikian, menggunakan berbagai Komponen dan
mengonfigurasi perilaku dan respons terhadap tindakan dari pengguna dengan
bantuan Blok, seperti itulah cara kerja Kodular dalam membangun sebuah
aplikasi[45].
31
Gambar 2.16 Ilustrasi Cara Kerja Kodular[45]
Gambar 2.17 Tampilan Halaman Desaigner[46]
Halaman yang ditunjukkan pada gambar 2.8 di atas disebut dengan halaman
Desaigner. Pada halaman ini, pengguna dapat menambah / menghapus Komponen
dan memodifikasi propertinya. Di sisi kiri, nomor 1 adalah Components Palette atau
Palet Komponen. Palet Komponen terdiri dari berbagai komponen yang
dikelompokkan dalam berbagai kategori. Saat pengguna perlu menambahkan
komponen, pengguna dapat mengklik komponen pada Palette, tahan dan seret ke
Viewer area tampilan halaman Desaigner. Di sisi kanan, nomor 2 adalah
32
Components Hierarchy dan Designer Properties Panel (yang terlihat saat pengguna
memilih komponen). Components Hierarchy menunjukkan komponen yang terlihat
ditambahkan ke proyek saat ini. Designer Properties Panel akan terlihat ketika
mengklik pada komponen dan menampilkan properti dari komponen itu. Di tengah
adalah Viewer yang memberikan tampilan aplikatif dari aplikasi seperti yang
terlihat di perangkat nyata. Untuk menambahkan komponen ke proyek, seret
komponen dari Palette dan letakkan di dalam Viewer. Di bawah Viewer,
Components Panel Tidak Terlihat (on-visible Components Panel), yang
menunjukkan semua Komponen Tidak Terlihat yang ditambahkan ke proyek[46].
33
BAB III
METODE PENELITIAN
3.1 Waktu dan Tempat Penelitian
Penelitian “Rancang Bangun Sistem Penyiraman Tanaman Otomatis
Berbasis Raspberry Pi 3 dengan Memanfaatkan Thingspeak dan Interface Android
sebagai Kendali” dilaksanakan pada bulan Maret 2019 sampai November 2019.
Adapun tempat penelitian dilaksanakan di lantai 2 Pusat Laboratorium Terpadu
(PLT) UIN Syarif Hidayatullah Jakarta.
3.2 Alat dan Bahan Penelitian
Pada penelitian “Rancang Bangun Sistem Penyiraman Tanaman Otomatis
Berbasis Raspberry Pi 3 dengan Memanfaatkan Thingspeak dan Interface Android
sebagai Kendali” menggunakan alat dan bahan sebagai berikut:
a. Alat
Adapun alat yang digunakan dalam pembuatan sistem penyiraman
tanaman otomatis ialah:
1. Raspberry Pi 3 Model B+
2. Keyboard
3. Monitor
4. Mouse
5. Power Adaptor 5V 3A
6. Kabel VGA
7. Kabel VGA to HDMI Converter
8. Sensor YL-69
34
9. Sensor DHT22
10. Water Pump Mini 12V DC
11. Motor Driver L298N Dual H-Bridge
12. Motor servo SG90
13. Kabel Jumper
14. Smartphone Android Samsung A6 Tahun 2018
b. Bahan
Adapun bahan yang digunakan dalam pembuatan sistem penyiraman
tanaman otomatis ialah:
1. Python 3.5
2. Kodular
3. Thingspeak free license option
4. 3 buah pot berisi tanah
3.3 Tahapan Penelitian
Penelitian “Rancang Bangun Sistem Penyiraman Tanaman Otomatis
Berbasis Raspberry Pi 3 dengan Memanfaatkan Thingspeak dan Interface Android
sebagai Kendali” ini meliputi beberapa tahapan. Adapun tahapan penelitian yang
dilakukan diantaranya sebagai berikut:
1. Studi Literatur. Meninjau dan memahami literatur-literatur yang berkaitan
dengan penelitian ini.
2. Analisa Kebutuhan Alat dan Bahan. Menganalisa dan menyediakan alat beserta
bahan yang dibutuhkan dalam perancangan sistem ini.
35
3. Studi Literatur. Meninjau dan memahami literatur-literatur yang berkaitan
dengan penelitian ini.
4. Analisa Kebutuhan Alat dan Bahan. Menganalisa dan menyediakan alat beserta
bahan yang dibutuhkan dalam perancangan sistem ini.
5. Perancangan. Merancang Hardware sistem penyiraman dengan cara
menghubungkan semua alat pada Raspberry Pi, membuat akun Thingspeak,
merancang program Python pembacaan sensor dan upload data ke Thingspeak,
dan merancang aplikasi Android.
6. Penerapan. Menerapkan sistem yang telah dirancang dengan menjalankan atau
me-running program Python.
7. Pengujian. Menguji sistem apakah berkerja dengan baik dan sesuai yang
diharapkan.
8. Analisa Hasil. Menganalisa data yang dihasilkan oleh sistem apakah data sesuai
atau tidak dan menganalisa faktor yang mempengaruhi kesesuaian data.
9. Kesimpulan. Mengambil kesimpulan dari hasil penelitian.
Gambar 3.1 Diagram alir tahapan penelitian
36
3.3.1 Analisa Kebutuhan Sistem
Analisa kebutuhan sistem merupakan tahap paling awal yang dilakukan
dalam pembuatan sebuah sistem. Gambaran pelayanan yang disediakan oleh sistem,
batasan-batasan dari sistem, masukan dan keluaran dari sistem dilakukan pada
tahap ini. Pada sistem ini terdapat dua bagian fungsi. Bagian fungsi pertama
dilakukan oleh pengguna atau disebut juga dengan User, dan bagian fungsi yang
lain dilakukan oleh sistem. Dari studi literatur yang telah penulis lakukan maka
fungsi yang dapat dilakukan oleh user pada sistem ini ialah sebagai berikut:
1. Menghubungan Raspberry Pi 3 Model B+ ke jaringan internet.
2. Mengaktifkan sistem dengan menjalankan program Python pada Raspberry Pi.
3. Memonitoring data kelembaban tanah dan suhu udara pada aplikasi Android.
4. Mengontrol perangkat yang terhubung yaitu water pump untuk memulai
penyiraman dengan cara mengirimkan tanggapan melalui aplikasi Android pada
smartphone.
Adapun fungsi yang dapat dilakukan oleh sistem diantaranya sebagai
berikut:
1. Membaca data kelembaban tanah dan suhu udara dari sensor yang kemudian
diolah oleh Rapberry Pi.
2. Mengirimkan dan mengupdate data secara berkala ke Thingspeak melalui
jaringan internet yang telah terhubung.
3. Smartphone penguna membaca data sensor terbaru pada Thingspeak.
4. Mengaktifkan akuator jika telah mendapatkan tanggapan dari Aplikasi
Smartphone pengguna.
37
5. Me-nonaktifkan akuator jika kelembaban telah mencapai nilai maksimal.
Kumpulan fungsi yang didapatkan dari perancangan sistem dapat di
ilustrasikan dalam bentuk use case seperti gambar 3. 2 dibawah ini.
Gambar 3.2 Use Case Diagram
3.3.2 Perancangan Perangkat (Sistem)
Rancangan sistem penyiram tanaman otomatis jarak jauh di gambarkan
pada gambar 3.3 dibawah ini:
38
Gambar 3.3 Diagram Blok Sistem
Sensor DHT22 dan sensor YL-69 terhubung dengan Raspberry Pi 3 Model
B+. Sensor YL-69 ditanamkan ke tanah untuk mendeteksi kelembaban tanah
sedangkan sensor DHT22 berada di atas permukaan tanah untuk mendeteksi suhu
udara sekitar tanaman. Data dari sensor akan diproses yang kemudian dikirim ke
Thingspeak melalui jaringan internet yang telah terhubung. Data yang sudah
terkirim pada Thingspeak akan dibaca oleh aplikasi Android yang telah terinstal
pada Smartphone pengguna melalui jaringan internet. Dengan demikian, pengguna
dapat melakukan monitoring melalui Smartphone. Jika data sensor memenuhi
kondisi (dalam hal ini kadar kelembaban tanah telah mencapai batas minimum yang
telah ditentukan pada program) maka pada Aplikasi Smartphone akan muncul
pemberitahuan bahwa kelembaban tanah tanaman telah mencapai batas nilai
minimal. Pengguna akan menanggapi dengan cara menekan tombol yang
memerintahkan sistem untuk melakukan proses penyiraman. Tanggapan tersebut
akan dikirimkan ke Raspberry Pi yang kemudian akan proses sehingga Raspberry
Pi akan mengaktifkan Relay untuk dapat mengaktifkan Water Pump, dengan
demikian proses penyiraman tanaman dapat berlangsung. Setelah tanah mencapai
kelembaban maksimal maka water pump akan berhenti secara otomatis dan sistem
39
akan mengirimkan notifikasi ke Smartphone pengguna bahwa tanah sudah
mencapai kelembaban yang diinginkan.
Gambar 3.4 Diagram Alir Sistem
40
a. Perancangan Perangkat Keras (Hardware)
Sistem ini bekerja dengan Raspberry Pi 3 Model B+ sebagai alat untuk
mengontrol segala aktifitas yang terjadi, mulai dari proses inisiasi sampai
komunikasi. Sistem ini menggunakan tiga buah sensor YL-69 yang digunakan
untuk mendeteksi data kelembaban tanah pada tiga buah pot tanaman dan satu buah
sensor DHT22 yang digunakan untuk mendeteksi temperatur dan kelembaban udara
sekitar tanaman. Komunikasi dan transfer data dilakukan oleh jaringan internet
yang telah terhubung pada Raspberry Pi 3 Model B+. Perancangan perangkat keras
dapat dilihat pada Gambar 3.5 dibawah ini:
Gambar 3.5 Rangkaian Hardware Penyiram Tanaman Otomatis
41
Konfigurasi pin dari rangkaian Hardware diatas adalah sebagai berikut:
Tabel 3.1 Konfigurasi Pin YL-69
YL-69 ADS1115 Raspberry Pi3 Model B+
A0 Pin A0-A3 -
D0 - -
VCC - Pin 3.3 V
GND - Pin GND
Tabel 3.2 Konfigurasi Pin ADS1115
ADS1115 Raspberry Pi3 Model B+
VDD Pin 3.3 V
GND Pin GND
SCL Pin SCL
SDA Pin SDA
Tabel 3.3 Konfigurasi Pin DHT 22
DHT22 Raspberry Pi3 Model B+
Pin 1 Pin 3.3 V
Pin 2 GPIO 4 + Resistor 10 KΩ
Pin 3 -
Pin 4 Pin GND
Tabel 3.4 Konfigurasi Servo
Servo Raspberry Pi3 Model B+
Merah Pin 5 V
Hitam Pin GND
Kuning GPIO 17
Tabel 3.5 Konfigurasi Motor Driver L298N H-Bridge
L298N H-Bridge Komponen
Motor A Water Pump
ENA GPIO 25
IN1 GPIO 24
IN2 GPIO 23
12 V Power Adaptor 5V
GND GND
42
Komposisi perangkat keras pada gambar 3.5 terdiri dari:
1. Raspberry Pi 3 Model B+ digunakan sebagai pusat kendali dari sistem.
2. Tiga buah sensor YL-69 digunakan sebagai pendeteksi kelembaban tanah pada
tiga pot tanaman yang berbeda. Ketiga sensor masing-masing terhubung pada
pin analog A0, A1, dan A2 ADC ADS1115.
3. ADS1115 digunakan sebagai alat untuk mengkonversi nilai sinyal analog yang
dihasilkan oleh ketiga sensor YL-69 menjadi sinyal digital.
4. Rangkaian sensor DHT22 yang terdiri dari satu buah DHT22 dan satu buah
resistor dengan nilai 10Kohm digunakan sebagai pendeteksi temperatur dan
kelembaban udara disekitar tanaman.
5. Water Pump 12V DC digunakan sebagai pemompa air dari tempat
penampungan air ke tanaman yang akan disiram.
6. Motor Driver L298N Dual H-Bridge digunakan sebagai pengendali kecepatan
dan arah perputaran motor DC yang berada dalam water pump 12V DC.
Semakin kencang perputaran motor DC maka akan membuat aliran air semakin
kencang.
7. Motor Servo digunakan sebagai alat untuk mengarahkan pipa air ke tanaman
yang akan disiram. Jika tanaman 1 yang akan disiram maka servo akan berputar
mengarahkan pipa air ke posisi 0°. Jika tanaman 2 yang akan disiram maka
servo akan mengarahkan pipa air ke posisi 90° dan jika tanaman 3 yang akan
disiram maka servo akan mengarahkan pipa air ke posisi 180°.
43
b. Perancangan Perangkat Lunak (Software)
Pada sistem penyiram tanaman otomatis ini perancangan perangkat lunak
dibagi menjadi tiga bagian. Pertama yaitu perancangan program pada Raspberry Pi
3 Model B+ untuk mengontrol seluruh perangkat keras dan mengirim data pada
ThingSpeak. Kedua, perancangan channel pada ThingSpeak untuk menyimpan data
sensor yang dikirim oleh Raspberry Pi. Dan yang ketiga perancangan tampilan
aplikasi Android pada Kodular untuk memonitoring data sensor dan pengendali
proses penyiraman.
1) Pemograman Raspberry Pi 3 Model B+
Pada sistem ini bahasa pemograman yang digunakan ialah bahasa
pemograman Python 3. Program ini akan mengatur seluruh aktifitas pengiriman dan
pembacaan data pada ThingSpeak serta mengontrol kerja seluruh komponen yang
terhubung pada Raspberry Pi 3 Model B+. Program ini memiliki beberapa bagian
diantaranya, pemanggil fungsi-fungsi library, inisialisasi pin GPIO, setup PWM
Servo dan water pump, fungsi pembacaan tanggal dan waktu, fungsi pembacaan
nilai sensor DHT22, fungsi pembacaan nilai sensor YL-69 berserta konversi nilai
dari analog menjadi persentase, fungsi pembacaan seluruh nilai sensor, fungsi
pembacaan nilai channel status servo, dan fungsi program utama pengulangan
setiap lima belas detik yang terdiri dari program pengiriman data pada thingspeak,
serta program untuk mengontrol penyiraman ketika memenuhi kondisi yang telah
ditentukan. Pada program ini proses penyiraman mulai dilakukan ketika kondisi
kelembaban tanah telah mencapai kurang dari 60% dan penyiraman akan berhenti
44
secara otomastis ketika kelembaban tanah telah mencapai 80%. Adapun tahapan
sistem kerja pada pemograman Python ialah sebagai berikut:
1. Raspberry Pi 3 Model B+ melakukan inisialisasi terhadap seluruh komponen
yang digunakan pada sistem, diantaranya sensor DHT22, Sensor YL-69, Motor
Driver L298N H-Bridge, Water Pump 12V DC dan Servo.
2. Kelima Sensor yaitu satu sensor DHT22 dan tiga sensor YL-69 mengambil data
berupa sinyal digital dan analog dari lingkungan.
3. Raspberry Pi 3 Model B+ medapatkan data sinyal analog dan sinyal digital yang
terbaca oleh sensor. Dan kemudian melakukan konversi data sinyal analog
kedalam bentuk sinyal digital selanjutkan proses konversi dilanjutkan dengan
merubah nilai menjadi nilai persentase.
4. Setelah seluruh data didapatkan, selanjutnya sistem akan melakukan inisalisasi
terhadap Server ThingSpeak.
5. Kemudian fungsi paket update data (yang berisi data temperatur, kelembaban
udara, persentase ketiga kelembaban tanah, dan status servo) akan dikirimkan
melalui jaringan internet yang telah terhubung pada Raspberry Pi 3 Model B+.
Selanjutnya proses autentikasi dilakukan oleh ThingSpeak.
6. Channel Status Servo pada ThingSpeak akan ter-update dengan seluruh paket
data yang telah dikirim oleh Raspberry Pi 3 Model B+.
7. Raspberry Pi 3 Model B+ membaca Channel Status Servo ThingSpeak yang
berisikan data dengan nilai 0, 1, 2, atau 3.
8. Jika data yang terbaca 1, 2 atau 3 maka Raspberry Pi 3 Model B+ akan
mengaktifkan servo dan mengaktifkan Water Pump. Servo akan berputar
45
kearah 0° jika data yang terbaca 1, servo akan berputar ke posisi 90° jika data
yang terbaca 2, dan servo akan berputar ke posisi 180° jika data yang terbaca 3.
9. Water pump akan terus memompa air sampai sensor YL-69 mendeteksi
kelembaban tanah sama atau melebihi 80%. Setelah mecapai nilai 80% maka
Water pump dan servo akan mati. Selanjutnya status servo berubah menjadi 0.
10. Apabila sistem masih aktif, maka Raspberry Pi 3 Model B+ akan terus
mengambil data sensor dan kemudian mengirimkan data tersebut ke
ThingSpeak dan melakukan tugas yang sama sampai sistem sudah berhenti.
46
Gambar 3.6 Diagram Alir Pemograman Python
2) Perancangan Channel ThingSpeak
Pada sistem ini penulis menggunakan ThingSpeak Cloud sebagai tempat
untuk penyimpanan seluruh data sensor dan sebagai sebuah ‘media’ bagi
Smartphone untuk mendapatkan data sensor yang dikirimkan oleh Raspberry Pi 3
Model B+. Ada beberapa tahapan dalam pembuatan Channel ThingSpeak untuk
47
mendapatkan Api keys yang akan digunakan pada program pengiriman data,
diantaranya ialah sebagai berikut:
1. Membuat akun ThingSpeak pada https://thingspeak.com/users/sign_up dengan
memasukkan data berupa email, lokasi, nama depan, dan nama belakang.
Gambar 3.7 Pembuatan akun ThingSpeak
2. Setelah pembuatan akun selesai, selanjutnya verifikasi melalui email yang telah
didaftarkan pada saat pembuatan akun ThingSpeak. Klik link pada pesan masuk
yang dikirimkan oleh [email protected].
Gambar 3.8 Verifikasi Akun ThingSpeak
48
3. Setelah proses verifikasi selesai selanjutnya pengguna telah dapat membuat
Channel baru dengan cara masuk ke Homepage lalu pilih My Channel.
Gambar 3.9 Halaman Pembuatan Channel Baru
4. Pada satu Channel pengguna dapat membuat field sebanyak delapan buah.
Adapun isi form dalam pembuatan Channel ialah nama Channel, deskripsi
singkat tentang Channel yang akan digunakan, dan nama data yang akan
ditampilkan.
Gambar 3.10 Form Pembuatan Channel Baru
5. Setelah pembuatan Channel baru selesai, selanjutnya pengguna dapat melihat
tampilan dalam bentuk grafik.
49
Gambar 3.11 Halaman Tampilan Status Channel
6. Mendapatkan ID Channel yang akan digunakan untuk menghungkan prangkat
dengan ThingSpeak.
Gambar 3.12 Channel ID
7. Mendapatkan Read and Write API yang juga akan digunakan pada program
pengiriman dan pembacaan data.
50
Gambar 3.13 API Key Channel Status Sensor & Servo
3) Perancangan Tampilan Aplikasi pada Kodular
Perancangan aplikasi Android dilakukan untuk menjadikan Smartphone
sebagai kendali awal penyiraman dan sebagai tampilan untuk memonitoring data
sensor. Untuk pembuatan aplikasi Android penulis menggunakan software Kodular
berbasis web secara online. Perancangan aplikasi pada kodular dibagi menjadi dua
bagian, bagian pertama ialah perancangan default tampilan pada layar Smartphone
dan perancangan program aplikasi dalam bentuk diagram blok untuk memberikan
perintah atau fungsi pada setiap fitur yang ada di tampilan layar.
51
Gambar 3.14 Halaman Perancangan Tampilan
Gambar 3.15 Halaman Perancangan Blok Program
Adapun rancangan sistem pada aplikasi Android digambarkan pada diagram alir
dibawah ini:
52
Gambar 3.16 Diagram Alir Program Aplikasi Android
Setelah rancangan tampilan maupun rancangan program telah selesai,
selanjutnya pengguna dapat menginstal aplikasi pada Smartphone dengan cara
mengklik Eksport dan kemudian pilih Save apk to my computer dengan demikian
apk akan terunduh pada computer pengguna secara otomatis. Setelah file selesai
diunduh selanjutnya kirim file apk ke Smartphone pengguna dan kemudian instal.
Setelah proses instalasi selesai maka pengguna dapat menguji sistem secara
keseluruhan untuk mengetahui sistem berjalan dengan baik atau tidak.
3.3.3 Metode Pengambilan Data
Setelah semua tahapan perancangan sistem selesai, tahapan selanjutnya
ialah melakukan analisis pada setiap data pengujian. Analisis data pengujian
dilakukan agar setiap masalah yang telah penulis rumuskan pada rumusan masalah
dapat terjawab. Adapun beberapa pengujian yang dilakukan untuk memperoleh
data diantaranya ialah pengujian sensor DHT22, karakterisasi serta pengujian
53
sensor YL-69, pengujian kesesuaian waktu update data dari Raspberry Pi 3 Model
B+ ke ThingSpeak, dan pengujian kecepatan respon alat dalam menanggapi
perintah yang diberikan melalui Smartphone.
Untuk menentukan kesalahan atau error dari pembacaan nilai sensor
dihitung melalui rumus dibawah ini:
𝑒𝑟𝑟𝑜𝑟 = |𝑋 − 𝑋𝑖| (2)
% 𝑒𝑟𝑟𝑜𝑟 = |(𝑋 − 𝑋𝑖)
𝑋× 100%| (3)
X = Data Sebenarnya
Xi = Data Terukur
% error = Persentase Kesalahan
Untuk menentukan nilai presisi dari pebacaan nilai sensor dapat dihitung
melalui rumus standar deviasi dibawah ini:
Standar Deviasi = √𝛴(𝑥𝑖−��)2
𝑛−1
(4)
54
BAB IV
HASIL DAN PEMBAHASAN
Pada bab ini penulis akan menjelaskan hasil analisis data yang diperoleh
setelah melakukan implementasi dan pengujian perangkat. Implementasi yang
dilakukan ialah menjalankan fungsi sistem secara menyeluruh dengan
meggabungkan fungsi masing-masing dari perangkat lunak dan perangkat keras
sesuai dengan perancangan pada Bab 3. Proses analisis terhadap sistem secara
keseluruhan dilakukan dengan beberapa pengujian parameter. Berikut hasil
implementasi dan analisis dari pengujian sistem yang telah dilakukan:
4.1 Hasil Perancangan Perangkat Keras (Hardware)
Pengimplementasian perangkat keras didasarkan pada perancangan sistem
yang sesuai dengan perancangan pada Bab 3. Implementasi akhir perangkat keras
sistem penyiraman otomatis dapat dilihat pada Gambar 4.1 dibawah ini:
Gambar 4.1 Hasil Implementasi Perangkat Keras
55
Rancangan perangkat keras yang telah diimplementasikan terdiri dari 6
bagian, yaitu:
1. Raspberry Pi 3 Model B+ yang digunakan sebagai pusat kendali sistem.
2. Rangkaian sensor DHT22 dan resistor 10K yang digunakan untuk mendeteksi
temperatur dan kelembaban udara sekitar.
3. Rangkaian ADS1115 dan 3 buah sensor YL-69 yang digunakan untuk
mendeteksi sekaligus mengkonversi nilai kelembaban tanah dari sinyal analog
ke sinyal digital
4. Rangkaian Motor Driver L298N H-Bridge yang dihubungkan dengan Water
Pump dan Power Adapter 5V digunakan untuk mengontrol Water Pump
5. Water Diaphragm Pump DC 12V R385 digunakan untuk memompa air dari
penampungan air ke tanaman yang akan disiram.
6. Motor Servo SG-90 yang digunakan untuk mengarahkan pipa pada tanaman
yang akan disiram
Perangkat keras pada Gambar 4.1 akan dihubungkan ke ThingSpeak melalui
jaringan internet yang telah tehubung pada Raspberry Pi 3 Model B+ sehingga
pengguna dapat melakukan monitoring data dan mengontrol awal penyiraman
melalui Smartphone Android.
4.2 Hasil Perancangan Perangkat Lunak (Software)
Pada penelitian sistem penyiraman tanaman otomatis ini, terdapat tiga
perancangan Software, diantaranya perancangan pemograman pada Raspberry Pi 3
Model B+ untuk menjalankan dan mengontrol perangkat keras, perancangan
Channel ThingSpeak untuk penyimpanan data sebagai perantara pengiriman data
56
antara Raspberry Pi 3 Model B+ dengan Smartphone, dan perancangan tampilan
Aplikasi Smartphone untuk memonitoring sebagai pengontrol awal penyiraman
tanaman.
4.2.1 Hasil Perancangan Program pada Raspberry Pi 3 Model B+
Terdapat dua buah program yang telah penulis rancang untuk dapat
menjalankan sistem seperti yang diinginkan. Pada program pertama terdapat fungsi
pembacaan data sensor DHT22, YL-69, status servo dan fungsi pengiriman data
pada ThingSpeak. Pada program kedua terdapat fungsi untuk meangaktifkan serta
mengontrol perputaran arah servo dan mengontrol proses penyiraman berdasarkan
perintah yang dikirimkan oleh pengguna melalui Smartphone. Pembuatan dua buah
program secara terpisah ini disebabkan oleh salah satu kelemahan dari ThingSpeak,
dimana ThingSpeak hanya dapat menerima update data per lima belas detik.
Kelemahan tersebut akan mempengaruhi kecepatan respon alat dalam
mengeksekusi perintah yang diberikan melalui Smartphone jika program
pengiriman dan pembacaan data pada masing-masing Channel ThingSpeak
disatukan.
Gambar 4.2 Hasil Program Pengiriman Data ke ThingSpeak
57
Gambar 4.2 diatas merupakan hasil keluaran dari program yang pertama.
Apabila seluruh data berhasil dikirim pada ThingSpeak, maka program akan
mencetak tanggal, data, dan status penyiraman seperti yang terlihat pada gambar
4.2. Pengiriman data dilakukan otomatis oleh sistem dengan rentang waktu
pengiriman per 15 sampai 30 detik. Selain disebabkan oleh pengaturan delay
program selama 15 detik, lama rentang waktu pengiriman juga disebabkan oleh
Raspberry Pi 3 Model B+ yang membutuhkan waktu sekitar 2 sampai 5 detik untuk
membaca keseluruhan data sensor. Pada kolom penyiraman dapat dilihat angka
yang tertulis ialah 0 dan 3. Angka 0 menandakan bahwa proses penyiraman tidak
berjalan atau off, sedangkan angka 3 menandakan bahwa alat sedang melakukan
proses penyiraman pada tanaman 3.
Gambar 4.3 Hasil Program Pembacaan Data pada ThingSpeak
58
Gambar 4. 3 merupakan hasil keluaran dari program kedua. Program kedua
memiliki fungsi untuk membaca data pada channel Status Penyiraman yang
merupakan perintah dari pengguna melalui aplikasi Android. Selain itu, program
kedua juga memiliki fungsi untuk mengaktifkan water pump dan mengatur
perputaran arah servo berdasarkan perintah yang diberikan oleh pengguna. Apabila
pengguna tidak memberikan perintah penyiraman maka akan terbaca atau tertulis
pada kolom Menyiram “off” yang berarti proses penyiraman tidak aktif atau mati.
Dan apabila Raspberry Pi 3 Model B+ membaca ada perintah dari pengguna maka
Raspberry Pi 3 Model B+ akan mengaktifkan water pump dan mengatur putaran
servo sesuai dengan perintah yang dibaca. Pada kolom Menyiram tertulis ‘Tanaman
3’ ini berarti bahwa Raspberry Pi 3 Model B+ sedang mengaktikan penyiraman
dengan menghidupkan water pump dan memutar arah servo kearah tanaman 3.
Begitupun apabila yang tertulis ‘Tanaman 1’ ataupun ‘Tanaman 2’ maka Raspberry
Pi Model B+ akan menghidupkan water pump dan mengatur arah putaran servo ke
tanaman 1 ataupun tanaman 2. Kemudian apabila kelembaban tanah telah mencapai
batas maksimal maka proses penyiraman akan berhenti dan Raspberry Pi 3 Model
B+ akan mengirimkan data berupa angka 0 pada Channel Status Peyiraman dan
kemudian akan tertulis ‘off’ pada kolom Menyiram.
4.2.2 Hasil Perancangan Channel ThingSpeak
Terdapat dua buah Channel yang dirancang pada ThingSpeak agar sistem
berjalan sesuai dengan perancangan pada Bab 3. Pertama Channel ‘Status Sensor
& Servo’, pada Channel tersebut terdapat enam buah ‘field’ yang terdiri dari
kelembaban udara, temperatur udara, kelembaban tanaman 1, kelembaban tanaman
59
2, kelembaban tanaman 3, dan arah servo. Data pada Channel Status Sensor
merupakan paket data yang dikirimkan oleh Raspberry Pi 3 Model B+. Channel
Kedua ‘Status Penyiraman’, pada channel ini hanya terdapat satu buah field yang
terdiri dari data yang dikirimkan oleh Aplikasi Smartphone. Data tersebut terdiri
dari nilai 1,2, atau 3. Pada ThingSpeak data di tampilkan daam bentuk grafik,
dimana data diperbaharui atau di input per lima belas detik. Grafik terdiri dari data
yang diterima dan tanggal beserta waktu penerimaan data. Hasil dari rancangan
Channel yang telah dibuat pada ThingSpeak dapat dilihat pada gambar 4.4 dan
gambar 4.5 dibawah ini:
Gambar 4.4 Channel Status Penyiraman
Pada gambar 4.4 diatas dapat dilihat grafik awalnya berada pada nilai 0
kemudian berubah menjadi 3 pada pukul 00:05:24. Hal ini menandakan bahwa
pengguna telah memberikan perintah melalui smartphone untuk melakukan proses
60
penyiraman pada tanaman tiga. Setelah sekitar 1 menit 39 detik, grafik kembali ke
nilai 0, hal ini menandakan bahwa proses penyiraman telah selesai.
Gambar 4.5 Channel Status Sensor & Servo
Dari gambar 4.5 dapat dilihat bahwa pada grafik field 5 atau grafik untuk
kelembaban tanaman 3, sebelum penyiraman dilakukan kelembaban tanah sebesar
53% dan setelah penyiraman selesai kelembaban tanah menjadi 85%.
61
4.2.3 Hasil Perancangan Tampilan Aplikasi pada Kodular
Pembuatan aplikasi Android pada penelitian ini menggunakan software
berbasis web Kodular. Aplikasi ini digunakan pengguna untuk memonitoring data
dan memberikan perintah awal mula penyiraman. Adapun tampilan yang sudah
penulis rancang dapat dilihat pada gambar 4.7 dibawah ini:
Gambar 4.6 Tampilan Aplikasi Android
Tampilan aplikasi diatas terdiri dari beberapa komponen dengan fungsi
yang berbeda-beda. Tampilan pada aplikasi ini hanya terdiri dari satu buah halaman
atau Screen. Halaman ini memiliki fungsi untuk menampilkan data (sensor DHT22,
sensor YL-69, dan status penyiraman) secara real time dan untuk mengendalikan
awal penyiraman tanaman.
62
Gambar 4.7 Komponen Visible Penyusun Tampilan
Dalam halaman ini terdiri dari dua komponen yaitu komponen visible dan
komponen non-visible. Komponen visible merupakan komponen yang terlihat pada
tampilan, sedangkan komponen non-visible komponen pendukung aplikasi yang
tidak terlihat pada tampilan. Komponen visible yang digunakan pada aplikasi yang
telah penulis rancang terdiri dari 1 image, 3 button, dan 24 label. Image 1
merupakan sebuah gambar berfungsi untuk memperindah tampilan aplikasi. Label
pada tampilan disini memiliki dua buah fungsi. Label 1 sampai 15 berfungsi sebagai
judul dan penamaan, sedangkan label 16 sampai 24 berfungsi sebagai tempat untuk
menampilkan data pembacaan sensor, menampilkan pesan serta status penyiraman.
63
Tulisan pada label 16 sampai 24 akan berubah-ubah berdasarkan pada data yang
terbaca dan status penyiraman.
Gambar 4.8 Tampilan Saat Proses Penyiraman Berlangsung
Jika data soil Humidity (label 9, 11, 15) yang terbaca ≤ 60 maka pada label
20, 22, 24 akan muncul tulisan “Soil Humidity is Low”. Dan jika pengguna menekan
button 1, 2, ataupun 3 maka aplikasi akan meng-update data pada channel status
penyiraman dengan nilai 1, 2, ataupun 3. Setelah Raspberry Pi 3 Model B+
menjalankan perintah untuk mengaktifkan proses penyirman sesuai data yang
dibaca pada channel status penyiraman, maka pada label 18 akan muncul tulisan
“watering 1st/2nd/3rd Plant”, tulisan ini akan berubah mejadi “OFF” jika proses
penyiraman telah selesai.
64
4.3 Pengujian Karakteristik Sensor DHT22
Pengujian sensor DHT22 dilakukan untuk mengetahui akurat atau tidaknya
hasil pembacaan dari sensor DHT22. Pengujian dilakukan dengan cara
membandingkan hasil pembacaan sensor DHT22 dalam mendeteksi temperatur dan
kelembaban udara dengan hasil pembacaan dari Termo Hygrometer HTC-2 Y1599.
Pengujian ini dilakukan pada ruangan dengan luas 3.5 meter × 3.5 meter,
menggunakan Air Conditioner (AC) dengan suhu sebesar 27°C. Pengujian ini
dilakukan dengan menempelkan Termo Hygrometer pada DHT22 yang kemudian
data diambil sebanyak 10 kali dengan rentang waktu lima menit setiap pengambilan
data. Adapun hasil dari pengujian yang telah dilakukan dapat dilihat pada tabel 4.1
dibawah ini:
Tabel 4.1 Hasil Perbandingan Pembacaan Nilai Temperatur dan Kelembaban Udara oleh
DHT22 dan HTC-2
No Waktu DHT22 HTC-2
T (˚C) H(%) T (˚C) H(%)
1 1:31:49 PM 27.7 56.3 27.8 58
2 1:36:49 PM 27.5 56.5 27.9 58
3 1:41:49 PM 27.3 56.7 27.8 58
4 1:46:49 PM 27.2 56.8 27.6 58
5 1:51:49 PM 27.2 56.6 27.4 57
6 1:56:49 PM 27 56.6 27.4 57
7 1:01:49 PM 27 56.6 27.4 57
8 2:06:49 PM 26.8 56.6 27.4 57
9 2:11:49 PM 26.8 56.9 27.2 57
10 2:11:49 PM 26.9 57 27.2 57
Rata-Rata 27.14 56.66 27.51 57.4
65
Tabel 4.2 Hasil Perhitungan Persentase Error pada DHT22
No DHT22 HTC Selisih Error (%)
T (˚C) H(%) T (˚C) H(%) T (˚C) H(%) T (˚C) H(%)
1 27.7 56.3 27.8 58 0.10 1.70 0.36 2.93
2 27.5 56.5 27.9 58 0.40 1.50 1.43 2.59
3 27.3 56.7 27.8 58 0.50 1.30 1.80 2.24
4 27.2 56.8 27.6 58 0.40 1.20 1.45 2.07
5 27.2 56.6 27.4 57 0.20 0.40 0.73 0.70
6 27 56.6 27.4 57 0.40 0.40 1.46 0.70
7 27 56.6 27.4 57 0.40 0.40 1.46 0.70
8 26.8 56.6 27.4 57 0.60 0.40 2.19 0.70
9 26.8 56.9 27.2 57 0.40 0.10 1.47 0.18
10 26.9 57 27.2 57 0.30 - 1.10 0.00
Rata-rata 27.14 56.66 27.51 57.4 0.37 0.74 1.35 1.28
Dari tabel diatas dapat dikatakan bahwa sensor DHT22 yang digunakan
cukup akurat karena memiliki nilai error rata-rata sebesar 1.35% untuk pembacaan
temperatur dan 1.28% untuk pembacaan kelembaban udara. Berdasarkan nilai rata-
rata error tersebut dapat diketahui nilai ketelitian DHT22 sebesar 98.65% untuk
pembacaan temperatur dan 98.72% untuk pembacaan kelembaban udara.
Tabel 4.3 Perhitungan Standar Deviasi Sensor DHT22
Data ke-(n) Selisih (𝑥) (𝑥𝑖 − ��) (𝑥𝑖 − ��)2
T (˚C) H(%) T (˚C) H(%) T (˚C) H(%)
1 0.1 1.7 -0.27 0.96 0.07 0.92
2 0.4 1.5 0.03 0.76 0.00 0.58
3 0.5 1.3 0.13 0.56 0.02 0.31
4 0.4 1.2 0.03 0.46 0.00 0.21
5 0.2 0.4 -0.17 -0.34 0.03 0.12
6 0.4 0.4 0.03 -0.34 0.00 0.12
7 0.4 0.4 0.03 -0.34 0.00 0.12
8 0.6 0.4 0.23 -0.34 0.05 0.12
9 0.4 0.1 0.03 -0.64 0.00 0.41
10 0.3 0 -0.07 -0.74 0.00 0.55
Σ 3.7 7.4 0.00 0.00 0.18 3.44
Rata-rata 0.37 0.74 - - 0.018 0.344
STDV Temperatur = ±0.14 Kelembaban = ±0.38
66
Dari tabel 4.3 diatas dapat dihitung sensor DHT22 memiliki besar nilai
standar deviasi sebesar ±0.14 untuk pengukuran temperatur udara dan ±0.38 untuk
pengukuran kelembaban udara.
4.4 Pengujian Karakteristik Sensor YL-69
Pengujian sensor YL-69 dilakukan untuk mengetahui cara kerja sensor
kelembaban tanah dan untuk mengetahui akurat atau tidaknya hasil dari pembacaan
sensor YL-69. Pengujian dilakukan dengan enam variasi pengambilan data, yaitu
pengujian pada tanah tanah kering dengan berat 100gr, pengujian pada tanah kering
100gr yang diberikan air sebanyak 10ml, 40ml, 70ml, 100ml, dan pengujian pada
air 600ml. Data diambil sebanyak 10 kali untuk setiap variasi pengujian. Hasil
pembacaan sensor YL-69 kemudian dibandingkan dengan hasil perhitungan
manual dan hasil pengukuran dari alat ukur kondisi tanah yang telah terkalibrasi
pabrik. Untuk perhitungan manual kelembaban tanah dihitung menggunakan rumus
pada persamaan (1), sedangkan untuk hasil pengukuran dengan alat ukur, penulis
menggunakan 3 in 1 soil meter.
Hasil dari pengujian dan perhitungan yang telah dilakukan dapat dilihat pada
tabel 4.4 dibawah ini:
67
Tabel 4.4 Perhitungan Ketepatan Sensor YL-69
No Variasi YL-69
(%)
Soil
Meter
(%)
Selisih
(𝑥) (𝑥𝑖 − ��) (𝑥𝑖 − ��)2
1 Tanah Kering 0 0 0 0.8 0.64
2 Tanah Kering
+ 10 ml Air 7.8 9 1.2 2 4
3 Tanah Kering
+ 40 ml Air 35.9 38 2.1 2.9 8.41
4 Tanah Kering
+ 70 ml Air 71.6 69 -2.6 -1.8 3.24
5 Tanah Kering
+ 100 ml Air 97.5 96 -1.5 -0.7 0.49
6 600 ml Air 93 89 -4 -3.2 10.24
Σ 305.8 301 -4.8 0 27.02
Rata-rata 50.97 50.17 -0.8 - 4.5
STDV ±5.4
Dari tabel diatas dapat diketahui bahwa semakin banyak air yang
terkandung pada tanah maka akan semakin tinggi nilai kelembaban yang terdeteksi
oleh sensor YL-69. Dari pengujian perbandingan hasil pembacaan sensor YL-69
dengan hasil pengukuran soil meter memiliki error terendah sebesar 0% untuk
pengukuran pada tanah kering dan error tertinggi sebesar 13.33% untuk
pengukuran pada tanah kering + 10ml air. Sehingga rata-rata error didapatkan
sebesar 4.78%. Dari nilai error rata-rata tersebut dapat diketahui bahwa ketelitian
sensor YL-69 yang digunakan sebesar 95.22%. Sensor YL-69 memiliki besar nilai
standar deviasi sebesar ±5.4.
68
4.5 Pengujian Kesesuaian Waktu Update Data antara Raspberry Pi 3 Model
B+ dengan ThingSpeak
Pengujian ini dilakukan untuk mengetahui kesesuaian antara waktu
pengiriman data oleh Raspberry Pi 3 Model B+ dengan waktu update data oleh
ThingSpeak. Pada pengujian ini diambil sepuluh sampel data, yang kemudian hasil
selisih waktu diketahui dari pengurangan waktu update data ThingSpeak dengan
waktu pengiriman data oleh Raspberry Pi 3 Model B+. Adapun hasil dari pengujian
ini ditunjukkan pada tabel 4.5 dibawah ini:
Tabel 4.5 Hasil Pengujian Kesesuaian Waktu Update Data
Data
Ke-
Raspberry Pi 3 Model B+ ThingSpeak Selang
Waktu
(detik) Waktu Temperatur
Udara (˚C)
Waktu Temperatur
Udara(˚C)
1 12:51:53 PM 26.4 12:51:54 PM 26.4 1
2 12:52:17 PM 26.4 12:52:19 PM 26.4 2
3 12:52:37 PM 26.4 12:52:38 PM 26.4 1
4 12:52:57 PM 26.4 12:52:58 PM 26.4 1
5 12:53:19 PM 26.4 12:53:20 PM 26.4 1
6 12:53:38 PM 26.4 12:53:40 PM 26.4 2
7 12:54:00 PM 26.3 12:54:01 PM 26.3 1
8 12:54:22 PM 26.3 12:54:23 PM 26.3 1
9 12:54:42 PM 26.3 12:54:43 PM 26.3 1
10 12:55:04 PM 26.3 12:55:05 PM 26.3 1
Rata-Rata 26.36 26.36 1.2
Dari tabel di atas dapat diketahui bahwa dari 10 kali pengambilan data
didapatkan selisih waktu antara pengiriman data oleh Raspberry Pi 3 Model B+
dengan penerimaan data oleh ThingSpeak rata-rata sebesar 1.2 detik.
69
4.6 Pengujian Kecepatan Respon Alat terhadap Perintah yang diberikan
oleh Pengguna Melalui Smartphone
Pengujian ini dilakukan untuk mengetahui kecepatan sistem dalam
mengaktifkan proses penyiraman terhadap perintah yang diberikan pengguna
melalui aplikasi Smartphone. Pengujian ini dilakukan dengan melihat selisih waktu
dari sesaat setelah pengguna memberikan perintah sampai pada aktifnya proses
penyiraman. Pengujian ini dilakukan dengan mengambil sampel sebanyak 10 kali
untuk mengetahui rata-rata waktu yang dibutuhkan sistem untuk mengaktifkan
proses penyiraman. Adapun hasil dari pengujian tersebut ditunjukkan pada tabel 4.6
dibawah ini:
Tabel 4.6 Hasil Pengujian Kecepatan Respon Alat
Sampel
Ke-
Waktu Update Data Waktu
Respon
Alat
(detik) Smartphone ThingSpeak
Raspberry Pi 3
Model B+
1 12:46:45 PM 12:46:46 PM 12:46:47 PM 2
2 1:01:15 PM 1:01:16 PM 1:01:17 PM 2
3 1:03:25 PM 1:01:26 PM 1:01:27 PM 2
4 1:04:51 PM 1:04:52 PM 1:03:27 PM 2
5 1:06:45 PM 1:06:46 PM 1:06:47 PM 2
6 1:08:26 PM 1:08:27 PM 1:08:28 PM 2
7 1:10:00 PM 1:10:01 PM 1:10:02 PM 2
8 1:13:25 PM 1:13:26 PM 1:13:27 PM 2
9 1:14:50 PM 1:14:51 PM 1:14:52 PM 2
10 1:17:45 PM 1:17:46 PM 1:17:47 PM 2
Rata-Rata 2
Dari tabel diatas dapat dikatakan bahwah respon alat cukup cepat karena
dari 10 kali pengambilan data waktu yang dibutuhkan alat untuk merespon perintah
yang diberikan pengguna melalui aplikasi sekitar 2 detik.
70
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil dan pembahasan yang telah diulas pada bab sebelumnya, maka
dapat disimpulkan bahwa:
1. Telah berhasil merancang alat penyiram tanaman otomatis berbasis Raspberry
Pi 3 Model B+ dan smartphone Android sebagai kendali jarak jauh.
2. Hasil karakterisasi pada 2 jenis sensor yang digunakan yaitu sensor DHT 22 dan
sensor YL-69. DHT22 memiliki ketelitian sebesar 98.65% dan standar deviasi
sebesar ±0.14 untuk pengukuran temperatur udara dan ketelitian sebesar
98.72% dan standar deviasi ±0.38 untuk pembacaan kelembaban udara. YL-69
memiliki ketelitian rata-rata sebesar 95.22%. dan standar deviasi sebesar ±5.4.
3. Data yang ter-update pada ThingSpeak sesuai dengan data yang dikirimkan oleh
Raspberry Pi 3 Model B+. Terdapat selisih waktu sebsar 1.2 detik pada waktu
pengiriman data oleh Raspberry Pi 3 Model B+ dan waktu penerimaan data
oleh ThingSpeak.
4. Alat penyiraman tanaman otomatis yang telah dirancang memiliki kecepatan
respon sebesar 2 detik, terhitung dari waktu pengguna memberikan perintah
melalui Aplikasi Smartphone sampai alat memulai proses penyiraman.
71
5.2 Saran
Untuk dapat mengembangkan sistem alat penyiram tanaman otomatis ini pada
penelitian selanjutnya, terdapat beberapa hal yang penulis sarankan untuk
dilakukan diantaranya:
1. Menambahkan sistem notifikasi pada aplikasi sehingga pengguna tidak perlu
membuka aplikasi terlebih dahulu untuk mengetahui tanamannya butuh disiram
atau tidak.
2. Menambahkan Water Level Control pada tangki penyimpanan air untuk mengisi
tangki penyimpanan air secara otomatis.
3. Menambahkan Logika Fuzzy pada sistem sehingga dapat menentukan
banyaknya air yang dibutukan oleh setiap tanaman berdasarkan pada
kelembaban tanah dan cuaca sekitar tanaman.
72
DAFTAR REFERENSI
[1] S. Anggorowati and T. Hardiyanti, FISIOLOGI TUMBUHAN, 2nd ed.
Jakarta, 2010.
[2] T. K. Shifa, “Moisture Sensing Automatic Plant Watering System Using
Arduino Uno Tasneem Khan Shifa American Journal of Engineering
Research ( AJER ),” no. 7, pp. 326–330, 2018.
[3] J. M. S. Waworundeng, N. C. Suseno, and R. R. Y. Manaha, “Perancangan
Alat Penyiram Tanaman Otomatis berbasis Sensor dan Mikrokontroler,” no.
November, p. ISSN : 2598-4969, 2017.
[4] K. Y.-D. Yl-, T. Elektro, U. Sam, R. Manado, and J. K. B. Manado, “Rancang
Bangun Penyiram Tanaman Berbasis Arduino Uno Menggunakan Sensor,”
vol. 7, no. 3, 2018.
[5] A. Zainuri, U. Wibawa, and E. Maulana, “Implementasi Bluetooth HC – 05
untuk Memperbarui Informasi Pada Perangkat Running Text Berbasis
Android,” vol. 9, no. 2, pp. 163–167, 2015.
[6] S. Madakam, “Internet of Things: Smart Things,” Int. J. Futur. Comput.
Commun., vol. 4, no. 4, pp. 250–253, 2015, doi: 10.7763/ijfcc.2015.v4.395.
[7] S. Shastri, A. Mohemmed, and A. Hegde, “Real Time Weather Analysis
Using ThingSpeak,” Int. J. Pure Appl. Math. MIT, vol. 120, no. 6, pp. 661–
682, 2018.
[8] S. Pasha, “Thingspeak Based Sensing and Monitoring System for IoT with
Matlab Analysis,” Int. J. New Technol. Res., vol. 2, no. 6, pp. 19–23, 2016,
doi: ISSN : 2454-4116.
[9] R. Nave, “What is Temperature?” . [Daring]. Tersedia pada:
http://hyperphysics.phy-astr.gsu.edu/hbase/thermo/temper.html.
[10] OpenStax, “Thermometers and Temperature Scales.” .Tersedia pada:
https://phys.libretexts.org/Courses/Joliet_Junior_College/Physics_201_-
_Fall_2019/Book%3A_Physics_(Boundless)/11%3A_Temperature_and_Ki
netic_Theory/11.01%3A_Temperature_and_Heat/Thermometers_and_Tem
perature_Scales.
[11] nationalgeographic, “Humidity.” . Tersedia pada:
https://www.nationalgeographic.org/encyclopedia/humidity/
[12] EDinformatics, “What is humidity?” . Tersedia pada:
https://www.edinformatics.com/math_science/what-is-humidity.html.
73
[13] J. L. Hatfield and J. H. Prueger, “Temperature extremes: Effect on plant
growth and development,” Weather Clim. Extrem., vol. 10, pp. 4–10, 2015,
doi: 10.1016/j.wace.2015.08.001.
[14] Gloreen, “EFFECTS OF TEMPERATURE ON PLANT GROWTH.”
[Online]. Available: https://www.gloreen.com/effects-of-temperature-on-
plant-growth/. [Accessed: 14-Jan-2020].
[15] rank B. Salisbury and C. W. Ross, Fisiologi tumbuhan jilid 3 :
perkembangantumbuhan dan fisiologi lingkungan. Bandung : ITB, 1995.
[16] B. Lakitan, Fisiologi Tumbuhan. Jakarta: PT. RajaGrafindo Persada, 1993.
[17] M. Mustafa, Dasar-dasar Ilmu Tanah. Makassar: FAKULTAS
PERTANIAN UNIVERSITAS HASANUDDIN, 2012.
[18] D. Rahmawati, F. Herawati, and G. Saputra, “Karakterisasi Sensor
Kelembaban Tanah ( YL-69 ) Untuk Otomatisasi Penyiraman Tanaman
Berbasis Arduino Uno,” pp. 92–97.
[19] Qqtrading.com, “Soil Moisture Sensor YL-69 Hygrometer w/ HC-38
Module Board LM393.” .
[20] R. Road, R. Town, and B. District, “Aosong ( Guangzhou ) Electronics Co .,
Ltd Application : Aosong ( Guangzhou ) Electronics Co ., Ltd,” pp. 1–7.
[21] T. DiCola, “ADS1015/ADS1115.” Tersedia pada:
https://learn.adafruit.com/raspberry-pi-analog-to-digital-
converters/ads1015-slash-ads1115.
[22] Cytron, “4 CH 16-bit ADS1115 ADC Module.” . Tersedia pada:
https://www.cytron.io/p-4-ch-16-bit-ads1115-adc-module.
[23] Gikfun, “Gikfun Mini DC 6V to 12V R385 Aquarium Fish Tank Water
Cooled Water Air Diaphragm Pump EK1856.” . Tersedia pada:
https://www.amazon.com/Gikfun-Aquarium-Cooled-Diaphragm-
EK1856/dp/B0744FWNFR.
[24] NSW Farmers, “Water pumps: the unrecognised mainstay of agriculture.”
Tersedia pada:
https://www.aginnovators.org.au/initiatives/energy/information-
papers/understanding-water-pumps. [Diakses: 19-Okt-2019].
[25] I. David, “How an Electric Water Pump Works.” Tersedia pada:
https://www.hunker.com/13409072/how-an-electric-water-pump-works.
[26] Kitronik, “Water Pump 6V - 12V with 1m silicone tube.” . Tersedia pada:
74
https://www.kitronik.co.uk/2567-water-pump-6v-12v-with-1m-silicone-
tube.html.
[27] Tower_Pro, “TowerPro SG90 Servo.” Tersedia pada:
https://servodatabase.com/servo/towerpro/sg90.
[28] Jameco, “How Do Servo Motors Work?” . Tersedia pada:
https://www.jameco.com/jameco/workshop/howitworks/how-servo-motors-
work.html.
[29] Dejan, “How Servo Motors Work & How To Control Servos using Arduino,”
2018. . Tersedia pada: https://howtomechatronics.com/how-it-works/how-
servo-motors-work-how-to-control-servos-using-arduino/.
[30] Apoorve, “Servo Motor: Basics, Theory & Working Principle,” 2015.
Tersedia pada: https://circuitdigest.com/article/servo-motor-basics.
[31] H. Technology, “L298N Dual H-Bridge Motor Driver,” pp. 1–7.
[32] A. Suranata, “[LENGKAP] 5 Model Raspberry Pi Beserta Perbandingan dan
Spesifikasinya,” 2015. [Online]. Available:
https://tutorkeren.com/artikel/lengkap-5-model-raspberry-pi-beserta-
perbandingan-dan-spesifikasinya.htm. [Accessed: 09-Jul-2018].
[33] M. Richardson and S. Wallace, Getting_Started_with_Raspberry_Pi.pdf. .
[34] Element, “Element14 Raspberry Pi 3 B+ Motherboard,” 2018. [Online].
Available: https://www.amazon.ca/ELEMENT-Raspberry-Pi-Model-
Motherboard/dp/B07BDR5PDW.
[35] Raspberry Pi Foundation, “Raspberry Pi 3 Model B,” Raspberry Pi Website,
p. 2837, 2016.
[36] P. F. Raspberry, “GPIO.” [Online]. Available:
https://www.raspberrypi.org/documentation/usage/gpio/README.md.
[37] Microsoft, “Raspberry Pi 2 & 3 Pin Mappings,” 2017. [Online]. Available:
https://docs.microsoft.com/en-us/windows/iot-core/learn-about-
hardware/pinmappings/pinmappingsrpi.
[38] Andrew Johansen, “Python The Ultimate Beginner’s Guide,” p. 79, 2016.
[39] M. Dawson, Python Programming for the Absolute Beginner. 2003.
[40] ThingSpeak, “About ThingSpeak.” . Tersedia pada: https://thingspeak.com/.
[41] Libelium, “Libelium adds compatibility with ThingSpeak as a new cloud
partner for easy development of IoT apps,” 2018. . Tersedia pada:
http://www.libelium.com/libelium-adds-compatibility-with-thingspeak-as-
75
a-new-cloud-partner-for-easy-development-of-iot-apps/#!prettyPhoto.
[42] T. Comminuity, “Introduction to the ‘Internet of Things’ and ThingSpeak.”
. Tersedia pada: https://community.thingspeak.com/tutorials/introduction-
to-the-“internet-of-things”-and-thingspeak/.
[43] M. A. G. Maureira and L. Teernstra, “ThingSpeak – an API and Web Service
for the Internet of Things,” 2020.
[44] I. Shabir, H. Abelson, and B. Xie, “App Inventor to Create Mobile
Applications Measuring the Usability and Capability of App Inventor to
Create Mobile Applications,” 2015.
[45] K. Docs, “Understanding Kodular.” . Tersedia pada:
https://docs.kodular.io/guides/.
[46] K. Docs, “Building your first app with Kodular.” . Tersedia pada:
https://docs.kodular.io/guides/hello-world/.
76
LAMPIRAN
Hasil Pengujian YL-69 dengan Variasi Kadar Air
Tabel Hasil Pengukuran dan Perhitungan pada Tanah Kering
Sampel
Ke-
Perhitungan
Manual (%) YL-69 (%)
Soil Meter
(%) Selisih Error (%)
1 0 0 0 0 0
2 0 0 0 0 0
3 0 0 0 0 0
4 0 0 0 0 0
5 0 0 0 0 0
6 0 0 0 0 0
7 0 0 0 0 0
8 0 0 0 0 0
9 0 0 0 0 0
10 0 0 0 0 0
Rata-Rata 0 0 0 0 0
Tabel Hasil Pengukuran dan Perhitungan pada Tanah kering + 10 ml Air
Sampel
Ke-
Perhitungan
Manual (%) YL-69 (%)
Soil Meter
(%) Selisih Error (%)
1 10 7 9 2 22.22
2 10 8 9 1 11.11
3 10 7 9 2 22.22
4 10 7 9 2 22.22
5 10 8 9 1 11.11
6 10 8 9 1 11.11
7 10 9 9 0 0
8 10 9 9 0 0
9 10 8 9 1 11.11
10 10 7 9 2 22.22
Rata-Rata 10 7.8 9 1.2 13.33
77
Tabel Hasil Pengukuran dan Perhitungan pada Tanah Kering + 40 ml Air
Sampel
Ke-
Perhitungan
Manual (%) YL-69 (%)
Soil Meter
(%) Selisih Error (%)
1 40 36 38 2 5.26
2 40 35 38 3 7.89
3 40 36 38 2 5.26
4 40 36 38 2 5.26
5 40 36 38 2 5.26
6 40 37 38 1 2.63
7 40 37 38 1 2.63
8 40 36 38 2 5.26
9 40 35 38 3 7.89
10 40 35 38 3 7.89
Rata-Rata 40 35.9 38 2.1 5.53
Tabel Hasil Pengukuran dan Perhitungan pada Tanah Kering + 70 ml Air
Sampel
Ke-
Perhitungan
Manual (%) YL-69 (%)
Soil Meter
(%) Selisih Error (%)
1 70 73 69 4 5.80
2 70 72 69 3 4.35
3 70 72 69 3 4.35
4 70 72 69 3 4.35
5 70 71 69 2 2.90
6 70 72 69 3 4.35
7 70 71 69 2 2.90
8 70 71 69 2 2.90
9 70 71 69 2 2.90
10 70 71 69 2 2.90
Rata-Rata 70 71.6 69 2.6 3.77
78
Tabel Hasil Pengukuran dan Perhitungan pada Tanah Kering + 100 ml Air
Sampel
Ke-
Perhitungan
Manual (%) YL-69 (%)
Soil Meter
(%) Selisih Error (%)
1 100 97 96 1 1.04
2 100 97 96 1 1.04
3 100 99 96 3 3.13
4 100 97 96 1 1.04
5 100 97 96 1 1.04
6 100 97 96 1 1.04
7 100 97 96 1 1.04
8 100 98 96 2 2.08
9 100 98 96 2 2.08
10 100 98 96 2 2.08
Rata-Rata 100 97.5 96 1.5 1.56
Tabel Hasil Pengukuran dan Perhitungan pada Air 600 ml
Sampel
Ke- Air (ml) YL-69 (%)
Soil Meter
(%) Selisih Error (%)
1 600 94 89 5 5.62
2 600 93 89 4 4.49
3 600 92 89 3 3.37
4 600 92 89 3 3.37
5 600 92 89 3 3.37
6 600 93 89 4 4.49
7 600 93 89 4 4.49
8 600 94 89 5 5.62
9 600 94 89 5 5.62
10 600 93 89 4 4.49
Rata-Rata 600 93 89 4 4.49
79
Script Program Pembacaan Data Sensor dan Pengiriman Data Pada
ThingSpeak
import sys
import urllib.request
import Adafruit_DHT
from datetime import datetime
import csv
import time
import Adafruit_ADS1x15
import RPi.GPIO as GPIO
import requests
import threading
import json
sensor=Adafruit_DHT.DHT22
adc = Adafruit_ADS1x15.ADS1115()
servoPIN = 17
DHTpin=4
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(DHTpin, GPIO.OUT)
GAIN = 2
servo = 0
myDelay = 15
def GetDataDHT22():
hum, temp = Adafruit_DHT.read_retry(Adafruit_DHT.DHT22, DHTpin)
hum = round(hum, 0)
temp = round(temp, 1)
return hum, temp
def GetDataYL69():
values = [0]*3
voltage = [0]*3
persen = [0]*3
for i in range(3):
80
values[i]= int (adc.read_adc(i, gain=GAIN))
voltage[i] = float (round((values[i]*3.3/32767), 3))
persen[i] = float (round(((3.3 - voltage[i])/3.3)*100, 0))
return persen
def getalldata():
getDHT = GetDataDHT22()
getYL69 = GetDataYL69()
return getDHT[0],getDHT[1], getYL69[0], getYL69[1], getYL69[2]
def createCSV():
with open('/home/pi/Documents/TUGAS AKHIR/senddata.csv', mode='w') as
sensor_readings:
sensor_write = csv.writer(sensor_readings)
write_to_log = sensor_write.writerow(["Waktu", "Kelembaban Udara",
"Suhu Udara", "Tanaman 1", "Tanaman 2", "Tanaman 3", "menyiram",
"Data"])
def readpumpstatusThingspeak():
URL = 'https://api.thingspeak.com/channels/861228/fields/1.json?api_key='
READKEY = 'PWSHNBT72CTJ01A3' #read API Key
HEADER = '&results=2'
NEW_URL = URL+READKEY+HEADER
readdata = requests.get(NEW_URL).json()
channel_id=readdata['channel']['id']
feild_1=readdata['feeds']
t = []
for x in feild_1:
t.append(x['field1']
return t[1]
def main():
print('\nstarting...\n')
print('-' * 106)
print("%-20s | %-15s | %-10s | %-10s | %-10s | %-10s | %-10s |" %("Waktu",
"Kelembaban Udara", "Suhu Udara", "Tanaman 1", "Tanaman 2", "Tanaman 3",
"Menyiram"))
print('-' * 106)
createCSV()
81
while True:
try:
getdata = getalldata()
readdt = readpumpstatusThingspeak()
URL = 'https://api.thingspeak.com/update?api_key='
WRITEKEY = 'Y4Y12HPDALK9CHUP' #write API Key
HEADER =
'&field1={}&field2={}&field3={}&field4={}&field5={}&field6={}'.format(get
data[0], getdata[1], getdata[2], getdata[3], getdata[4], readdt)
NEW_URL = URL+WRITEKEY+HEADER
with open('/home/pi/Documents/TUGAS AKHIR/senddata.csv', mode='a')
as sensor_readings:
sensor_write = csv.writer(sensor_readings)
write_to_log = sensor_write.writerow([datetime.now().strftime("%d
%b %Y %H:%M:%S"), getdata[0], getdata[1], getdata[2], getdata[3],
getdata[4], readdt, urllib.request.urlopen(NEW_URL)])
print ("%-15s | %-16s | %-10s | %-10s | %-10s | %-10s | %-10s |"
%(datetime.now().strftime("%d %b %Y %H:%M:%S"), getdata[0],
getdata[1], getdata[2], getdata[3], getdata[4], readdt))
time.sleep(int(myDelay))
except:
print ('exiting.')
break
if __name__ == '__main__':
main()
82
Script Program Pembacaan Data ThingSpeak untuk Mengontrol Penyiraman
import sys
import urllib.request
import Adafruit_DHT
from datetime import datetime
import csv
import time
import Adafruit_ADS1x15
import RPi.GPIO as GPIO
import requests
import threading
import json
sensor=Adafruit_DHT.DHT22
adc = Adafruit_ADS1x15.ADS1115()
servoPIN = 17
DHTpin=4
in1 = 24
in2 = 23
en = 25
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(DHTpin, GPIO.OUT)
GPIO.setup(servoPIN, GPIO.OUT)
GPIO.setup(in1,GPIO.OUT)
GPIO.setup(in2,GPIO.OUT)
GPIO.setup(en,GPIO.OUT)
GPIO.output(servoPIN,GPIO.LOW)
GPIO.output(in1,GPIO.LOW)
GPIO.output(in2,GPIO.LOW)
w=GPIO.PWM(en,1500)
w.start(0.0)
s = GPIO.PWM(servoPIN, 50) # GPIO 17 for PWM with 50Hz
s.start(0.0) # Initialization
GAIN = 2
servo = 0
myDelay = 8
83
def GetDataDHT22():
hum, temp = Adafruit_DHT.read_retry(Adafruit_DHT.DHT22, DHTpin)
hum = round(hum, 0)
temp = round(temp, 1)
return hum, temp
def GetDataYL69():
values = [0]*3
voltage = [0]*3
persen = [0]*3
for i in range(3):
values[i]= int (adc.read_adc(i, gain=GAIN))
voltage[i] = float (round((values[i]*3.3/32767), 3))
persen[i] = float (round(((3.3 - voltage[i])/3.3)*100, 0))
return persen
def getalldata():
getDHT = GetDataDHT22()
getYL69 = GetDataYL69()
return getDHT[0],getDHT[1], getYL69[0], getYL69[1], getYL69[2]
def readpumpstatusThingspeak():
URL = 'https://api.thingspeak.com/channels/861228/fields/1.json?api_key='
READKEY = 'PWSHNBT72CTJ01A3' #read API Key
HEADER = '&results=2'
NEW_URL = URL+READKEY+HEADER
readdata = requests.get(NEW_URL).json()
channel_id=readdata['channel']['id']
feild_1=readdata['feeds']
t = []
for x in feild_1:
t.append(x['field1'])
return t[1]
def main():
print('\nstarting...\n')
print('-' * 40)
print("%-20s | %-15s |" %("Waktu", "Menyiram"))
print('-' * 40)
84
while True:
try:
print ("%-15s | %-15s |" %(datetime.now().strftime("%d %b %Y
%H:%M:%S"), "off"))
readdt = readpumpstatusThingspeak()
while readdt == '1':
s.ChangeDutyCycle(2.5)
print ("%-15s | %-15s |" %(datetime.now().strftime("%d %b %Y
%H:%M:%S"), "Tanaman 1"))
w.ChangeDutyCycle(50)
time.sleep(int(1))
GPIO.output(in1,GPIO.HIGH)
GPIO.output(in2,GPIO.LOW)
getdata = getalldata()
if getdata[2] > 80:
GPIO.output(servoPIN,GPIO.LOW)
GPIO.output(in1,GPIO.LOW)
GPIO.output(in2,GPIO.LOW)
w.start(0.0)
s.start(0.0)
readdt = 0
URL = 'https://api.thingspeak.com/update?api_key='
WRITEKEY = 'PA3IO9W4PW310TNW' #write API Key
HEADER = '&field1={}'.format(readdt)
NEW_URL = URL+WRITEKEY+HEADER
data = urllib.request.urlopen(NEW_URL)
print ("%-15s | %-15s |" %(datetime.now().strftime("%d %b
%Y%H:%M:%S"), "off"))
while readdt == '2':
s.ChangeDutyCycle(7.5)
print ("%-15s | %-15s |" %(datetime.now().strftime("%d %b %Y
%H:%M:%S"), "Tanaman 2"))
time.sleep(int(1))
w.ChangeDutyCycle(50)
GPIO.output(in1,GPIO.HIGH)
GPIO.output(in2,GPIO.LOW)
getdata = getalldata()
85
if getdata[3] > 80:
GPIO.output(servoPIN,GPIO.LOW)
GPIO.output(in1,GPIO.LOW)
GPIO.output(in2,GPIO.LOW)
w.start(0.0)
s.start(0.0)
readdt = 0
URL = 'https://api.thingspeak.com/update?api_key='
WRITEKEY = 'PA3IO9W4PW310TNW' #write API Key
HEADER = '&field1={}'.format(readdt)
NEW_URL = URL+WRITEKEY+HEADER
data = urllib.request.urlopen(NEW_URL)
print ("%-15s | %-15s |" %(datetime.now().strftime("%d %b %Y
%H:%M:%S"), "off"))
while readdt == '3':
s.ChangeDutyCycle(12.5)
print ("%-15s | %-15s |" %(datetime.now().strftime("%d %b %Y
%H:%M:%S"), "Tanaman 3"))
w.ChangeDutyCycle(50)
time.sleep(int(1))
GPIO.output(in1,GPIO.HIGH)
GPIO.output(in2,GPIO.LOW)
getdata = getalldata()
if getdata[4] > 80:
GPIO.output(servoPIN,GPIO.LOW)
GPIO.output(in1,GPIO.LOW)
GPIO.output(in2,GPIO.LOW)
w.start(0.0)
s.start(0.0)
readdt = 0
URL = 'https://api.thingspeak.com/update?api_key='
WRITEKEY = 'PA3IO9W4PW310TNW' #write API Key
HEADER = '&field1={}'.format(readdt)
NEW_URL = URL+WRITEKEY+HEADER
data = urllib.request.urlopen(NEW_URL)
print ("%-15s | %-15s |" %(datetime.now().strftime("%d %b %Y
%H:%M:%S"), "off"))
except:
print ('exiting.')
break
if __name__ == '__main__':
main()
86
Block Program pada Kodular
87
88
89
90