RANCANG BANGUN SMART GARDEN BERBASIS IoT
MENGGUNAKAN APLIKASI BLYNK
TUGAS AKHIR
ALFIAN AHKAM SOUGY
150309275693
POLITEKNIK NEGERI BALIKPAPAN
JURUSAN TEKNIK ELEKTRONIKA
2018
i
RANCANG BANGUN SMART GARDEN BERBASIS IoT
MENGGUNAKAN APLIKASI BLYNK
TUGAS AKHIR
KARYA TULIS INI DIAJUKAN SEBAGAI SALAH SATU SYARAT
UNTUK MEMPEROLEH GELAR AHLI MADYA DARI
POLITEKNIK NEGERI BALIKPAPAN
ALFIAN AHKAM SOUGY
150309275693
POLITEKNIK NEGERI BALIKPAPAN
JURUSAN TEKNIK ELEKTRONIKA
2018
ii
iii
iv
LEMBAR PERSEMBAHAN
Karya ilmiah ini kupersembahkan kepada
Beloved Mum and Dad
Ari Pramayanti dan Muhammad Ulia,
Beloved Brothers and Sisters
Ega Kusuma Dewi, Aqib Muaddam, Shafira S. S, dan Rijal Akmal R
And The Last One
...
(It’s friggin’ scorching outside, btw).
v
vi
ABSTRACT
Watering and fertilizing are the essential activities in cultivating plant.
Smart garden is a plants prototype controlling system, which the control is designed
through Blynk application. This prototype is intended to control manifold Chili(
Capsicum Frutescens) plant on the individual level (personal user) and in the future
it could be developed more widely in many applications. The scope of design are
focusing on hardware and IoT connection to Blynk application. In terms of
hardware side is desgined using soil moisture sensor,arduino mega 2560, ESP8266
01 module, DHT11 sensor, LDR (Light Dependant resistor) sensor, and solenoid
valve, and in terms of connection to appli cation is done by creating widgets in
Blynk application. Communication between hardware and ESP8266 module is
using built in RX – TX communication on board mikrokontroller. After testing in
hardware side and connectivity, the results of the prototype are successfully done
with design and specifications that was planned. In the future, the development of
this prototype is still wide open for offline control system and wireless
communication between sensors and controller.
Kata kunci: Smart Garden, Blynk, Hardware, ESP8266 module, IoT (Internet of
Thing), Chili (Capsicum Frutescens).
vii
ABSTRAK
Penyiraman dan pemupukan adalah kegiatan esensial dalam
pembudidayaan tanaman. Smart Garden adalah prototipe sistem perawatan
tanaman yang pengontrolannya dirancang melalui aplikasi Blynk. Prototipe ini
dimaksudkan untuk membantu pengontrolan sistem perawatan tanaman berjenis
cabai rawit (capsicum Frutescens) pada tingkat perorangan (personal user) yang
kedepannya dapat dikembangkan lebih luas lagi aplikasinya. Perancangan prototipe
ini meliputi aspek hardware dan koneksi IoT ke aplikasi Blynk. Dari sisi hardware
prototipe dirancang menggunakan soil moisture sensor, Arduino mega 2560, modul
ESP8266 01, sensor DHT11, LDR (Light Dependant Sensor) sensor, dan kran
elektrik, sedangkan dari sisi koneksi ke aplikasi dilakukan dengan membuat widget
pada aplikasi Blynk. Komunikasi antara hardware dengan modul ESP8266
menggunakan komunikasi built in RX - TX papan mikrokontroler. Setelah
dilakukan pengujian pada aspek hardware dan konektivitas, hasil yang diperoleh
sesuai dengan desain dan spesifikasi yang telah direncanakan. Kedepan,
pengembangan prototipe ini masih terbuka lebar untuk pengontrolan sistem offline
dan komunikasi nirkabel antara sensor – sensor dengan kontroller.
Kata kunci: Smart Garden, Blynk, Hardware, modul ESP8266, IoT (Internet of
Thing), Cabai Rawit (Capsicum Frutescens).
viii
ix
DAFTAR ISI
Halaman
LEMBAR JUDUL ................................................................................................... i
LEMBAR PENGESAHAN .................................................................................... ii
SURAT PERNYATAAN....................................................................................... iii
LEMBAR PERSEMBAHAN ................................................................................ iv
SURAT PERNYATAAN PERSETUJUAN PUBLIKASI ..................................... v
ABSTRAKSI ......................................................................................................... vi
KATA PENGANTAR ......................................................................................... viii
DAFTAR ISI .......................................................................................................... ix
DAFTAR GAMBAR ........................................................................................... xii
DAFTAR TABEL ................................................................................................. xii
DAFTAR LAMPIRAN ........................................................................................ xiii
BAB I PENDAHULUAN ...................................................................................... 1
1.1. Latar Belakang .............................................................................................. 1
1.2. Rumusan Masalah......................................................................................... 2
1.3. Batasan Masalah ........................................................................................... 2
1.4. Tujuan ........................................................................................................... 3
1.5. Manfaat ......................................................................................................... 3
BAB II LANDASAN TEORI ............................................................................... 4
2.1. Tinjauan Pustaka........................................................................................... 4
2.2. Internet of Things (IoT) ................................................................................ 5
2.3. Smart Garden ............................................................................................... 6
2.4. Teknik Budidaya Tanaman ........................................................................... 7
2.4.1. Karakteristik Cabai Rawit ...................................................................... 7
2.4.2. Teknik Budidaya Cabai Rawit ................................................................ 8
2.5. IC Multiplexer CD4051 ................................................................................ 9
2.6. Sensor ......................................................................................................... 10
2.6.1. Sensor DHT11 ...................................................................................... 11
2.6.2. Sensor Soil Moisture ............................................................................ 11
2.6.3. Sensor LDR(Light Dependant Resistor) ............................................... 12
2.6.5. Sensor Ultrasonik ................................................................................. 13
x
2.7. Selenoid Valve ............................................................................................ 15
2.7.1. Prinsip Kerja Selenoid Valve ................................................................ 15
2.8. Relay ........................................................................................................... 16
2.8.1. Jenis – Jenis Relay ................................................................................ 17
2.9. Modul ESP8266 .......................................................................................... 19
2.10. Modul RTC ................................................................................................. 19
2.11. Arduino Mega 2560 .................................................................................... 20
2.12. Internet ........................................................................................................ 21
2.13. Android ....................................................................................................... 22
2.13.1. Arsitektur Android ................................................................................ 23
2.13.2. Aplikasi Blynk ...................................................................................... 25
BAB III METODOLOGI PENELITIAN ......................................................... 28
3.1. Jenis Penelitian ........................................................................................... 28
3.2. Tempat dan Waktu Penelitian..................................................................... 28
3.3. Peralatan dan Bahan yang digunakan ......................................................... 28
3.4. Rancangan Anggaran Biaya ....................................................................... 29
4.5. Metodologi Penelitian................................................................................. 30
4.6. Skematik Hardware Smart garden ............................................................. 32
4.7. LayOut Smart Garden ................................................................................ 32
4.8. Blok Diagram ............................................................................................. 34
4.9. Diagram Alir ............................................................................................... 34
3.9.1. Diagram Alir Sistem Smart Garden ..................................................... 35
3.9.2. Diagram Alir Proses Penyiraman ......................................................... 35
3.9.3. Diagram Alir Proses Pemupukan ......................................................... 35
BAB IV HASIL DAN PEMBAHASAN ............................................................ 39
4.1. Pengujian sensor ......................................................................................... 39
4.1.1. Pengujian kelembaban tanah ................................................................ 39
4.1.2. Pengujian sensor cahaya ....................................................................... 42
4.1.3. Pengujian sensor DHT11 ...................................................................... 44
4.1.4. Pengujian pembacaan level reservoir air dan pupuk ............................ 45
4.1.5. Pengujian RTC ..................................................................................... 48
4.2. Perancangan Mini Garden dan instalasi perpipaan .................................... 48
4.3. Pengujian sistem penyiraman ..................................................................... 49
4.4. Pengujian sistem pemupukan ..................................................................... 50
xi
4.5. Flashing modul esp8266 ............................................................................ 51
4.6. Instalasi library esp8266, dan blynk .......................................................... 52
4.7. Pengujian sistem IoT .................................................................................. 52
4.8. Pengujian Smart Garden ............................................................................. 54
BAB V PENUTUP ............................................................................................... 61
5.1. Kesimpulan ................................................................................................. 61
5.2. Saran ........................................................................................................... 61
DAFTAR PUSTAKA .......................................................................................... 63
LAMPIRAN ......................................................................................................... 64
xii
DAFTAR GAMBAR
Halaman
Gambar 2.1 Smart Garden 6
Gambar 2.2 Cabai Rawit 8
Gambar 2.3 IC CD4051 9
Gambar 2.4 Konfigurasi Pin IC CD4051 9
Gambar 2.5 Klasifikasi Sensor dan Tranduser 10
Gambar 2.6 DHT11 11
Gambar 2.7 Sensor Soil Moisture 12
Gambar 2.8 Sensor LDR(Light Dependent Resistor) 13
Gambar 2.9 Prinsip Kerja Sensor Ultrasonik 14
Gambar 2.10 Sensor Ultrasonik 14
Gambar 2.11 Prinsip Kerja Selenoid Valve 16
Gambar 2.12 Relay 17
Gambar 2.13 SPST Relay 18
Gambar 2.14 SPDT Relay 18
Gambar 2.15 Modul RTC 20
Gambar 2.16 Spesifikasi Arduino Mega 2560 20
Gambar 2.17 Arduino Mega 2560 21
Gambar 2.18 Linux Kernel 25
Gambar 2.19 Blynk Cloud Server 27
Gambar 3.1 Diagram Alir Metode Penelian 31
Gambar 3.2 Skematik Hardware Smart Garden 32
Gambar 3.3 Layout Smart Garden 33
Gambar 3.4 Posisi Pipa Pemupukan dan Penyiraman 33
Gambar 3.5 Blok Diagram Smart Garden 34
Gambar 3.6 Diagram Alir Sistem Smart Garden 36
Gambar 3.7 Diagram Alir Proses Fungsi checkPenampungan 36
xiii
Gambar 3.8 Diagram Alir Proses Fungsi checkConnection 37
Gambar 3.9 Diagram Alir Proses Fungsi clockDisplay 37
Gambar 3.10 Diagram Alir Proses Fungsi clockDisplay Lanjutan 38
Gambar 4.1 Pengujian Sensor dan Sistem 39
Gambar 4.2 Pengujian Sensor Soil Moisture 40
Gambar 4.3 Data Pengujian Kelembaban Tanah Kering 40
Gambar 4.4 Data Pengujian Kelembaban Tanah Setengah Basah 41
Gambar 4.5 Data Pengujian kelembaban Tanah Basah 41
Gambar 4.6 Pengujian Sensor LDR (Light Dependant Resistor) 42
Gambar 4.7 Hasil Pengujian Kondisi Banyak Cahaya 42
Gambar 4.8 Hasil Pengujian Kondisi Redup 43
Gambar 4.9 Hasil Pengujian Minim Cahaya 43
Gambar 4.10 Pengujian Sensor DHT11 44
Gambar 4.11 Hasil Pengujian Sensor DHT11 44
Gambar 4.12 Penampungan Pupuk Cair Organik 45
Gambar 4.13 Pupuk Cair Organik 45
Gambar 4.14 Sensor Ultrasonik Pupuk Cair Organik 46
Gambar 4.15 Hasil Pengujian Tinggi Permukaan Pupuk Cair Organik 46
Gambar 4.16 Penampungan Air 47
Gambar 4.17 Sensor Ultrasonik Penampungan Air 47
Gambar 4.18 Hasil Sinkronisasi Fitur RTC Blynk 48
Gambar 4.19 Pembuatan Media Tanam 48
Gambar 4.20 Transplanting Cabai Rawit 49
Gambar 4.21 Selenoid Valve Penyiraman 49
Gambar 4.22 Sprayer tanaman 50
Gambar 4.23 Pipa Pemupukan 50
Gambar 4.24 Wiring ESP8266 dengan USB to TTL 51
Gambar 4.25 ESP8266 dan USB to TTL 51
Gambar 4.26 Flashing ESP8266 52
xiv
Gambar 4.27 Instalasi Library Blynk & BlynkESP8266 52
Gambar 4.28 Pengaturan Sinkronisasi Akun dan Konektivitas 53
Gambar 4.29 Hasil Koneksi Perangkat dengan Server Blynk 53
Gambar 4.30 Tampilan Aplikasi Blynk 54
Gambar 4.31 Sensor Pada Mini Garden 55
Gambar 4.32 Sistem Smart Garden Bekerja 55
Gambar 4.33 Tombol “on” 56
Gambar 4.34 Led Indikator Hidup 56
Gambar 4.35 Sistem Smart Garden Tidak Bekerja 57
Gambar 4.36 Tombol “off” 57
Gambar 4.37 Led Indikator Padam 58
Gambar 4.38 Email Notifikasi Penyiraman Kebunku 58
Gambar 4.39 Email Notifikasi Pemupukan Kebunku 58
Gambar 4.40 Notifikasi Penyiraman 59
Gambar 4.41 Notifikasi Pemupukan 59
Gambar 4.42 Led Indikator Pada Hardware 60
xii
DAFTAR TABEL
Halaman
Tabel 3.1 Daftar Peralatan 28
Tabel 3.2 Daftar Bahan 28
Tabel 3.3 Daftar Komponen 29
Tabel 3.4 Rancangan Anggaran Biaya 29
Tabel 4.1 Hasil Pengujian Sistem Smart Garden 60
xiii
DAFTAR LAMPIRAN
Lampiran 1 Listing program pengujian sensor-sensor dan IoT
Lampiran 2 Listing program sistem smart garden dengan IoT
Lampiran 3 Datasheet Spesifikasi DHT11
Lampiran 4 Datasheet Spesifikasi Sensor Ultrasonik sr04
Lampiran 5 Datasheet Spesifikasi Sensor Soil Moisture
Lampiran 6 Datasheet Spesifikasi Sensor LDR (Light Dependant Resistor)
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Menurut Boost, M., & Bizouard, J. (2003), bahwa monitoring kondisi
tanaman memerlukan pengetahuan yang spesifik dibidang pertanian. Pengetahuan
tersebut berupa klasifikasi kondisi baik (ideal) dan tidak baik dari tanaman. Hal
tersebut sangat mempersulit pelaku pertanian maupun perkebunan dalam
menjalankan proses sesuai kondisi ideal yang diharapkan.
Pada perkebunan pembudidayaan tanaman saat ini pengontrolan terhadap
objek budidaya masih secara manual, dimana petani melakukan pemupukan dan
penyiraman langsung terhadap objek tanaman. Pengontrolan secara manual dapat
menyebabkan kelebihan pemberian pupuk, menurut Bonsai, Andi. (2012), bahwa
dosis pemupukan yang terlalu tinggi dapat menimbulkan pengaruh buruk terhadap
tanaman dan pemberian pupuk organik cair dengan dosis yang berlebihan juga akan
menyebabkan pH tanah menjadi tinggi sehingga tanah menjadi masam dan hal itu
akan menyebabkan tekanan akar menjadi lebih besar dari pada tekanan dari tanah
sehingga menghambat kerja enzim dalam proses metabolisme pada tanaman.
Smart Garden adalah prototipe sistem perawatan tanaman secara otomatis,
dimana sistem monitoringnya dirancang melalui aplikasi Blynk IoT. Perancangan
prototipe ini dimaksudkan untuk membantu pengontrolan sistem perawatan
tanaman berjenis cabai rawit pada tingkat perorangan (personal user). Harapannya,
prototipe ini dapat dikembangkan lagi untuk membantu meningkatkan
produktivitas para petani cabai rawit di Kalimantan Timur ataupun penggunaan
yang lebih luas lagi pada masa yang akan datang.
Dipilihnya tanaman cabai rawit sebagai media ujicoba penelitian ini didasari
dari data yang diperoleh dari Kepala Dinas Pangan, Tanaman Pangan, dan
Holtikultura (DPTPH) Kaltim, Ibrahim. (2017), bahwa cabai lokal hanya mampu
memberikan sumbangsih sebesar 30%, dan sisanya kebutuhan 70% didatangkan
dari luar daerah, hal ini disebabkan karena pengaruh harga cabai yang sempat turun
dan susahnya membudidayakan cabai di daerah yang bercuaca ekstrem, sehingga
memengaruhi minat petani lokal untuk menanam cabai. Perancangan prototipe
2
Smart Garden merupakan solusi untuk pengambilan tindakan yang tepat disaat
cuaca ekstrem dan mengurangi kesalahan pada manusia (human error). Oleh sebab
itu, akan dibuat prototipe Smart Garden yang dapat melakukan penyiraman dan
pemupukan secara otomatis dengan melihat kondisi pada tanah sebagai media
tanamnya. Sebuah prototipe Smart Garden berbasis IoT (Internet of Thing) dengan
menggunakan aplikasi Blynk sebagai Graphic User Interface (GUI) pada sistem
monitoring, dan menggunakan Arduino mega 2560 sebagai pemrosesan input
kondisi dengan data kondisi baik (ideal) tanaman, dimana hasil proses tersebut
dikirim melalui modul esp8266 ke server Blynk untuk ditampilkan pada sistem
monitoring dan sebagai tindakan output yang akan dilakukan oleh Arduino.
Dengan demikian diharapkan tanaman cabai akan mendapatkan penyiraman
dan pemupukan secara proporsional, serta menjadi sebuah acuan dalam
perkembangan teknologi di Indonesia khususnya bagi petani cabai untuk
memudahkan pembudidayaan cabai dicuaca yang ekstrem.
1.2. Rumusan Masalah
Sesuai latar belakang yang telah diuraikan diatas, maka dapat ditentukan
rumusan masalah sebagai berikut :
1. Bagaimana cara merancang Smart Garden berbasis IoT menggunakan aplikasi
Blynk?
2. Bagaimana alur prosedur perancangan Smart Garden berbasis IoT
menggunakan aplikasi Blynk?
3. Bagaimana cara kerja sistem pengontrolan penyiraman dan pemupukan
otomatis terhadap tanaman cabai rawit?
1.3. Batasan Masalah
Adapun batasan masalah dalam tugas akhir ini adalah sebagai berikut :
1. Menggunakan mikrokontroler Arduino Mega 2560.
2. Objek tanaman yang diamati adalah cabai berjenis cabai rawit atau cabai
kathur.
3. Lahan uji coba berukuran 1m x 1m.
3
4. Pengontrolan kondisi level air dan pupuk cair organik pada penampungan
menggunakan sensor ultrasonik.
5. Penyiraman dan pemupukan tanaman menggunakan kran air elektrik (solenoid
valve).
6. Hubungan antara Arduino Mega 2560 dengan server Blynk menggunakan
esp8266.
7. Sistem monitoring tanaman menggunakan aplikasi Blynk IoT dengan sistem
operasi Android.
8. Alat dari Smart Garden ini tidak portable.
1.4. Tujuan
1. Dapat merancang alat Smart Garden berbasis IoT menggunakan aplikasi
Blynk.
2. Dapat menjelaskan alur prosedur perancangan Smart Garden.
3. Dapat menjelaskan sistem kerja sistem pengontrolan penyiraman dan
pemupukan otomatis terhadap tanaman cabai rawit.
4. Dapat menjelaskan cara menghubungkan Arduino Mega 2560 ke aplikasi
Blynk.
1.5. Manfaat
1. Menambah wawasan penulis dalam mengembangkan pola pikir.
2. Memberikan kemudahan dan menumbuhkan minat masyarakat dalam
membudidayakan cabai rawit.
3. Mengurangi gagal panen akibat pemberian pupuk secara berlebihan.
4. Sebagai inspirasi bagi masyarakat untuk terus melakukan inovasi dalam
teknologi pertanian agar terciptanya kemandirian pada sektor kebutuhan
pangan di Indonesia.
4
BAB II
LANDASAN TEORI
2.1. Tinjauan Pustaka
Pesatnya perkembangan teknologi di zaman ini, dapat diselaraskan dengan
model pembudidayaan tanaman yang semakin mudah. Salah satu bentuk
penyelarasan tersebut adalah dibangunnya sebuah sistem Smart Garden yang
sangat memudahkan manusia dalam mengendalikan dan mengawasi objek
budidaya, baik saat sedang berada di lahan budidaya tersebut, maupun saat tidak di
lahan budidaya.
Sistem Smart Garden seperti ini sebelumnya sudah pernah dibuat dan
digunakan namun dengan konsep yang berbeda-beda. Penelitian yang berhubungan
dengan sistem smart home yaitu,
1. Suprianto, A. A., (2016) dengan judul penelitian Rancang Bangun Prototipe
Gardening Smart System (GGS) Untuk Tanaman Anggrek Berbasis Web.
Peneliti menggunakan modul Ethernet shield untuk komunikasi ke server,
menggunaan sensor soil moisture untuk pengukuran pH dan kelembaban tanah,
dan menggunakan web sebagai sistem monitoringnya. Kesimpulan dari
penelitian ini adalah arduino mendapatkan data dari sensor soil moisture dan
outputnya berupa penyiraman terhadap objek budidaya yaitu tanaman anggrek,
serta data dikirim ke sistem monitoring melalui modul Ethernet shield.
Namun Smart Garden yang akan dirancang memiliki beberapa keunggulan
dibandingkan Smart Garden yang telah dirancang sebelumnya. Smart Garden
bukan hanya dapat menyiram secara otomatis tetapi juga pemupukan secara
otomatis, dan Smart Garden ini akan menggunakan beberapa input seperti
intensitas cahaya, sensor temperature dan kelembaban udara, sensor
kelembaban tanah, RTC (Real Time Clock), IC Multiplexer CD4051, dan sensor
water level untuk mengukur level dari reservoir atau penampungan air dan
pupuk cair organik.
5
2.2. Internet of Things (IoT)
Internet of Things, atau dikenal juga dengan singkatan IoT, merupakan
sebuah konsep yang bertujuan untuk memperluas manfaat dari konektivitas internet
yang tersambung secara terus-menerus. Adapun kemampuan seperti berbagi data,
remote control, dan sebagainya, termasuk juga pada benda di dunia nyata.
Dengan prinsip tujuan utama dari IoT sebagai sarana yang memudahkan
untuk pengawasan dan pengendalian barang fisik maka konsep IoT ini sangat
memungkinkan untuk digunakan hampir pada seluruh kegiatan sehari-hari, mulai
dari penggunaan perorangan, perkantoran, rumah sakit, pariwisata, industri,
transportasi, konservasi hewan, pertanian dan peternakan, sampai ke pemerintahan.
Dalam tujuan tersebut, IoT memiliki peran penting dalam pengendalian
pemakaian listrik, sehingga pemakaian listrik dapat lebih hemat sesuai kebutuhan
mulai dari tingkat pemakaian pribadi sampai ke industri. Tentunya selain untuk
tujuan penghematan IoT juga dapat dipakai sebagai sarana kemajuan usaha, dengan
sistem monitoring maka kebutuhan usaha dapat lebih terukur.
IoT juga sangat berguna dalam otomatisasi seluruh perangkat yang
terhubung ke internet dimana konfigurasi otomatisasi tersebut dapat di sesuaikan
dengan mudah tanpa harus datang ke lokasi perangkat tersebut. Baik untuk alasan
keamanan wilayah yang tidak mungkin dimasuki manusia, maupun untuk alasan
jangkauan terhadap perangkat yang akan di kendalikan tersebut.
Dengan demikian, dapat disimpulkan bahwa internet of things membuat
suatu koneksi antara mesin dengan mesin, sehingga mesin-mesin tersebut dapat
berinteraksi dan bekerja secara independen sesuai dengan data yang diperoleh dan
diolahnya secara mandiri. Tujuannya adalah untuk membuat manusia berinteraksi
dengan benda lebih mudah, bahkan agar benda juga dapat berkomunikasi dengan
benda lainnya.
Teknologi internet of things sangat luar biasa. Jika sudah direalisasikan,
teknologi ini tentu akan sangat memudahkan pekerjaan manusia. Manusia tidak
akan perlu lagi mengatur mesin saat menggunakannya, tetapi mesin tersebut akan
dapat mengatur dirinya sendiri dan berinteraksi dengan mesin lain yang dapat
berkolaborasi dengannya. Hal ini membuat mesin-mesin tersebut dapat bekerja
6
sendiri dan manusia dapat menikmati hasil kerja mesin - mesin tersebut tanpa harus
repot - repot mengatur mesin - mesin tersebut.
2.3. Smart Garden
Seperti diketahui IoT tidak hanya bekerja dan dikontrol oleh manusia, ada
mekanisme untuk menghubungkan mesin dengan mesin untuk bisa saling
terhubung, berkomunikasi, dan bertukar data, atau yang sering dikenal dengan
Machine to Machine (M2M). Teknologi inilah yang diterapkan oleh Smart Garden.
Dengan memasang sensor pada alat yang diletakkan di dekat tanaman dan
terhubung dengan aplikasi, pengguna bisa memantau data-data tanaman.
Selain monitoring solusi yang disuguhkan Smart Garden juga meliputi penyiraman
dan pemupukan secara otomatis.
Teknologi ini menggabungkan aplikasi mobile dan hardware yang bertujuan untuk
melakukan fungsi monitoring kebun dari manapun dan kapanpun. Dengan hal
tersebut petani dan orang awam dapat mengetahui kondisi tanaman/kebun-nya.
Tidak hanya monitoring tanaman, dengan teknologi Smart Garden, kebun tersebut
juga dapat melakukan penyiraman dan pemupukan secara otomatis. Ini yang sering
disebut M2M artinya alat ini dapat berkomunikasi sendiri antara sensor
dengan controller sehingga petani bisa lebih fokus pada fungsi pengawasan melalui
aplikasi, perawatan tanaman (pemotongan dahan daun), pembukaan lahan baru dan
pemanenan.
Gambar 2.1 Smart Garden
Sumber : https://www.habibigarden.com/
7
2.4. Teknik Budidaya Tanaman
Segala usaha pengontrolan terhadap tumbuhan yang cocok bagi
pertumbuhan tanaman pertanian sehingga dicapai hasil maksimum serta
berkelanjutan. Pengontrolan lingkungan didasarkan pada faktor yang menjadi
pembatas :
a. Keadaan pencahayaan, kelembaban udara dan curah hujan kelembaban tanah.
b. Kesuburan tanah
c. Keadaan Suhu Udara
Tahapan budidaya tanaman adalah bagaimana proses budidaya dari
persiapan dan pemeliharaan, meliputi :
a. Persiapan lahan dan media tanam
b. Persiapan bahan tanam
c. Penanaman
d. Pemupukan
e. Pengairan
f. Pemeliharaan
g. Pengendalian organisme pengganggu
2.4.1. Karakteristik Cabai Rawit
Tanaman cabai rawit merupakan salah satu bentuk tanaman pardu dan
merupakan jenis tanaman musiman. Tinggi tanaman ini mencapai 50-100
cm. Tanaman ini memiliki dahan dan ranting yang penuh ditumbuhi oleh
buah dan bunga. Produksi buah tanaman ini sangat tergantung pada jumlah
cabang dan ranting, artinya semakin banyak cabang dan ranting maka akan
semakin banyak pula jumlah buahnya. Akar tanaman cabai rawit termasuk
akar serabut yang memiliki banyak cabang pada permukaan tanah, akar dari
tanaman ini hanya dapat menembus tanah dangkal yang diperkirakan hanya
mampu menembus kedalaman tanah sekitar 25-40 cm. Daun pada tanaman
ini berbentuk lonjong dengan bagian ujung yang runcing dan tulang daun
menyirip, panjangnya sekitar 4-8 cm dan lebar sekitar 2-4 cm.
8
Ciri-ciri dan Karakteristik Cabai Rawit, bunga pada tanaman cabai
rawit beredar pada setiap sela-sela ranting dalam keadaan menggantung,
memiliki 4-6 kelopak bunga dengan panjang bunga kurang lebih sekitar 1-
1,5 cm dan lebar sekitar 0,5 cm, serta panjang tangkai sekitar 0,5 cm.
Sedangkan buah cabai rawit itu sendiri berbentuk lonjong dengan ujung
runcing, ukurannya bervariasi ada yang berukuran besar dan adapula yang
kecil. Buah cabai rawit yang masih muda umumnya tidak terlalu pedas, tetapi
setelah tua atau setelah matang, rasanya akan berubah sangat pedas. Warna
buah cabai ketika masih muda biasanya hijau muda dan akan berubah warna
menjadi merah saat cabai rawit sudah matang, warna inilah yang bisa
digunakan untuk membedakan apakah cabai rawit sudah matang atau belum
dan bagaimana rasanya.
Gambar 2.2. Cabai Rawit
Sumber : http://budidayacabe.ptnasa.net/budidaya-cabe-rawit/
2.4.2. Teknik Budidaya Cabai Rawit
Cabe rawit yang dikenal dengan istilah Capsicum frutescens adalah
tanaman yang pertama kali tumbuh di benua Amerika sehingga tanaman ini
disebut-sebut sebagai salah satu tanaman yang berasal dari Benua tersebut.
Cabe rawit memang sedikit sulit untuk dibudidayakan, para petani
harus menentukan tempat yang benar dan tepat baik untuk suhu dan
kelembaban. tanaman cabe dapat tumbuh dengan baik pada suhu antara 25-
30 derajat celsius, sedangkan untuk suhu yang optimal untuk pertumbuhan
yaitu 25-28 derajat celsius.
9
2.5. IC Multiplexer CD4051
IC 4051 merupakan sebuah IC yang dapat bertindak baik sebagai
Multiplekser maupun Demultiplekser. Jenis IC ini memiliki 8 analog (otomatis
dapat bertindak sebagai digital) channel. Jika digunakan sebagai multiplekser, IC
ini dapat memilih satu dari delapan input. Sebaliknya, jika digunakan sebagai
demultiplekser, dapat memilih 8 ouput dari sebuah input.
Gambar 2.3. IC CD4051
Sumber : https://tutorkeren.com/artikel/tutorial-menggunakan-multiplekser-
multiplexer-4051-pada-arduino.htm
IC multiplexer menggunakan 3 input (S0,S1, & S2) sebagai pengontrol, 8
channel (y0 – y7) sebagai input, dan 1 cahnnel Z sebagai output. Dimana pin VEE,
E, dan GND diberikan masukan logika LOW GND dan pin VCC diberikan logika
HIGH 5Vdc.
Gambar 2.4. Konfigurasi Pin IC CD4051
Sumber : https://tutorkeren.com/artikel/tutorial-menggunakan-multiplekser-
multiplexer-4051-pada-arduino.htm
10
2.6. Sensor
Beberapa proses di industri membutuhkan sistem instrumentasi elektronis
sebagai masukan ke dalam sebuah proses pengendalian. Besaran masukan pada
sistem instrumentasi bukan besaran listrik. Besaran masukan itu dapat besaran
mekanik, kima, dan proses fisis. Untuk menggunakan masukan itu maka diperlukan
metoda untuk mengubah besaran tersebut menjadi besaran listrik. Untuk
mengubah besaran tersebut diperlukan sebuah konventer yaitu berupa transduser
dan sensor.
Tranduser dan sensor akan mengkonversi dari suatu isyarat input berupa
isyarat fisis dan isyarat kimia yang akan diubah ke suatu isyarat ouput berupa
tegangan, arus, dan hambatan. Tranduser adalah suatu peralatan/alat yang dapat
mengubah suatu besaran ke besaran lain. Sebagai contoh, definisi transduser yang
luas ini mencangkup alat-alat yang mengubah gaya atau perpindahan mekanis
menjadi sinyal listrik. Tranduser dapat dikelompokkan berdasarkan pemakaiannya,
metode pengubahan energi, sifat dasar dari sinyal keluaran dan lain-lain.
Gambar 2.5. Klasifikasi Sensor dan Tranduser
Sumber : http://elektronika-dasar.web.id/teori-sensor-dan-transduser-elektronika/
Tranduser dan sensor dibedakan sesuai dengan aktifitas yang didasarkan atas
konversi sinyal dari besaran sinyal bukan listrik (non electric signal value) ke
besaran sinyal listrik (electric signal value) yaitu : sensor aktif (active sensor) dan
sensor pasif (passive sensor). Sensor dan tranduser pasif merupakan suatu sensor
11
dan tranduser yang dapat mengubah langsung dari energi dari energy bukan listrik
(seperti : energi mekanis, energi thermis, energi cahaya atau energi kimia) menjadi
energi listrik. Sensor dan tranduser ini biasanya dikemas dalam satu kemasan yang
terdiri dari elemen sebagai detektor, dan piranti pengubah dari energi dengan
besaran bukan listrik menjadi energi besaran listrik. Sensor dan tranduser aktif
merupakan suatu sensor dan tranduser yang dapat mengubah langsung dari energi
dari energy bukan listrik (seperti : energi mekanis, energi thermis, energi cahaya
atau energi kimia) menjadi energi listrik bekerja atas asas pengendalian tenaga.
Sensor dan tranduser aktif memerlukan bantuan tenaga dari luar.
2.6.1. Sensor DHT11
Sensor suhu dan kelembaban DHT11 merupakan sensor untuk
mensensing objek suhu dan kelembaban pada 1 module yang dimana
memiliki output sinyal digital yang sudah terkalibrasi. Module sensor ini
tergolong kedalam elemen resestif seperti perangkat pengukur suhu seperti
contohnya yaitu NTC. keunggulan dari sensor DHT11 dibanding dengan
yang lainnya antara lain memiliki kualitas pembacaan data sensing yang
sangat baik, responsif (cepat dalam pembacaan kondisi ruangan) serta tidak
mudah terinterferensi.
Gambar 2.6. DHT11
Sumber : https://www.nyebarilmu.com/cara-mengakses-sensor-dht11/
2.6.2. Sensor Soil Moisture
Soil Moisture Sensor Module adalah suatu modul yang berfungsi
untuk mendeteksi tingkat kelembaban tanah dan juga dapat digunakan untuk
12
menentukan apakah ada kandungan air di tanah/ sekitar sensor. Cara
penggunaan modul ini cukup mudah, yakni dengan memasukkan sensor ke
dalam tanah dan setting potensiometer untuk mengatur sensitifitas dari
sensor. Keluaran dari sensor akan bernilai 1 / 0 ketika kelembaban tanah
menjadi tinggi/ rendah yang dapat di tresshold dengan potensiometer.
Spesifikasi dari sensor ini adalah :
a. Komparator menggunakan LM393
b. Hanya menggunakan dua plat kecil sebagai sensor
c. Supply tegangan 3.3 – 5v
d. Digital output dapat langsung dikoneksikan dengan mudah.
Gambar 2.7. Sensor Soil Moisture
Sumber : https://www.pace-sci.com/soil-moisture.htm
2.6.3. Sensor LDR(Light Dependant Resistor)
Sensor Cahaya LDR (Light Dependent Resistor) adalah salah satu
jenis resistor yang dapat mengalami perubahan resistansinya apabila
mengalami perubahan penerimaan cahaya. Besarnya nilai hambatan pada
Sensor Cahaya LDR (Light Dependent Resistor) tergantung pada besar
kecilnya cahaya yang diterima oleh LDR itu sendiri. LDR sering disebut
dengan alat atau sensor yang berupa resistor yang peka terhadap cahaya.
Biasanya LDR terbuat dari cadmium sulfida yaitu merupakan bahan
semikonduktor yang resistansnya berupah-ubah menurut banyaknya cahaya
(sinar) yang mengenainya. Resistansi LDR pada tempat yang gelap biasanya
mencapai sekitar 10 MΩ, dan ditempat terang LDR mempunyai resistansi
yang turun menjadi sekitar 150 Ω.
Prinsip Kerja Sensor Cahaya LDR (Light Dependent Resistor).
Resistansi Sensor Cahaya LDR (Light Dependent Resistor) akan berubah
seiring den-gan perubahan intensitas cahaya yang mengenainya atau yang
13
ada disekitarnya. Dalam keadaan gelap resistansi LDR sekitar 10MΩ dan
dalam keadaan terang sebe-sar 1KΩ atau kurang. LDR terbuat dari bahan
semikonduktor seperti kadmium sulfida. Dengan bahan ini energi dari
cahaya yang jatuh menyebabkan lebih banyak muatan yang dilepas atau arus
listrik meningkat. Artinya resistansi bahan telah mengalami penurunan.
Gambar 2.8. Sensor LDR (Light Dependant Resistor)
Sumber : https://potentiallabs.com/cart/ldr-big
2.6.5. Sensor Ultrasonik
Sensor ultrasonik dibentuk dari dua buah unit, yaitu yang pertama
adalah unit penerima dan yang kedua adalah unit pemancar. Kedua unit
dalam sensor ultrasonik ini memiliki struktur yang sangatlah sederhana, yaitu
suatu kristal piezoelectric yang terhubung dengan mekanik jangkar;
disambungkan hanya dengan sebuah diafragma penggetar. Kemudian kepada
plat logam diberikan tegangan bolak balik yg mempunyai frekuensi kerja 40
KHz s/d 400 KHz. Dengan demikian akan terjadi kontrasi / pengikatan
dengan mengembang ataupun menyusut karena polaritas tegangan yang
diberikan kepada kristal piezoelectric sehingga hal tersebut terjadi pada
struktur atomnya. Peristiwa inilah yang dinamakan dengan efek piezoelectic.
Kontraksi yang terbentuk itu dilanjutkan menuju diafragma penggetar
hingga dihasilkan gelombang ultrasonik yang memancar ke udara sekitar
tempat ia berada, dan apabila terdapat benda spesifik disekitar tempat
tersebut akan menimbulkan pantulan gelombang ultrasonik. Pantulan
gelombang itu kemudian diterima oleh unit sensor-penerima. Selanjutnya
terjadilah getaran pada diafragma penggetar yang menyebabkan terjadinya
efek piezoelectric dan menghasilkan tegangan bolak balik yang memiliki
frekuensi sama.
14
Jauh dan dekatnya benda yang terdeteksi serta kualitas dari sensor
penerima ataupun sensor pemancarnya, merupakan faktor penentu besar
amplitudo signal elektrik yang dihasilkan unit sensor penerimanya. Operasi
scanning yang dijalankan oleh sensor tersebut memakai metode pantulan
dengan memperhitungkan selisih jarak diantara objek sasaran dan sensor.
Cara menghitung jarak tersebut ialah dengan mengalikan separuh waktu
yang dipakai oleh signal ultrasonik untuk berjalan dari rangkaian TX hingga
ditangkap kembali oleh rangkaian Rx, dgn kecepatan rambat dari sinyal
ultrasonik tersebut pada media rambat yang dipakainya (dalam hal ini adalah
udara).
Waktu tersebut dihitung saat pemancar aktif hingga diperoleh adanya
input dari rangakaian penerima. Apabila dalam batas waktu yang ditentukan,
rangkaian penerima tidak juga menerima sinyal input diartikan bahwa tidak
ada yang menghalangi di depannya.
Gambar 2.9. Prinsip Kerja Sensor Ultrasonik
Sumber : https://www.elangsakti.com/2015/05/sensor-ultrasonik.html
Gambar 2.10. Sensor Ultrasonik
Sumber : https://www.elangsakti.com/2015/05/sensor-ultrasonik.html
15
2.7. Selenoid Valve
Adalah katup yang digerakan oleh energi listrik melalui solenoida,
mempunyai kumparan sebagai penggeraknya yang berfungsi untuk menggerakan
piston yang dapat digerakan oleh arus AC maupun DC, solenoid valve pneumatic
atau katup (valve) solenoida mempunyai lubang keluaran, lubang masukan dan
lubang exhaust. Lubang masukan, berfungsi sebagai terminal / tempat udara
bertekanan masuk atau supply (service unit), sedangkan lubang keluaran berfungsi
sebagai terminal atau tempat tekanan angin keluar yang dihubungkan ke pneumatik,
dan lubang exhaust, berfungsi sebagai saluran untuk mengeluarkan udara
bertekanan yang terjebak saat plunger bergerak atau pindah posisi ketika solenoid
valve pneumatic bekerja. Solenoid valve adalah elemen kontrol yang paling sering
digunakan dalam fluida. Tugas dari solenoid valve dalah untuk mematikan, release,
dose, distribute atau mix fluids. Solenoid Valve banyak sekali jenis dan macamnya
tergantung tipe dan penggunaannya, namun berdasarkan modelnya solenoid valve
dapat dibedakan menjadi dua bagian yaitu solenoid valve single coil dan solenoid
valve double coil.
2.7.1. Prinsip Kerja Selenoid Valve
Prinsip kerja dari solenoid valve yaitu katup listrik yang mempunyai
koil sebagai penggeraknya dimana ketika koil mendapat supply tegangan
maka koil tersebut akan berubah menjadi medan magnet sehingga
menggerakan piston pada bagian dalamnya ketika piston bertekanan yang
berasal dari supply (service unit), pada umumnya solenoid valve pneumatik
ini mempunyai tegangan kerja 100/200 VAC namun ada juga yang
mempunyai tegangan kerja DC.
16
Gambar 2.11. Prinsip Kerja Selenoid Valve
Sumber : http://www.kitomaindonesia.com/article/19/cara-kerja-solenoid-
valve
2.8. Relay
Relay adalah suatu peranti yang bekerja berdasarkan elektromagnetik untuk
menggerakan sejumlah kontaktor yang tersusun atau sebuah saklar elektronis yang
dapat dikendalikan dari rangkaian elektronik lainnya dengan memanfaatkan tenaga
listrik sebagai sumber energinya. Kontaktor akan tertutup (menyala) atau terbuka
(mati) karena efek induksi magnet yang dihasilkan kumparan (induktor) ketika
dialiri arus listrik. Berbeda dengan saklar, pergerakan kontaktor (on atau off)
dilakukan manual tanpa perlu arus listrik.
Relay yang paling sederhana ialah relay elektromekanis yang memberikan
pergerakan mekanis saat mendapatkan energi listrik. Secara sederhana relay
elektromekanis ini didefinisikan sebagai berikut :
a. Alat yang menggunakan gaya elektromagnetik untuk menutup atau membuka
kontak saklar.
b. Saklar yang digerakkan secara otomatis oleh daya atau energi listrik.
Sebagai komponen elektronika, relay mempunyai peran penting dalam
sebuah sistem rangkaian elektronika dan rangkaian listrik untuk menggerakan
17
sebuah perangkat yang memerlukan arus besar tanpa terhubung langsung dengan
perangakat pengendali yang mempunyai arus kecil. Dengan demikian relay dapat
berfungsi sebagai pengaman. Relay terdiri dari 3 bagian utama, yaitu :
a. Common, merupakan bagian yang tersambung dengan Normally Close (dalam
keadaan normal).
b. Koil (kumparan), merupakan komponen utama relay yang digunakan untuk
menciptakan medan magnet.
c. Kontak, yang terdiri dari Normally Close dan Normally Open.
Gambar 2.12. Relay
Sumber : https://teknikelektronika.com/pengertian-relay-fungsi-relay/
Dari konstruksi relai elektro mekanik diatas dapat diuraikan sistem kerja atau
proses relay bekerja. Pada saat elektromagnet tidak diberikan sumber tegangan
maka tidak ada medan magnet yang menarik armature, sehingga skalar relay tetap
terhubung ke terminal NC (Normally Close) seperti terlihat pada gambar konstruksi
diatas. Kemudian pada saat elektromagnet diberikan sumber tegangan maka
terdapat medan magnet yang menarik armature, sehingga saklar relay terhubung ke
terminal NO (Normally Open).
2.8.1. Jenis – Jenis Relay
a. Normally On
Kondisi awal kontaktor tertutup (On) dan akan terbuka (Off) jika relay
diaktifkan dengan cara memberi arus yang sesuai pada kumparan atau koil
relay. Istilah lain kondisi ini adalah Normaly Open (NO).
18
b. Normally Off
Kondisi awal kontaktor terbuka (Off) dan akan tertutup jika relay
diaktifkan dengan cara memberi arus yang sesuai pada kumparan atau koil
relay. Istilah lain kondisi ini adalah Normaly Close (NC).
c. Change-Over (CO) atau Double-Throw (DT)
Relay jenis ini memiliki dua pasang terminal dengan dua kondisi yaitu
Normaly Open (NO) dan Normaly Close (NC).
Selain itu, seperti saklar, relay juga dibedakan berdasar pole dan throw yang
dimilikinya. Pole adalah banyaknya kontak yang dimiliki oleh relay.
Sedangkan throw adalah banyaknya kondisi (state) yang mungkin dimiliki
kontak.
d. SPST (Single Pole Single Throw)
Relay ini memiliki empat terminal yaitu, dua terminal kumparan atau koil
dan dua terminal saklar (A dan B) yang dapat terhubung dan terputus.
Gambar 2.13. SPST Relay
Sumber : https://teknikelektronika.com/pengertian-relay-fungsi-relay/
e. SPDT (Single Pole Double Pole)
Relay ini memiliki lima terminal, yaitu dua terminal kumparan atau koil
dan tiga terminal saklar (A,B, dan C) yang dapat terhubung dan terputus
dengan satu terminal pusat. Jika suatu saat terminal (misal A) terputus
dengan terminal pusat (C) maka terminal lain (B) terhubung dengan terminal
pusat tersebut (C), demikian juga sebaliknya.
Gambar 2.14. SPDT Relay
Sumber : https://teknikelektronika.com/pengertian-relay-fungsi-relay/
19
2.9. Modul ESP8266
ESP8266 merupakan modul WiFi yang berfungsi sebagai perangkat
tambahan mikrokontroler seperti Arduino agar dapat terhubung langsung dengan
wifi dan membuat koneksi TCP/IP. Modul ini membutuhkan daya sekitar 3.3v
dengan memiliki tiga mode wifi yaitu Station, Access Point dan Both (Keduanya).
Modul ini juga dilengkapi dengan prosesor, memori dan GPIO dimana jumlah pin
bergantung dengan jenis ESP8266 yang kita gunakan. Sehingga modul ini bisa
berdiri sendiri tanpa menggunakan mikrokontroler apapun karena sudah memiliki
perlengkapan layaknya mikrokontroler. Firmware default yang digunakan oleh
perangkat ini menggunakan AT Command, selain itu ada beberapa Firmware SDK
yang digunakan oleh perangkat ini berbasis opensource yang diantaranya adalah
sebagai berikut :
a. NodeMCU dengan menggunakan basic programming lua
b. MicroPython dengan menggunakan basic programming python
c. AT Command dengan menggunakan perintah perintah AT command
Untuk pemrogramannya sendiri bisa menggunakan ESPlorer untuk
Firmware berbasis NodeMCU dan menggunakan putty sebagai terminal control
untuk AT Command. Selain itu juga dapat diprogram menggunakan Arduino IDE.
Dengan menambahkan library ESP8266 pada board manager.
2.10. Modul RTC
RTC (Real Time Clock) merupakan chip IC yang memiliki fungsi
menghitung waktu yang dimulai dari detik, menit, jam, hari, tanggal, bulan, hingga
tahun dengan akurat. Untuk menjaga atau menyimpan data waktu yang telah di-
ON-kan pada module terdapat sumber catu daya sendiri yaitu baterai jam kancing,
serta keakuratan data waktu yang ditampilkan digunakan osilator kristal eksternal.
Sehingga saat perangkat mikrokontroler terhubung dengan RTC ini sebagai sumber
data waktu dimatikan, data waktu yang sudah terbaca dan ditampilkan tidak akan
hilang begitu saja. Dengan catatan baterai yang terhubung pada RTC tidak habis
dayanya. Contoh yang dapat ditemui dalam kehidupan sehari – hari yaitu pada
motherboard PC yang biasanya letaknya berdekatkan dengan chip BIOS.
20
Difungsikan guna menyimpan sumber informasi waktu terkini sehingga jam akan
tetap up to date walaupun komputer tersebut dimatikan.
Gambar 2.15. Modul RTC
Sumber : http://ecadio.com/jual-modul-rtc-ds1302
2.11. Arduino Mega 2560
Arduino Mega 2560 adalah papan pengembangan mikrokontroller yang
berbasis Arduino dengan menggunakan chip ATmega2560. Board ini memiliki pin
I/O yang cukup banyak, sejumlah 54 buah digital I/O pin (15 pin diantaranya adalah
PWM), 16 pin analog input, 4 pin UART (serial port hardware). Arduino Mega
2560 dilengkapi dengan sebuah oscillator 16 Mhz, sebuah port USB, power jack
DC, ICSP header, dan tombol reset. Board ini sudah sangat lengkap, sudah memiliki
segala sesuatu yang dibuthkan untuk sebuah mikrokontroller. Dengan penggunaan
yang cukup sederhana, anda tinggal menghubungkan power dari USB ke PC atau
melalui adaptor AC/DC ke jack DC.
Gambar 2.16. Spesifikasi Arduino Mega 2560
Sumber: http://ecadio.com/belajar-dan-mengenal-arduino-mega
21
Pemrograman board Arduino Mega 2560 dilakukan dengan menggunakan
Arduino Software (IDE) yang bisa anda dapatkan gratis disini. Chip ATmega2560
yang terdapat pada Arduino Mega 2560 telah diisi program awal yang sering
disebut bootloader. Bootloader tersebut yang bertugas untuk memudahkan anda
melakukan pemrograman lebih sederhana menggunakan Arduino Software, tanpa
harus menggunakan tambahan hardware lain. Cukup hubungkan Arduino dengan
kabel USB ke PC atau Mac/Linux anda, jalankan software Arduino Software (IDE),
dan anda sudah bisa mulai memrogram chip ATmega2560. Lebih mudah lagi, di
dalam Arduino Software sudah diberikan banyak contoh program yang
memanjakan anda dalam belajar mikrokontroller.
Gambar 2.17. Arduino Mega 2560
Sumber : http://ecadio.com/belajar-dan-mengenal-arduino-mega
2.12. Internet
Internet adalah kumpulan atau jaringan dari komputer yang ada diseluruh
dunia. Internet (kependekan dari interconnection-networking) secara harfiah ialah
sistem global dari seluruh jaringan komputer yang saling terhubung menggunakan
standar Internet Protocol Suite (TCP/IP) untuk melayani miliaran pengguna di
seluruh dunia.
Pengertian internet menurut para ahli :
a. Internet adalah suatu interkoneksi sebuah jaringan komputer yang dapat
memberikan layanan informasi secara lengkap. Dan, terbukti bahwa internet
dilihat sebagai media maya yang dapat menjadi rekan bisnis, politik, sampai
hiburan. Semuanya tersaji lengkap di dalam media ini (Sidharta, Lani. 1996).
22
b. Khoe yao tung menyatakan bahwa intenet adalah jaringan yang satelit
komunikasi yang fungsinya sangat beragam dan tentu merupakan pendukung
internet di seluruh dunia (Tung, Khoe, Yao. 1997).
Berdasarkan kedua pendapat diatas, bahwa dapat disimpulkan bahwa
internet adalah suatu jaringan komunikasi antara computer yang besar, yang
mencakup seluruh dunia dan berbasis pada sebuah protocol yang disebut TCP/IP
(Tranmission Control Protocol/ Internet protocol). Selain itu internet dapat disebut
sebagai sumber daya informasi yang dapat digunakan oleh seluruh dunia dalam
mencari informasi.
2.13. Android
Android adalah system operasi berbasis Linux yang dirancang untuk
perangkat bergerak layar sentuh seperti telepon pintar dan komputer tablet. Android
awalnya dikembangkan oleh Android, Inc., dengan dukungan finansial dari Google,
yang kemudian membelinya pada tahun 2005. Sistem operasi ini dirilis secara resmi
pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance,
konsorsium dari perusahaan-perusahaan perangkat keras, perangkat lunak, dan
telekomunikasi yang bertujuan untuk memajukan standar terbuka perangkat seluler.
Ponsel Android pertama mulai dijual pada bulan Oktober 2008. Antarmuka
pengguna Android umumnya berupa manipulasi langsung, menggunakan gerakan
sentuh yang serupa dengan tindakan nyata, misalnya menggeser, mengetuk, dan
mencubit untuk memanipulasi objek di layar, serta papan ketik virtual untuk
menulis teks. Selain perangkat layar sentuh, Google juga telah mengembangkan
Android TV untuk televisi, Android Auto untuk mobil, dan Android Wear untuk
jam tangan, masing-masingnya memiliki antarmuka pengguna yang berbeda.
Varian Android juga digunakan pada komputer jinjing, konsol permainan, kamera
digital, dan peralatan elektronik lainnya.
Android adalah sistem operasi dengan sumber terbuka, dan Google merilis
kodenya di bawah Lisensi Apache. Kode dengan sumber terbuka dan lisensi
perizinan pada Android memungkinkan perangkat lunak untuk dimodifikasi secara
bebas dan didistribusikan oleh para pembuat perangkat, operator nirkabel, dan
pengembang aplikasi. Selain itu, Android memiliki sejumlah besar komunitas
23
pengembang aplikasi (apps) yang memperluas fungsionalitas perangkat, umumnya
ditulis dalam versi kustomisasi bahasa pemrograman Java. Pada bulan Oktober
2013, ada lebih dari satu juta aplikasi yang tersedia untuk Android, dan sekitar 50
miliar aplikasi telah diunduh dari Google Play, toko aplikasi utama Android.
Sebuah survei pada bulan April-Mei 2013 menemukan bahwa Android adalah
platform paling populer bagi para pengembang, digunakan oleh 71% pengembang
aplikasi bergerak. Di Google I/O 2014, Google melaporkan terdapat lebih dari satu
miliar pengguna aktif bulanan Android, meningkat dari 583 juta pada bulan Juni
2013.
Faktor-faktor di atas telah memberikan kontribusi terhadap perkembangan
Android, menjadikannya sebagai sistem operasi telepon pintar yang paling banyak
digunakan di dunia, mengalahkan Symbian pada tahun 2010. Android juga menjadi
pilihan bagi perusahaan teknologi yang menginginkan sistem operasi berbiaya
rendah, bisa dikustomisasi, dan ringan untuk perangkat berteknologi tinggi tanpa
harus mengembangkannya dari awal. Sifat Android yang terbuka juga telah
mendorong munculnya sejumlah besar komunitas pengembang aplikasi untuk
menggunakan kode sumber terbuka sebagai dasar proyek pembuatan aplikasi,
dengan menambahkan fitur-fitur baru bagi pengguna tingkat lanjut atau
mengoperasikan Android pada perangkat yang secara resmi dirilis dengan
menggunakan sistem operasi lain.
Pada November 2013, Android menguasai pangsa pasar telepon pintar
global, yang dipimpin oleh produk-produk Samsung, dengan persentase 64% pada
bulan Maret 2013. Pada Juli 2013, terdapat 11.868 perangkat Android berbeda
dengan beragam versi. Keberhasilan sistem operasi ini juga menjadikannya sebagai
target ligitasi paten "perang telepon pintar" antar perusahaan-perusahaan teknologi.
Hingga bulan Mei 2013, total 900 juta perangkat Android telah diaktifkan di seluruh
dunia, dan 48 miliar aplikasi telah dipasang dari Google Play.
2.13.1. Arsitektur Android
a. Aplikasi dan widgets
Applications dan Widgets ini adalah layer di mana kita berhubungan
dengan aplikasi saja, di mana biasana kita download aplikasi kemudian kita
24
lakukan instalasi dan jalankan aplikasi tersebut. Di Layer terdapat aplikasi
inti termasuk klien email, program SMS, kalender, peta, browser, kontak,
dan lain-lain. Semua aplikasi ditulis menggunakan bahasa pemrograman
Java.
b. Aplikasi Framework
Android adalah "Open Development Platform" yaitu Android
menawarkan kepada pengembang atau memberi kemampuan kepada
pengembang untuk membangun aplikasi yang bagus dan inovatif.
Pengembang bebas untuk mengakses perangkat keras, akses informasi
resources, menjalankan service background, mengatur alarm, dan
menambahkan status notifications, dan sebagainya. Pengembang memiliki
akses penuh menuju API framework seperti yang dilakukan oleh aplikasi
yang kategori inti. Arsitektur aplikasi dirancang supaya kita dengan mudah
dapat menggunakan kembali komponen yang sudah digunakan(reuse).
Sehingga bisa kita simpulkan Applications Framework ini adalah layer di
mana para pembuat aplikasi melakukan pengembangan/pembuatan aplikasi
yang akan dijalankan di sistem operasi android, karena pada layer inilah
aplikasi dapat dirancang dan dibuat, seperti content-providers yang berupa
sms dan panggilan telepon.
c. Libraries
Libraries ini adalah layer di mana fitur-fitur Android berada, biasanya
para pembuat aplikasi mengakses libraries untuk menjalankan aplikasi.
Berjalan di atas kernel, Layer ini meliputi berbagai library C/C++ inti seperti
Libc dan SSL.
d. Android Run Time
Layer yang membuat aplikasi Android dapat dijalankan di mana dalam
prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine
(DVM) merupakan mesin yang membentuk dasar kerangka aplikasi
Android.
e. Linux Kernel
Linux Kernel adalah layer di mana inti dari operating sistem dari
Android itu berada. Berisi file-file system yang mengatur sistem processing,
25
memory, resource, driver, dan sistem-sistem operasi android lainnya. Linux
kernel yang digunakan android adalah linux kernel relase 2.6.
Gambar 2.18. Linux Kernel
Sumber : http://teknologinyata.blogspot.co.id/2015/04/arsitektur-
android.html
2.13.2. Aplikasi Blynk
Blynk adalah sebuah layanan server yang digunakan untuk
mendukung project Internet of Things. Layanan server ini memiliki
lingkungan mobile user baik Android maupun iOS. Blynk Aplikasi sebagai
pendukung IoT dapat diundung melalui Google play. Blynk mendukung
berbagai macam hardware yang dapat digunakan untuk project Internet of
Things. Blynk adalah dashborad digital dengan fasilitas antarmuka grafis
dalam pembuatan projectnya. Penambahan komponen pada Blynk Apps
dengan cara Drag and Drop sehingga memudahkan dalam penambahan
komponen Input/output tanpa perlu kemampuan pemrograman Android
maupun iOS.
Blynk diciptakan dengan tujuan untuk control dan monitoring
hardware secara jarak jauh menggunakan komunikasi data internet ataupun
intranet (jaringan LAN). Kemampuna untuk menyimpan data dan
menampilkan data secara visual baik menggunakan angka, warna ataupun
26
grafis semakin memudahkan dalam pembuatan project dibidang Internet of
Things. Terdapat 3 komponen utama Blynk,
a. Blynk Apps
Blynk Apps memungkinkan untuk membuat project interface dengan
berbagai macam komponen input output yang mendukung untuk pengiriman
maupun penerimaan data serta merepresentasikan data sesuai dengan
komponen yang dipilih. Representasi data dapat berbentuk visual angka
maupun grafik. Terdapat 4 jenis kategori komponen yang berdapat pada
Aplikasi Blynk :
1. Controller digunakan untuk mengirimkan data atau perintah ke
Hardware.
2. Display digunakan untuk menampilkan data yang berasal dari hardware
ke smartphone.
3. Notification digunakan untuk mengirim pesan dan notifikasi.
4. Interface Pengaturan tampilan pada aplikasi Blynk dpat berupa menu
ataupun tab.
5. Others beberapa komponen yang tidak masuk dalam 3 kategori
sebelumnya diantaranya Bridge, RTC, Bluetooth.
b. Blynk Server
Blynk server merupakan fasilitas Backend Service berbasis cloud yang
bertanggung jawab untuk mengatur komunikasi antara aplikasi smart phone
dengan lingkungan hardware. Kemampun untuk menangani puluhan
hardware pada saat yang bersamaan semakin memudahkan bagi para
pengembang sistem IoT. Blynk server juga tersedia dalam bentuk local
server apabila digunakan pada lingkungan tanpa internet. Blynk server local
bersifat open source dan dapat diimplementasikan pada Hardware Raspberry
Pi.
27
c. Blynk Library
Blynk Library dapat digunakan untuk membantu pengembangan code.
Blynk library tersedia pada banyak platform perangkat keras sehingga
semakin memudahkan para pengembang IoT dengan fleksibilitas hardware
yang didukung oleh lingkungan Blynk.
Gambar 2.19. Blynk Cloud Server
Sumber : https://www.blynk.cc/doc
28
BAB III
METODOLOGI PENELITIAN
3.1. Jenis Penelitian
Jenis penelitian adalah rancang bangun Smart Garden berbasis IoT
menggunakan aplikasi Blynk.
3.2. Tempat dan Waktu Penelitian
Penelitian ini dilaksanakan di Jl. Jokotole 3 (Rumah Ibu Nurwahidah Jamal),
Balikpapan Tengah, Kota Balikpapan. Waktu penelitian mulai tanggal 19 April –
10 Juli 2018.
3.3. Peralatan dan Bahan yang digunakan
Penelitian Rancang Bangun Smart Garden berbasis IoT Menggunakan
Aplikasi Blynk membutuhkan peralatan dan bahan sebagai berikut:
1. Peralatan
Tabel 3.1. Daftar Peralatan
Sumber: Penulis
2. Bahan
Tabel 3.2. Daftar Bahan
Sumber: Penulis
No. Nama Alat Spesifikasi
Akan digunakan dalam proses pembuatan
hardware
Medium5
6
Gergaji Besi
Bor Listrik Medium Akan digunakan dalam proses pembuatan
hardware
3 Solder 220V 50-60 Hz,
30W
Akan digunakan dalam proses wiring
komponen
4 Tang Kombinasi Medium Akan digunakan dalam proses pembuatan
hardware
1 Laptop Acer Aspire V5
64bit OS Win 10 Akan digunakan dalam pembuatan desain
Keterangan
2 Printer Canon Akan digunakan dalam printing laporan
No. Nama Bahan Spesifikasi
3 Pupuk dan Tanah - Akan digunakan dalam media tanam
tanaman
4 Pipa 1.5 inch Akan digunakan dalm sistem penyiraman
dan pemupukan
Keterangan
1 Software Arduino
IDE
Sketch 1.85 Akan digunakan dalam pemrograman
Smart Garden
2 Aplikasi Blynk Blynk 2.18.0 Akan digunakan dalam sistem
Monittoring Smart Garden
29
3. Komponen
Tabel 3.3. Daftar Komponen
Sumber: Penulis
3.4. Rancangan Anggaran Biaya
Penelitian tentang rancang bangun smart garden berbasis IoT menggunakan
aplikasi blynk membutuhkan peralatan, bahan dan komponen dengan anggaran
biaya sebagai berikut:
Tabel 3.4. Rancangan Anggaran Biaya
Sumber: Penulis
No Item
Jumlah
Item Satuan Harga Item Jumlah Harga
1 Pipa 1/2 inch 4 m 6 4 m Rp 10.000 Rp 60.000
2 Pipa 1 inch 5 4 m Rp 25.000 Rp 125.000
3 Elbow 6 pcs Rp 2.500 Rp 14.000
4 Kran Selenoid 2 pcs Rp 90.000 Rp 180.000
5 Sensor pH 1 pcs Rp 200.000 Rp 200.000
6 Sensor Soil Moisture 1 pcs Rp 18.000 Rp 18.000
7 Sensor DHT11 1 pcs Rp 20.000 Rp 20.000
No. Nama Komponen Spesifikasi
12 Wemos D1 R2 - akan digunakan sebagai controller dan
penghubung ke server blynk
Akan digunakan sebagai counter
pemupukan dan penyiraman
Modul RTC -11
2 Sensor pH - Akan digunakan sebagai pembaca nilai pH
tanah
Keterangan
1 Arduino Uno Rev 3 Mikrokontroler Smart Garden
3 Sensor Soil Moisture - Akan digunakan sebagai pembaca nilai
kelembaban tanah
4 Sensor DHT11 - Akan digunakan sebagai pembaca nilai
suhu dan kelembaban udara
5 Sensor Ultrasonik - Akan digunakan sebagai pembaca level
penampungan air dan pupuk cair organik
6 Selenoid Valve 5Vdc-220Vac Akan digunakan sebagai sistem
penyiraman dan pemupukan
7
8
9
10
Sensor LDR
ESP8266 Wifi
MiFi
Kabel/Jumper
-
-
Bolt 4G
-
Akan digunakan sebagai pembaca nilai
intensitas cahaya
Akan digunakan sebagai penghubung
sistem hardware ke server blynk
Akan digunakan sebagai media
penghubung hardware dan software
Akan digunakan sebagai wiring hardware
30
8 Sensor LDR 1 pcs Rp 5.000 Rp 5.000
9 Sensor Ultrasonik 2 pcs Rp 16.500 Rp 33.000
10 Arduino Mega 2560 1 pcs Rp 143.000 Rp 143.000
11 Pupuk + Tanah Hara 4 Karung Rp 15.000 Rp 60.000
12 ESP8266 1 pcs Rp 45.000 Rp 45.000
13 Credit Point Blynk 2000 point Rp 20.000 Rp 20.000
14 Modul RTC 1 pcs Rp 20.000 Rp 20.000
15 Relay 1 channel 2 pcs Rp 18.000 Rp 36.000
16 IC CD4051 1 pcs Rp 5.000 Rp 5.000
17 Pupuk Cair Organik 1 ml Rp 40.000 Rp 40.000
18 Tandon 1200L 1 - - -
19 Drum 60L 1 - - -
20 Kayu jati & triplek 10 pcs Rp 15.000 Rp 150.000
21 dll - - - Rp 100.000
TOTAL BIAYA Rp 1.274.000
Dari tabel di atas, harga total keseluruhan dari rancang bangun smart garden
berbasis IoT ini adalah Rp 1.274.000 (Satu Juta Dua Ratus Tujuh Puluh Empat Ribu
Rupiah). Harga untuk masing-masing alat, bahan dan komponen tidak mutlak sama
pada seluruh wilayah. Perbedaan harga komponen pada masing masing wilayah
kemungkinan besar terjadi dikarenakan faktor wilayah dan juga distribusi.
4.5. Metodologi Penelitian
Pada metodologi penelitian tugas akhir menjelaskan tentang bagaimana cara
kerja pengerjaan tugas akhir yang akan dijelaskan dengan diagram alir tugas akhir.
Diagram alir tugas akhir disesuaikan dengan tahapan – tahapan yagn dilakukan
selama pengerjaan tugas akhir. Diagram alir metode tugas akhir dapat ditunjukkan
dalam Gambar 3.1.
31
Gambar 3.1. Diagram Alir Metode Penelitian
Sumber: Penulis
Penelitian tugas akhir ini dilakukan untuk merancang dan mengembangkan
alat penyiraman dan pemupukan secara otomatis. Untuk mendapatkan hasil yang
baik, diperlukan langkah-langkah pengerjaan tugas akhir yang tepat dan beruntun.
Hal ini dimaksudkan untuk memberikan kemudahan bagi peneliti dalam merancang
dan membangun, analisa, dan perbaikan kesalahan yang juga berguna bagi
pengembangan selanjutnya.
Pada dasarnya proses perancangan yang dilakukan peneliti dapat dibedakan
menjadi dua tahapan utama, yaitu tahap perancangan hardware dan koneksi
hardware ke aplikasi blynk melalui blynk cloud. Apabila pada pengujian peneliti
menemui kendala maka peneliti akan kembali pada tahap perancangan untuk
memastikan dan memperbaiki kesalahan.
32
4.6. Skematik Hardware Smart garden
Dalam merancang sebuah alat, diperlukan sebuah skematik atau wiring yang
berfungsi sebagai acuan dalam mengerjakan Smart Garden pada sisi perangkat
kerasnya.
Gambar 3.2. Skematik Hardware Smart Garden
Sumber: Penulis
4.7. LayOut Smart Garden
Dalam pembuatan alat smart garden ini, terdapat layout atau gambaran dari
smart garden, dimana berfungsi sebagai acuan dalam pembuatan taman, perpipaan
untuk penyiraman, perpipaan untuk pemupukan, dan objek tanaman. Berikut ini
adalah layout rancangan smart garden.
33
Gambar 3.3. LayOut Smart Garden
Sumber: Penulis
Gambar 3.4. Posisi Pipa Pemupukan dan Penyiraman
Sumber: Penulis
34
4.8. Blok Diagram
Pada pembuatan alat penyiraman dan pemupukan secara otomatis ini,
terdapat banyak komponen elektronika yang digunakan dengan fungsi yang
berbeda – beda. Dibutuhkan sebuah blok diagram yang menunjukkan bagian –
bagian dari alat smart garden berdasarkan penyiraman atau pemupukan, yang
dimana koneksi jaringan menggunakan papan mikrokontroller Arduino mega 2560
dengan modul ESP8266. Berikut ini adalah Blok Diagram Rancang bangun Smart
Garden berbasis IoT Menggunakan Aplikasi Blynk.
Gambar 3.5. Blok Diagram Smart Garden
Sumber: Penulis
4.9. Diagram Alir
Keterangan mengenai sistem kerja Smart Garden:
Sebelum adanya proses penyiraman dan pemupukan secara otomatis, lampu
led terlebih dahulu menyala, setelah itu output dari sensor suhu dan kelembaban
udara, kelembaban tanah, RTC, dan semua sensor yang terlibat pada proses
penyiraman dan pemupukan diproses oleh mikrokontroler. Jika tombol “on” pada
aplikasi blynk ditekan maka semua proses akan berjalan, dan jika koneksi perangkat
keras terputus dari server, maka perangkat akan mengambil kondisi terakhir dari
pada tombol di aplikasi.
35
3.9.1. Diagram Alir Sistem Smart Garden
Diagram alir sistem Smart Garden, dimulai dengan inisialisasi header
dan definisi port yang digunakan, setelah itu sistem memeriksa koneksi
hardware ke server blynk melalui koneksi Arduino dengan modul esp8266,
sistem mengambil kondisi terakhir dari tombol di server dan merubah
kondisi dari led sesuai dengan nilai kondisi pada server, jika led “on” maka
seluruh proses pembacaan sensor dan push data ke server akan dilakukan,
jika “off” seluruh proses tersebut tidak berjalan. Diagram alir sistem Smart
Garden dapat dilihat pada gambar 3.6.
3.9.2. Diagram Alir Proses Penyiraman
Proses penyiraman dilakukan dengan membaca output sensor
kelembaban tanah, suhu dan kelembaban udara serta RTC sebagai pembatas
jumlah penyiraman dalam satu hari, jika semua output sensor tersebut sesuai
dengan parameter yang ditetapkan maka proses penyiraman akan dilakukan.
Diagram alir proses penyiraman dapat dilihat pada gambar 3.10.
3.9.3. Diagram Alir Proses Pemupukan
Proses pemupukan dilakukan dengan membaca sensor cahaya, dan
RTC sebagai pembatas jumlah pemupukan dalam satu minggu, jika semua
output sensor tersebut sesuai dengan parameter yang ditetapkan maka proses
pemupukan akan dilakukan. Diagram alir proses pemupukan dapat dilihat
pada gambar 3.10.
36
Gambar 3.6. Diagram Alir Sistem Smart Garden
Sumber: Penulis
Gambar 3.7. Diagram Alir Proses Fungsi checkPenampungan
Sumber: Penulis
3
2
37
Gambar 3.8. Diagram Alir Proses Fungsi checkConnection
Sumber: Penulis
Gambar 3.9. Diagram Alir Proses Fungsi clockDisplay
Sumber: Penulis
3
4
4
38
Gambar 3.10. Diagram Alir Proses Fungsi clockDisplay Lanjutan
Sumber: Penulis
39
BAB IV
HASIL DAN PEMBAHASAN
Dalam menganalisa rancangan implementasi Rancang Bangun Smart
Garden Berbasis IoT Menggunakan Aplikasi Blynk dilakukan dengan menguji dari
tiap – tiap bagian rangkaian, kesesuaian sensor dengan kondisi medianya,
konektivitas, dan kelancaran serta kesesuaian program dalam waktu pengujian
selama 7 hari pada waktu pagi, siang, dan sore. Pengujian ini dimaksudkan agar
hasil yang diperoleh sesuai dengan parameter – parameter yang telah ditetapkan.
4.1. Pengujian sensor
Pengujian sensor diperlukan untuk mengetahui keakuratan dan kondisi dari
pada sensor – sensor yang digunakan pada sistem Smart Garden. Khususnya
pewaktuan untuk jadwal pemupukan dan pembacaan sensor soil moisture, agar
didapatkan hasil pembacaan yang sesuai dengan kondisi real dari objek yang
dibaca.
Gambar 4.1. Pengujian Sensor dan Sistem.
Sumber: Penulis
4.1.1. Pengujian kelembaban tanah
Pengujian sensor soil moisture atau kelembaban tanah, dilakukan dengan
mengunakan sampel tanah kering, setengah basah, dan basah, dimana sinyal ADC
dipetakan dengan skala 0 – 100 dalam satuan persen.
40
Gambar 4.2. Pengujian Sensor Soil Moisture
Sumber: Penulis
Hasil dari pengujian menunjukkan bahwa sensor kelembaban tanah dapat
membaca nilai dengan akurat pada tanah dengan tingkat kelembaban kering,
setengah basah, dan basah dapat dilihat pada gambar 4.3, 4.4, dan 4.5.
Gambar 4.3. Data Pengujian Kelembaban Tanah Kering
Sumber: Penulis
Pada gambar diatas nilai yang ditunjukkan dari pembacaan sensor soil
moisture adalah nilai ADC dalam satuan persen (%), dimana jika kandungan air
pada tanah yang diterima sensor Soil Moisture berkurang atau sedikit maka nilai
dari hasil pembacaan sensor akan kecil. Dari hasil pengujian didapatkan data 15%.
Kelembaban tanah
41
Gambar 4.4. Data Pengujian Kelembaban Tanah Setengah Basah
Sumber: Penulis
Pada gambar diatas nilai ynag ditunjukkan adalah nilai ADC dalam satuan
persen (%), dimana jika kandungan air dalam tanah yang diterima sensor Soil
Moisture bertambah maka nilai dari hasil pembacaan sensor akan bertambah. Dari
hasil pengujian didapatkan data 51%.
Gambar 4.5. Data Pengujian Kelembaban Tanah Basah
Sumber: Penulis
Gambar diatas menunjukkan nilai kelembaban tanah dalam satuan persen,
dimana pada saat tanah basah maka hasil pembacaan dari sensor akan tinggi. Dari
hasil pengujian didapatkan data 72%.
Kelembaban tanah
Kelembaban tanah
42
4.1.2. Pengujian sensor cahaya
Uji hasil pembacaan dengan beberapa kondisi cahaya, mulai dari
bercahaya terang, redup, dan gelap. Sensor mampu membaca nilai dengan
baik yang dipetakan dalam satuan persen.
Gambar 4.6. Pengujian Sensor LDR (Light Dependant Resistor)
Sumber: Penulis
Hasil pengujian sensor LDR dengan menghubungkan salah satu kaki
sensor ke kaki y0 IC, didapatkan hasil pembacaan yang baik sesuai kondisi
cahaya yang diterima sensor.
Gambar 4.7. Hasil Pengujian Kondisi Banyak Cahaya
Sumber: Penulis
Gambar diatas adalah nilai intensitas cahaya dalam satuan persen atau
nilai konversi ADC ke persen, didalam pemrograman Arduino disebut
mapping. Terdapat 2 buah sensor LDR setiap LDR diberi nama satu dan dua.
Nilai dari sensor LDR diatas adalah nilai pembacaan pada saat sensor LDR
menerima banyak cahaya sebesar 100 %.
43
Gambar 4.8. Hasil Pengujian Kondisi Redup
Sumber: Penulis
Terdapat 2 buah sensor LDR setiap LDR diberi nama satu dan dua.
Nilai dari sensor LDR diatas adalah nilai pembacaan pada saat sensor LDR
menerima cahaya dengan nilai terendah 60% dan nilai tertinggi pada
intensitas cahaya menengah adalah 72%, dimana pembacaan 100% diatas
adalah transisi dari pembacaan dengan banyak cahaya ke cahaya menengah.
Gambar 4.9. Hasil pengujian minim cahaya
Sumber: Penulis
44
Terdapat 2 buah sensor LDR setiap LDR diberi nama satu dan dua.
Nilai dari sensor LDR diatas adalah nilai pembacaan pada saat sensor LDR
menerima sedikit cahaya dengan nilai terendah 0% dan tertinggi 29%, nilai
100% diatas adalah nilai transisi saat sensor belum tertutup.
4.1.3. Pengujian sensor DHT11
Uji pembacaan sensor DHT11 suhu dan kelembaban udara, sensor
DHT11 diletakkan pada kotak sensor yang berada pada dekat dengan objek
tanaman, sensor membaca nilai temperatur udara dan kelembaban udara
dengan baik, tidak terjadi fluktuasi nilai pada proses pembacaan selama
pengujian sensor.
Gambar 4.10. Pengujian Sensor DHT11
Sumber: Penulis
Gambar 4.11 Hasil Pengujian Sensor DHT11
Sumber: Penulis
Kelembaban Udara
& Temperatur Udara
45
4.1.4. Pengujian pembacaan level reservoir air dan pupuk
Uji pembacaan sensor jarak(ultrasonik), sensor diletakkan pada
masing – masing penutup penampungan.
A. Pengujian pada penampungan pupuk.
Komposisi dari penampungan pupuk adalah 60L air dan 250ml pupuk
cair organik NASA. Batas minimum parameter sensor yaitu 100cm dan
maksimum 5cm.
Gambar 4.12. Penampungan Pupuk Cair Organik
Sumber: Penulis
Gambar 4.13. Pupuk Cair Organik
Sumber: Penulis
46
Gambar 4.14. Sensor Ultrasonik Pupuk Cair Organik
Sumber: Penulis
Gambar 4.15. Hasil Pengujian Tinggi Permukaan Pupuk Cair Organik
Sumber: Penulis
Hasil dari pembacaan sensor ultrasonik adalah 41 cm, dan 49 cm,
tergantung dari jarak benda dengan sensor ultrasonik.
B. Pengujian pada penampungan air
Pengujian level tinggi permukaan air menggunakan sensor ultrasonik
dilakukan pada penampungan ber-volume 1500L, dimana sensor diletakkan
pada penutup penampungan, hasil dari pembacaan sensor berpengaruh pada
proses kondisi tercapainya proses penyiraman pada tanaman.
47
Gambar 4.16. Penampungan Air
Sumber: Penulis
Gambar 4.17. Sensor Ultrasonik Penampungan Air
Sumber: Penulis
Sensor membaca dengan mengirimkan sinyal ultrasonik kearah depan
dengan sudut sinyal 30˚, benda yang terkena sinyal akan memantulkan sinyal
tersebut dan ultrasonik akan menerima sinyal tersebut dan mengkonversinya
menjadi satuan centi meter (cm) dengan membagi dua waktu penerimaan
sinyal dari pengiriman sampai sinyal diterima kembali oleh sensor.
48
4.1.5. Pengujian RTC
Pengujian ini digunakan untuk menambahkan fitur waktu dan batas
melakukan penyiraman dan pemupukan serta fitur notifikasi saat penyiraman
atau pemupukan sedang berlangsung.
Gambar 4.18. Hasil Sinkronisasi Fitur RTC Blynk
Sumber: Penulis
4.2. Perancangan Mini Garden dan instalasi perpipaan
Perancangan mini garden dimulai dengan membuat kotak berukuran 1 x 1m
menggunakan kayu jati dan dilengkapi dengan lubang untuk pipa penyiraman dan
pemupukan serta intalasi kabel. Komposisi dari media tanam adalah sebagai
berikut:
1. 2.5 karung tanah dan kompos
2. 4 karung tanah
3. 0.5 karung kecil sekam
Gambar 4.19. Pembuatan Media Tanam
Sumber: Penulis
Sinkronisasi waktu
49
Media tanah tersebut ditanami dengan 4 tanaman cabai rawit berusia satu
bulan dan dilakukan pemindahan dari polybag ke media tanam tanah
(transplanting) pada sore hari.
Gambar 4.20. Transplanting Cabai Rawit
Sumber: Penulis
4.3. Pengujian sistem penyiraman
Pengujian sistem penyiraman, dilakukan dengan menyesuaikan kondisi
actual dari masukan sensor dengan parameter – parameter yang telah ditetapkan,
dimana penyiraman terjadi jika kondisi kelembaban udara dibawah 95%,
temperatur udara diatas 28˚C, kelembaban tanah dibawah 45 – 50%, intensitas
cahaya diatas 60% (satuan persen), dan waktu penyiraman antara pagi dan sore
dengan batas penyiraman 2 kali dalam satu hari.
Gambar 4.21. Seleoid Valve Penyiraman
Sumber: Penulis
50
Gambar 4.22. Sprayer Penyiraman
Sumber: Penulis
4.4. Pengujian sistem pemupukan
Pengujian sistem pemupukan dilakukan dengan menyesuaikan kondisi
aktual dari masukan sensor dengan parameter – parameter yang telah ditetapkan,
Winarno.F.G, dkk, ed. (2017: 108-109) mengatakan, “menurut buku panduan
berjudul cabai, pemupukan terjadi jika waktu pemupukan pada sore hari tercapai
dengan batas pemberian pupuk 1 minggu sekali.”
Gambar 4.23. Pipa Pemupukan
Sumber: Penulis
Selang pemupukan
Selang penyiraman
51
4.5. Flashing modul esp8266
Flashing modul esp8266 dilakukan agar menyesuaikan versi firmware
esp8266 dengan versi compatible blynk, versi yang didukung oleh blynk yaitu 1.5.4
dimana esp8266 harus di downgrade dengan cara flashing, dengan menghubungkan
pin pada esp8266 ke slot usb melalui converter USB to TTL.
Gambar 4.24. Wiring ESP8266 dengan USB to TTL
Sumber: Penulis
Gambar 4.25. ESP8266 dan USB to TTL
Sumber: Penulis
52
Gambar 4.26. Flashing ESP8266
Sumber: Penulis
4.6. Instalasi library esp8266, dan blynk
Instalasi library pendukung untuk konektivitas papan mikrokontroler dengan
internet dan server blynk. Untuk library Blynkesp8266 dan library blynk dapat
diinstall secara manual ke folder library pada path penginstalan Arduino.
Gambar 4.27. Instalasi Library Blynk & BlynkESP8266
Sumber: Penulis
4.7. Pengujian sistem IoT
Pengujian sistem IoT dengan membaca seluruh input dari semua sensor yang
terpasang, terdapat 12 widget pada aplikasi blynk yang tersinkronisasi oleh Arduino
mega 2560, 1 widget button, 7 widget pembacaan sensor, 3 widget notifikasi dan 1
widget grafik untuk penyimpanan data sensor. Sinkronisasi widget dilakukan
menggunakan perintah Blynk.virtualwrite(), dan koneksi hubungan menggunakan
perintah Blynk.connect(), mendefinisikan auth akun yang dikirim melalui email,
53
server blynk, port yang digunakan, dan ssid dan password dari access point. Hasil
dari pembacaan seluruh sensor dapat dilihat pada gambar 4.28.
Gambar 4.28. Pengaturan Sinkronisasi Akun dan Konektivitas
Sumber: Penulis
Dengan menginisialiasi auth token, ssid, pass, server dan port yang
digunakan serta header blynk dan header modul interface yang digunakan, maka
koneksi pada program selesai. Selanjutnya adalah proses penyambungan pin
ESP8266 dengan Arduino mega 2560.
TX esp TX1 Arduino
RX esp RX1 Arduino
Vcc esp 3.3v Arduino
Vee esp 3.3v Arduino
Gnd esp Gnd Arduino
Gambar 4.29. Hasil Koneksi Perangkat dengan Server Blynk
Sumber: Penulis
54
Gambar 4.30. Tampilan Aplikasi Blynk
Sumber: Penulis
Terdapat 15 widget pada aplikasi blynk yang dunakan untuk menampilkan
nilai dari sensor – sensor, notifikasi email & ponsel, tombol on/off, grafik dari
pembacaan sensor, RTC, dan tanggal atau waktu.
4.8. Pengujian Smart Garden
Pengujian smart garden dilakukan selama seminggu dimulai dari tanggal 4
July 2018 hingga 10 July 2018, data pengujian diambil pada 3 waktu yaitu pagi,
siang, dan, sore. Dimana, jika kondisi parameter pemupukan atau penyiraman yang
ditetapkan terpenuhi maka sistem akan bekerja dengan membuka keran elektrik
(Selenoid Valve) dengan batas penyiraman 2 kali dalam satu hari dan pemupukan 1
kali dalam seminggu.
55
Gambar 4.31. Sensor Pada Mini Garden
Sumber: Penulis
Semua sensor yang berada pada mini garden berada pada kotak sensor,
dibuat untuk melindungi sensor dari air yang dapat merusak sensor – sensor pada
mini garden.
Smart garden bekerja jika tombol pada aplikasi bernilai 1 atau dalam
keadaan “on”, dan led indikator pada perangkat smart garden akan menyala. Hasil
pengujian dapat dilihat pada gambar 4.32, 4.33, dan 4.34.
Gambar 4.32. Sistem Smart Garden Bekerja
Sumber: Penulis
Sistem bekerja
56
Gambar 4.33. Tombol On
Sumber: Penulis
Gambar 4.34. Led Indikator Hidup
Sumber: Penulis
Led sistem Power
57
Smart garden tidak bekerja jika tombol pada aplikasi bernilai 0 atau dalam
keadaan “off”, dan led indikator pada perangkat smart garden akan padam. Hasil
pengujian dapat dilihat pada gambar 4.35, 4.36, dan 4.37.
Gambar 4.35. Sistem Smart Garden Tidak Bekerja
Sumber: Penulis
Gambar 4.36. Tombol off
Sumber: Penulis
Sistem tidak bekerja
58
Gambar 4.37. Led Indikator Padam
Sumber: Penulis
Jika terjadi proses pemupukan atau penyiraman pada mini garden, maka
sistem akan memberikan notifikasi melalui email dan notifikasi ke ponsel pengguna
yang telah tersinkronisasi dengan sistem.
Gambar 4.38. Email Notifikasi Penyiraman Kebunku
Sumber: Penulis
Gambar 4.39. Email Notifikasi Pemupukan Kebunku
Sumber: Penulis
Led power Led Indikator
59
Gambar 4.40. Notifikasi Penyiraman
Sumber: Penulis
Gambar 4.41. Notifikasi Pemupukan
Sumber: Penulis
Perubahan led indikator pada perangkat keras smart garden jika terjadi
pemupukan atau penyiraman dapat dilihat pada gambar 4.42 dan 4.43.
60
Gambar 4.42. Led Indikator Pada Hardware
Sumber: Penulis
Tabel 4.1. Hasil Pengujian Sistem Smart Garden
Sumber: Penulis
Waktu Sensor
Hari/tanggal Waktu Kelembaban Tanah(%)
Cahaya(%) Temperatur Udara(˚C) Kelembaban Udara
4/7/2018
Pagi 65 84 27 95
siang 61 95 32 90
sore 60 53 30 95
5/7/2018
Pagi 55 79 26 95
siang 74 92 30 85
sore 72 51 29 95
6/7/2018
Pagi 73 88 27 95
siang 69 96 29 90
sore 63 50 29 95
7/7/2018
Pagi 65 83 27 95
siang 59 94 32 85
sore 55 56 31 95
8/7/2018
Pagi 71 86 28 95
siang 68 97 32 85
sore 64 48 30 95
9/7/2018
Pagi 65 82 27 95
siang 60 98 31 87
sore 56 49 29 95
10/7/2018
Pagi 74 85 27 95
siang 71 97 33 86
sore 67 51 30 95
Led Penyiraman
Led Pemupukan
61
BAB V
PENUTUP
5.1. Kesimpulan
Dalam penulisan penelitian tugas akhir ini telah diuraikan bagaimana sensor-
sensor dapat terhubung dan diproses pada mikrokontroler, serta bagaimana data-
data dari sensor dapat dikirimkan ke aplikasi Blynk melalui modul ESP8266, maka
penulis menyimpulkan bahwa:
1. Smart Garden berbasis IoT menggunakan aplikasi blynk dirancang
menggunakan sensor DHT11, sensor LDR, sensor kelembaban tanah, sensor
ultrasonik, Arduino mega 2560, dan modul esp8266 01.
2. Perancangan smart garden berbasis IoT dimulai dengan pembuatan mini
garden, uji coba sensor, konfigurasi perangkat lunak dan perangkat keras,
perancangan sistem smart garden, perancangan sistem IoT ke platform IoT
blynk, dan percobaan smart garden dengan IoT.
3. Penyiraman terjadi pada saat batas penyiraman 2 kali dalam satu hari belum
terpenuhi, temperature diatas 25˚C, kelembaban udara dibawah atau sama
dengan 95, kelembaban tanah dibawah 60%, nilai jarak sensor dari permukaan
air kurang dari 130 cm, dan intensitas cahaya diatas 60%.
Pemupukan terjadi pada saat batas pemupukan satu minggu sekali belum
terpenuhi, nilai jarak sensor dari permukaan air kurang dari 70 cm, dan pada
jam 16.05 WITA.
5.2. Saran
Tugas akhir ini masih memiliki beberapa kekurangan. Oleh karena itu,
berikut adalah beberapa saran untuk pengembangan tugas akhir ini :
1. Sebelum merancangan sistem perhatikan kesesuaian platform IoT dengan
perangkat yang digunakan.
2. Dibutuhkan pengembangan dalam sistem monitoring offline, misalnya
menggunakan LCD, OLED, dll.
62
3. Untuk jarak komunikasi nirkabel dan efektivitas dalam penggunaan kabel,
dibutuhkan sistem pemrosesan yang terpisah antara pemrosesan data sensor
dengan kontroller.
4. Penyediaan sumber daya backup, jika sewaktu – waktu tidak ada sumber listrik
utama.
5. Sistem monitoring berbasis web, dengan menggunakan fitur webhook blynk
dan sinkronisasi ke server IoT thinkspeak.
63
DAFTAR PUSTAKA
Aji. (2017). Produksi Cabai di Kaltim Cuma Segini, Sisanya Didatangkan dari Jawa dan
Sulawesi, Kaltim Prokal, 18 Januari 2017, Diambil dari:
http://kaltim.prokal.co/read/news/289609-produksi-cabai-di-kaltim-cuma-segini-
sisanya-didatangkan-dari-jawa-dan-sulawesi/2 (16 Februari 2018, 14:20:21 WITA)
Amanda, Shinta. (2016). “Apa Yang Dimaksud Internet of Things (IoT)”. Diambil dari:
dari:http://www.academia.edu/12799103/Teknik_Budidaya_Tanaman (19 Februari
2018, 15:20:21 WITA)
Anonim. 2017. “Teknik Budidaya Tanaman”, [pdf], Diambill dari:
http://www.academia.edu/12799103/Teknik_Budidaya_Tanaman (23 Februari
2018, 21:22:09 WITA)
Bonsai, Andi. (2012). Pemupukan: Dosis Pemupukan. “Dosis Pemupukan Yang Terlalu
Tinggi Dapat Menimbulkan Pengaruh Buruk Terhadap Tanaman”, Diambil dari:
http://bonsaikoplak.blogspot.co.id/2012/09/dosis-pemupukan.html (04 Maret 2018,
23:20:21 WITA)
Boost, M., & Bizouard, J. (2003). U.S. Patent No. 6,532,425, [pdf], Diambil dari :
http://patentimages.storage.googleapis.com/pdfs/US7199557.pdf (6 Maret 2018,
21:09:14 WITA)
Elektronika Dasar. (2012). “Teori Sensor Dan Transduser Elektronika”. Diambil dari:
http://elektronika-dasar.web.id/teori-sensor-dan-transduser-elektronika/ (7 Maret
2018, 20:11:12 WITA)
Pambudi, Edu. (2015). “24 Pengertian Internet Menurut Para Ahli”. Diambil dari:
https://dosenit.com/jaringan-komputer/internet/pengertian-internet-menurut-ahli (10
Maret 2018, 21:18:23 WITA)
Winarno, F.G, dkk, ed. (2017). Cabai: “Potensi Pengenbangan Agrobisnis dan
Agroindustri”. Jakarta: PT Gramedia Pustaka Utama.
Wardana, Kusuma. (2017). “[TUTORIAL] Menggunakan Multiplekser (Multiplexer) 4051
pada Arduino”. Diambil dari: https://tutorkeren.com/artikel/tutorial-menggunakan-
multiplekser-multiplexer-4051-pada-arduino.htm (8 Juli 2018, 20:11:12 WITA)
Ecadio. (2018). “Belajar dan Mengenal Arduino Mega”. Diambil dari:
http://ecadio.com/belajar-dan-mengenal-arduino-mega (17 Juli 2018, 6:48:20
WITA)
63
LAMPIRAN
LAMPIRAN 1
Listing program pengujian sensor kelembaban tanah
int moist;
#define ADCall A0
#define s0 3
#define s1 4
#define s2 5
#define SoilMoistureADMax 1023
#define SoilMoistureADMin 0
void setup(){
Serial.begin(9600);
}
void loop(){
unsigned long currentMillis=millis();
if((unsigned long)(currentMillis - prevmoist) >= valMoist){
digitalWrite(s0, HIGH);
digitalWrite(s1, LOW);
digitalWrite(s2, LOW);
moist = analogRead(ADCall);
Serial.print("ADC MOIST: ");
Serial.println(moist);
moist = map(moist, SoilMoistureADMax, SoilMoistureADMin, 0, 100);
Serial.print("Kelembaban tanah: ");
Blynk.virtualWrite(V2, moist);
Serial.print(moist);
Serial.println(" %");
prevmoist = currentMillis;
}
Listing program pengujian sensor cahaya.
#define s0 3
#define s1 4
#define s2 5
#define ADCall A0
Int cahaya;
Void setup(){
Serial.begin(9600);
}
Void loop(){
Unsigned long currentMillis=millis();
if((unsigned long)(currentMillis - prevcahaya) >= valCahaya){
digitalWrite(s0, LOW);
digitalWrite(s1, LOW);
digitalWrite(s2, LOW);
cahaya = analogRead(ADCall);
cahaya = map(cahaya, 0 , 1023, 0, 100);
Serial.print("persentase cahaya: ");
Serial.print(cahaya);
Serial.println(" %");
Blynk.virtualWrite(V3, cahaya);
prevcahaya = currentMillis;
}
}
Listing program pengujian sensor DHT11
#define <DHT.h>
#define DHTPIN 12
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
Void setup(){
Serial.begin(9600);
Dht.begin();
}
Void loop(){
unsigned long currentMillis = millis();
if((unsigned long)(currentMillis - prevsendsensor) >= valsendsensor){
if((unsigned long)(currentMillis - prevDHT11) >= valDHT11){
/* The following trigPin/echoPin cycle is used to determine the
distance of the nearest object by bouncing soundwaves off of it. */
h = dht.readHumidity();
t = dht.readTemperature();
if (!isnan(h) || !isnan(t)){
Serial.print("H udara: ");
Serial.print(h);
Serial.print(" ");
Serial.println(t);
Blynk.virtualWrite(V5, h);
Blynk.virtualWrite(V6, t);
}
prevDHT11 = currentMillis;
}
}
Listing program pengujian pembacaan penampungan air dan pupuk
#define echoAir 8
#define trigAir 9
#define echoPupuk 10
#define trigPupuk 11
int maxRangeAir = 150;
int minRangeAir = 5;
int maxRangePupuk = 100;
int minRangePupuk = 5;
long durationAir, distanceAir, durationPupuk, distancePupuk;
void setup(){
pinMode(trigAir, OUTPUT);
pinMode(trigPupuk, OUTPUT);
pinMode(echoAir, INPUT);
pinMode(echoPupuk, INPUT);
}
void loop(){
unsigned long currentMillis=millis();
if((unsigned long)(currentMillis - prevjarakAir) >= valAir){
digitalWrite(trigAir, LOW);
delayMicroseconds(2);
digitalWrite(trigAir, HIGH);
delayMicroseconds(10);
digitalWrite(trigAir, LOW);
durationAir = pulseIn(echoAir, HIGH);
//Calculate the distance (in cm) based on the speed of sound.
distanceAir = durationAir/58.2;
if(distanceAir >= maxRangeAir || distanceAir <= minRangeAir){
Serial.println("Out of range");
}
else{
Serial.print("Penampungan Air: ");
Serial.print(distanceAir);
Serial.print(" ");
Blynk.virtualWrite(V7,distanceAir);
}
prevjarakAir = currentMillis;
}
if((unsigned long)(currentMillis - prevjarakPupuk) >= valPupuk){
digitalWrite(trigPupuk, LOW);
delayMicroseconds(2);
digitalWrite(trigPupuk, HIGH);
delayMicroseconds(10);
digitalWrite(trigPupuk, LOW);
durationPupuk = pulseIn(echoPupuk, HIGH);
distancePupuk = durationPupuk/58.2;
if(distancePupuk >= maxRangePupuk || distancePupuk <= minRangePupuk){
Serial.println("Out of range");
}
else{
Serial.print("Penampungan pupuk: ");
Serial.println(distancePupuk);
Blynk.virtualWrite(V8, distancePupuk);
}
prevjarakPupuk = currentMillis;
}
}
Listing program pengujian RTC
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 rtc;
Void setup(){
Serial.begin(9600);
Rtc.begin();
}
Void loop(){
DateTime now=rtc.now();
// You can call hour(), minute(), ... at any time
// Please see Time library examples for details
String currentTime = String(now.hour()) + ":" + now.minute() + ":" +
now.second();
String currentDate = String(now.day()) + " " + now.month() + " " + now.year();
Serial.print("Current time: ");
Serial.print(currentTime);
Serial.print(" ");
Serial.print(currentDate);
Serial.println();
// Send time to the App
Blynk.virtualWrite(V9, currentTime);
// Send date to the App
Blynk.virtualWrite(V10, currentDate);
Blynk.virtualWrite(V1, millis()/1000);
}
Listing program pengujian sistem penyiraman
#define BLYNK_PRINT Serial
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>
#include <DHT.h>
#include <Wire.h>
#include "RTClib.h"
#define ADCall A0
#define s0 3
#define s1 4
#define s2 5
#define SoilMoistureADMax 1023
#define SoilMoistureADMin 0
#define relayAir 6
#define relayPupuk 7
#define ledPin 2
RTC_DS1307 rtc;
int yesterday, i, a ,j;
float h,t;
int cahaya = 0;
int sensorValue = 0;
float outputValue = 0.0;
char auth[] = "3499277b7e294e41a5a325a353e87b59";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "boa";
char pass[] = "jokotole3";
#define echoAir 8
#define trigAir 9
#define echoPupuk 10
#define trigPupuk 11
#define DHTPIN 12
#define DHTTYPE DHT11
int maxRangeAir = 150;
int minRangeAir = 5;
int maxRangePupuk = 100;
int minRangePupuk = 5;
long durationAir, distanceAir, durationPupuk, distancePupuk;
DHT dht(DHTPIN, DHTTYPE);
Void setup(){
pinMode(ledPin, OUTPUT);
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(trigAir, OUTPUT);
pinMode(trigPupuk, OUTPUT);
pinMode(echoAir, INPUT);
pinMode(echoPupuk, INPUT);
pinMode(relayAir, OUTPUT);
pinMode(relayPupuk, OUTPUT);
digitalWrite(relayPupuk, statePupuk);
digitalWrite(relayAir, statePupuk);
// Debug console
Serial.begin(9600);
// Set ESP8266 baud rate
EspSerial.begin(ESP8266_BAUD);
delay(10);
dht.begin();
//Blynk.begin(auth, wifi, ssid, pass, server, port);
// You can also specify server:
Blynk.begin(auth, wifi, ssid, pass, "blynk-cloud.com", 80);
//Blynk.begin(auth, wifi, ssid, pass, IPAddress(192,168,1,100), 8080);
// Begin synchronizing time
rtc.begin();
// Other Time library functions can be used, like:
// timeStatus(), setSyncInterval(interval)...
// Read more: http://www.pjrc.com/teensy/td_libs_Time.html
// Display digital clock every 10 seconds
timer.setInterval(300000L, checkPenampungan);
timer.setInterval(1000L, CheckConnection);
timer.setInterval(1000L, clockDisplay);
}
Void loop(){
if(i < 4){
if((t > 25) && (h <= 95) && (moist < 55) && (distanceAir < 130) &&
(cahaya > 60)){
stateAir = !stateAir;
Blynk.email("[email protected]", "Subject: Penyiraman kebunku",
"Your mini garden is being watered...");
Blynk.notify("Your mini garden is being watered...");
digitalWrite(relayAir, stateAir);
delay(delayvalAir);
stateAir = !stateAir;
digitalWrite(relayAir, stateAir);
Serial.println("relay air");
i++;
}
}
}
Listing program pengujian pemupukan
#define BLYNK_PRINT Serial
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>
#include <DHT.h>
#include <Wire.h>
#include "RTClib.h"
#define ADCall A0
#define s0 3
#define s1 4
#define s2 5
#define SoilMoistureADMax 1023
#define SoilMoistureADMin 0
#define relayAir 6
#define relayPupuk 7
#define ledPin 2
RTC_DS1307 rtc;
int yesterday, i, a ,j;
float h,t;
int cahaya = 0;
int sensorValue = 0;
float outputValue = 0.0;
char auth[] = "3499277b7e294e41a5a325a353e87b59";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "boa";
char pass[] = "jokotole3";
#define echoAir 8
#define trigAir 9
#define echoPupuk 10
#define trigPupuk 11
#define DHTPIN 12
#define DHTTYPE DHT11
int maxRangeAir = 150;
int minRangeAir = 5;
int maxRangePupuk = 100;
int minRangePupuk = 5;
long durationAir, distanceAir, durationPupuk, distancePupuk;
DHT dht(DHTPIN, DHTTYPE);
Void setup(){
pinMode(ledPin, OUTPUT);
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(trigAir, OUTPUT);
pinMode(trigPupuk, OUTPUT);
pinMode(echoAir, INPUT);
pinMode(echoPupuk, INPUT);
pinMode(relayAir, OUTPUT);
pinMode(relayPupuk, OUTPUT);
digitalWrite(relayPupuk, statePupuk);
digitalWrite(relayAir, statePupuk);
// Debug console
Serial.begin(9600);
// Set ESP8266 baud rate
EspSerial.begin(ESP8266_BAUD);
delay(10);
dht.begin();
//Blynk.begin(auth, wifi, ssid, pass, server, port);
// You can also specify server:
Blynk.begin(auth, wifi, ssid, pass, "blynk-cloud.com", 80);
//Blynk.begin(auth, wifi, ssid, pass, IPAddress(192,168,1,100), 8080);
// Begin synchronizing time
rtc.begin();
// Other Time library functions can be used, like:
// timeStatus(), setSyncInterval(interval)...
// Read more: http://www.pjrc.com/teensy/td_libs_Time.html
// Display digital clock every 10 seconds
timer.setInterval(300000L, checkPenampungan);
timer.setInterval(1000L, CheckConnection);
timer.setInterval(1000L, clockDisplay);
}
Void loop(){
if(j < 1){
if((now.hour()==11 && now.minute()==14) && (distancePupuk < 70)){
statePupuk = !statePupuk;
Blynk.email("[email protected]", "Subject: Pemupukan kebunku",
"Your mini garden is being fertilized...");
Blynk.notify("Your mini garden is being ferilized...");
digitalWrite(relayPupuk, statePupuk);
delay(delayvalPupuk);
statePupuk = !statePupuk;
digitalWrite(relayPupuk, statePupuk);
j++;
}
}
Serial.print("batas pemupukan : ");
Serial.print(j);
Serial.println("/minggu");
prevsendsensor = currentMillis;
}
}
}
}
Listing program pengujian IoT
#define BLYNK_PRINT Serial
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "3499277b7e294e41a5a325a353e87b59";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "boa";
char pass[] = "jokotole3";
// Hardware Serial on Mega, Leonardo, Micro...
#define EspSerial Serial1
// or Software Serial on Uno, Nano...
//#include <SoftwareSerial.h>
//SoftwareSerial EspSerial(2, 3); // RX, TX
// Your ESP8266 baud rate:
#define ESP8266_BAUD 115200
ESP8266 wifi(&EspSerial);
void setup()
{
// Debug console
Serial.begin(9600);
delay(10);
// Set ESP8266 baud rate
EspSerial.begin(ESP8266_BAUD);
delay(10);
Blynk.begin(auth, wifi, ssid, pass);
}
void loop()
{
Blynk.run();
}
LAMPIRAN 2
/*************************************************************
Download latest Blynk library here:
https://github.com/blynkkk/blynk-library/releases/latest
Blynk is a platform with iOS and Android apps to control
Arduino, Raspberry Pi and the likes over the Internet.
You can easily build graphic interfaces for all your
projects by simply dragging and dropping widgets.
Downloads, docs, tutorials: http://www.blynk.cc
Sketch generator: http://examples.blynk.cc
Blynk community: http://community.blynk.cc
Follow us: http://www.fb.com/blynkapp
http://twitter.com/blynk_app
Blynk library is licensed under MIT license
This example code is in public domain.
*************************************************************
WARNING!
It's very tricky to get it working. Please read this article:
http://help.blynk.cc/hardware-and-libraries/arduino/esp8266-with-at-firmware
Blynk can provide your device with time data, like an RTC.
Please note that the accuracy of this method is up to several seconds.
App project setup:
RTC widget (no pin required)
Value Display widget on V1
Value Display widget on V2
WARNING :
For this example you'll need Time keeping library:
https://github.com/PaulStoffregen/Time
This code is based on an example from the Time library:
https://github.com/PaulStoffregen/Time/blob/master/examples/TimeSerial/TimeSerial.ino
*************************************************************/
/* Comment this out to disable prints and save space */
//#define BLYNK_TIMEOUT_MS 750
//#define BLYNK_HEARTBEAT 17
#define BLYNK_PRINT Serial
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>
#include <TimeLib.h>
#include <WidgetRTC.h>
#include <DHT.h>
#define ADCall A0
#define s0 3
#define s1 4
#define s2 5
#define SoilMoistureADMax 1023
#define SoilMoistureADMin 0
#define relayAir 6
#define relayPupuk 7
#define ledPin 2
int yesterday, i, a ,j;
float h,t;
int cahaya = 0;
int sensorValue = 0;
float outputValue = 0.0;
//using millis() instead of delay()
unsigned long prevDHT11 = 0;
unsigned long prevjarakAir = 0;
unsigned long prevjarakPupuk = 0;
unsigned long prevsendsensor = 0;
unsigned long prevmoist = 0;
unsigned long prevcahaya = 0;
boolean stateAir = true;
boolean statePupuk = true;
int valDHT11 = 1000;
int valAir = 1000;
int valPupuk = 1000;
int valsendsensor = 1000;
int valMoist = 1000;
int valCahaya = 1000;
int delayvalAir = 10000;
int delayvalPupuk = 10000;
//end of millis() :)
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "3499277b7e294e41a5a325a353e87b59";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "boa";
char pass[] = "jokotole3";
#define echoAir 8
#define trigAir 9
#define echoPupuk 10
#define trigPupuk 11
#define DHTPIN 12
#define DHTTYPE DHT11
int maxRangeAir = 150;
int minRangeAir = 5;
int maxRangePupuk = 100;
int minRangePupuk = 5;
long durationAir, distanceAir, durationPupuk, distancePupuk;
// Hardware Serial on Mega, Leonardo, Micro...
#define EspSerial Serial1
// or Software Serial on Uno, Nano...
//#include <SoftwareSerial.h>
//SoftwareSerial EspSerial(2, 3); // RX, TX
// Your ESP8266 baud rate:
#define ESP8266_BAUD 115200
ESP8266 wifi(&EspSerial);
BlynkTimer timer;
DHT dht(DHTPIN, DHTTYPE);
WidgetRTC rtc;
// Digital clock display of the time
void clockDisplay()
{
// You can call hour(), minute(), ... at any time
// Please see Time library examples for details
String currentTime = String(hour()) + ":" + minute() + ":" + second();
String currentDate = String(day()) + " " + month() + " " + year();
Serial.print("Current time: ");
Serial.print(currentTime);
Serial.print(" ");
Serial.print(currentDate);
Serial.println();
// Send time to the App
Blynk.virtualWrite(V9, currentTime);
// Send date to the App
Blynk.virtualWrite(V10, currentDate);
Blynk.virtualWrite(V1, millis()/1000);
if(digitalRead(ledPin) == HIGH){
unsigned long currentMillis = millis();
if((unsigned long)(currentMillis - prevsendsensor) >= valsendsensor){
if((unsigned long)(currentMillis - prevDHT11) >= valDHT11){
/* The following trigPin/echoPin cycle is used to determine the
distance of the nearest object by bouncing soundwaves off of it. */
h = dht.readHumidity();
t = dht.readTemperature();
if (!isnan(h) || !isnan(t)){
Serial.print("H udara: ");
Serial.print(h);
Serial.print(" ");
Serial.println(t);
Blynk.virtualWrite(V5, h);
Blynk.virtualWrite(V6, t);
}
prevDHT11 = currentMillis;
}
if((unsigned long)(currentMillis - prevjarakAir) >= valAir){
digitalWrite(trigAir, LOW);
delayMicroseconds(2);
digitalWrite(trigAir, HIGH);
delayMicroseconds(10);
digitalWrite(trigAir, LOW);
durationAir = pulseIn(echoAir, HIGH);
//Calculate the distance (in cm) based on the speed of sound.
distanceAir = durationAir/58.2;
if(distanceAir >= maxRangeAir || distanceAir <= minRangeAir){
Serial.println("Out of range");
}
else{
Serial.print("Penampungan Air: ");
Serial.print(distanceAir);
Serial.print(" ");
Blynk.virtualWrite(V7,distanceAir);
}
prevjarakAir = currentMillis;
}
if((unsigned long)(currentMillis - prevjarakPupuk) >= valPupuk){
digitalWrite(trigPupuk, LOW);
delayMicroseconds(2);
digitalWrite(trigPupuk, HIGH);
delayMicroseconds(10);
digitalWrite(trigPupuk, LOW);
durationPupuk = pulseIn(echoPupuk, HIGH);
distancePupuk = durationPupuk/58.2;
if(distancePupuk >= maxRangePupuk || distancePupuk <= minRangePupuk){
Serial.println("Out of range");
}
else{
Serial.print("Penampungan pupuk: ");
Serial.println(distancePupuk);
Blynk.virtualWrite(V8, distancePupuk);
}
prevjarakPupuk = currentMillis;
}
int moist;
if((unsigned long)(currentMillis - prevmoist) >= valMoist){
digitalWrite(s0, HIGH);
digitalWrite(s1, LOW);
digitalWrite(s2, LOW);
moist = analogRead(ADCall);
moist = map(moist, SoilMoistureADMax, SoilMoistureADMin, 0, 100);
Serial.print("Kelembaban tanah: ");
Blynk.virtualWrite(V2, moist);
Serial.print(moist);
Serial.println(" %");
prevmoist = currentMillis;
}
if((unsigned long)(currentMillis - prevcahaya) >= valCahaya){
digitalWrite(s0, LOW);
digitalWrite(s1, LOW);
digitalWrite(s2, LOW);
cahaya = analogRead(ADCall);
cahaya = map(cahaya, 0 , 1023, 0, 100);
Serial.print("persentase cahaya: ");
Serial.print(cahaya);
Serial.println(" %");
Blynk.virtualWrite(V3, cahaya);
prevcahaya = currentMillis;
}
int currentDay = day();
if(yesterday!=currentDay){
yesterday=currentDay;
i=0;
}
if(i < 4){
if((t > 25) && (h <= 95) && (moist < 60) && (distanceAir < 130) && (cahaya >
60)){
stateAir = !stateAir;
Blynk.email("[email protected]", "Subject: Penyiraman kebunku", "Your
mini garden is being watered...");
Blynk.notify("Your mini garden is being watered...");
digitalWrite(relayAir, stateAir);
delay(delayvalAir);
stateAir = !stateAir;
digitalWrite(relayAir, stateAir);
Serial.println("relay air");
i++;
}
}
Serial.print("batas penyiraman : ");
Serial.print(i);
Serial.println("/Hari");
digitalWrite(s0, LOW);
digitalWrite(s1, HIGH);
digitalWrite(s2, LOW);
sensorValue = analogRead(ADCall);
outputValue = (-0.0693*sensorValue)+7.3855;
Serial.print("pH= ");
Serial.println(outputValue);
Blynk.virtualWrite(V4, outputValue);
if(yesterday!=currentDay){
yesterday=currentDay;
a++;//reset hari
}
if(a == 7){
a=0;//1 minggu sekali pemupukan
j=0;//sehari SATU kali
}
if(j < 1){
if((hour()==16 && minute()==5) && (distancePupuk < 70)){
statePupuk = !statePupuk;
Blynk.email("[email protected]", "Subject: Pemupukan kebunku", "Your
mini garden is being fertilized...");
Blynk.notify("Your mini garden is being ferilized...");
digitalWrite(relayPupuk, statePupuk);
delay(delayvalPupuk);
statePupuk = !statePupuk;
digitalWrite(relayPupuk, statePupuk);
j++;
}
}
Serial.print("batas pemupukan : ");
Serial.print(j);
Serial.println("/minggu");
prevsendsensor = currentMillis;
}
}
}
BLYNK_CONNECTED(){//sinkronisasi dengan server
Blynk.syncVirtual(V0);
Serial.println("Terhubung Kembali!");
}
BLYNK_WRITE(V0){//pembacaan nilai pada widget button V0
if(param.asInt()==1){
digitalWrite(ledPin, HIGH);
Serial.println("sistem bekerja");
}
else{
digitalWrite(ledPin, LOW);
Serial.println("sistem mati");
}
}
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(trigAir, OUTPUT);
pinMode(trigPupuk, OUTPUT);
pinMode(echoAir, INPUT);
pinMode(echoPupuk, INPUT);
pinMode(relayAir, OUTPUT);
pinMode(relayPupuk, OUTPUT);
digitalWrite(relayPupuk, statePupuk);
digitalWrite(relayAir, statePupuk);
// Debug console
Serial.begin(9600);
// Set ESP8266 baud rate
EspSerial.begin(ESP8266_BAUD);
delay(10);
dht.begin();
//Blynk.begin(auth, wifi, ssid, pass, server, port);
// You can also specify server:
Blynk.begin(auth, wifi, ssid, pass, "blynk-cloud.com", 80);
//Blynk.begin(auth, wifi, ssid, pass, IPAddress(192,168,1,100), 8080);
// Begin synchronizing time
rtc.begin();
// Other Time library functions can be used, like:
// timeStatus(), setSyncInterval(interval)...
// Read more: http://www.pjrc.com/teensy/td_libs_Time.html
// Display digital clock every 10 seconds
timer.setInterval(300000L, checkPenampungan);
timer.setInterval(1000L, CheckConnection);
timer.setInterval(1000L, clockDisplay);
}
void checkPenampungan(){
if(distancePupuk > 50){
Blynk.notify("Mohon segera isi penampungan pupuk");
}
if(distanceAir > 115){
Blynk.notify("Mohon segera isi penampungan air");
}
}
void CheckConnection(){
if(!Blynk.connected()){
Serial.println("Tidak terhubung dengan server blynk");
Blynk.connect();
}
else{
Serial.println("Terhubung ke blynk server");
}
}
void loop()
{
if(Blynk.connected()){
Blynk.run();
}
timer.run();
}
LAMPIRAN 3
LAMPIRAN 4
LAMPIRAN 5
LAMPIRAN 6