LAPORAN PRAKTIK KERJA LAPANGAN RANCANG BANGUN SISTEM PENYIRAM TANAMAN OTOMATIS BERBASIS ARDUINO DI RUMAH KACA PUSAT PENELITAN BIOTEKNOLOGI- LIPI
MUHAMMAD LUTFI BUDIANSYAH
PROGRAM KEAHLIAN TEKNIK KOMPUTER PROGRAM DIPLOMA INSTITUT PERTANIAN BOGOR BOGOR 2014
PERNYATAAN MENGENAI LAPORAN HASIL PRAKTIK KERJA LAPANGAN DAN SUMBER INFORMASI
Dengan ini saya menyatakan laporan praktik kerja lapangan Rancang Bangun Sistem Penyiram Tanaman Otomatis Berbasis Arduino di Rumah Kaca Pusat Penelitan Bioteknologi- LIPI adalah karya saya dengan arahan komisi pembimbing dan belum diajukan dalam bentuk apapun kepada perguruan tinggi manapun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir laporan ini.
Bogor, April 2014
Muhammad Lutfi Budiansyah NIM J3D111075
RINGKASAN
MUHAMMAD LUTFI BUDIANSYAH. Rancang Bangun Sistem Penyiram Tanaman Otomatis Berbasis Arduino Di Rumah Kaca Pusat Penelitan Bioteknologi- LIPI. Dibimbing oleh EUIS SURYATI Pada laporan praktik kerja lapangan ini, penulis mengangkat topik tentang Rancang Bangun Sistem Penyiram Tanaman Otomatis Berbasis Arduino Di Rumah Kaca Pusat Penelitan Bioteknologi- LIPI. Topik ini didapatkan setelah melakukan analisis masalah di tempat penulis melaksanakan praktik kerja lapangan. Sistem penyiraman tanaman otomatis ini diperlukan untuk memudahkan penanggung jawab rumah kaca untuk merawat tanaman di rumah kaca secara lebih efektif. Sistem ini berguna untuk menyiram tanaman secara otomatis disaat membutuhkan air. Selain itu, sistem ini sanggup memonitor kelembaban tanah pada pot melalui aplikasi web. Kata kunci: Arduino, Kelembaban Tanah, Penyiram Otomatis
RANCANG BANGUN SISTEM PENYIRAM TANAMAN OTOMATIS BERBASIS ARDUINO DI RUMAH KACA PUSAT PENELITAN BIOTEKNOLOGI- LIPI
MUHAMMAD LUTFI BUDIANSYAH
Laporan Praktik Kerja Lapangan sebagai salah satu syarat untuk memperoleh gelar Ahli Madya pada Program Diploma Keahlian Teknik Komputer
PROGRAM KEAHLIAN TEKNIK KOMPUTER PROGRAM DIPLOMA INSTITUT PERTANIAN BOGOR BOGOR 2014
Judul PKL
:
Nama NIM
: :
Rancang Bangun Sistem Penyiram Tanaman Otomatis Berbasis Arduino di Rumah Kaca Pusat Penelitan Bioteknologi- LIPI Muhammad Lutfi Budiansyah J3D111075
Disetujui Oleh
Euis Suryati, ST Pembimbing
Diketahui Oleh
Dr Ir Bagus Priyo Purwanto, MAgr Direktur
Tanggal Lulus :
Shelvie Nidya Neyman, SKom Msi Koordinator Program Keahlian
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah SWT atas segala karunia-Nya penulis dapat menyelesaikan laporan Praktik Kerja Lapang (PKL) ini dengan tepat pada waktunya. Kegiatan PKL dilaksanakan pada tanggal 3 Februari 2014 sampai dengan 28 Maret 2014 di Perpustakaan Bioteknologi LIPI. Dalam kesempatan ini, penulis menyampaikan rasa terima kasih kepada : 1. Orang tua penulis yang telah memberikan dukungan moril dan materiil 2. Ibu Euis Suryati, ST selaku pembimbing PKL yang telah memberikan ilmunya 3. Bapak Tutang, SE, MM selaku pembimbing lapangan di PP Bioteknologi- LIPI yang telah memberikan instruksi dan petunjuk di lapangan 4. Panitia PKL Teknik Komputer TA 2013/2014 yang telah memberikan bantuan terkait dengan prosedur PKL 5. Teman- teman Teknik Komputer 48 yang telah membantu dan mendukung dalam penulisan laporan ini. Penulisan laporan ini tidak terlepas dari kekurangan. Oleh karena itu, penulis mengharapkan masukan berupa kritik dan saran yang bersifat membangun untuk penyempurnaannya. Semoga tulisan ini dapat bermanfaat bagi para pembaca.
Bogor, April 2014
Muhammad Lutfi Budiansyah
DAFTAR ISI DAFTAR ISI vii DAFTAR GAMBAR vii 1 PENDAHULUAN 1 1.1 Latar Belakang 1 1.2 Tujuan 1 1.3 Batasan Masalah 1 1.4 Manfaat 2 2 METODE KAJIAN 2 2.1 Tempat dan Waktu PKL 2 2.2 Metode Bidang Kajian 2 2.2.1 Analisa Masalah 2 2.2.2 Pengumpulan Data 2 2.2.3 Perancangan dan Pembuatan Aplikasi Web 2 2.2.4 Perancangan Alat 3 2.2.5 Perakitan Alat 3 2.2.6 Pengujian 3 2.2.7 Implementasi Alat 3 3 KEADAAN UMUM PUSAT PENELITIAN BIOTEKNOLOGI – LIPI 3 3.1 Sejarah 3 3.2 Kegiatan Lembaga 4 3.3 Struktur Organisasi 5 3.4 Tujuan Lembaga 5 3.5 Tugas dan Fungsi Lembaga 5 4 RANCANG BANGUN SISTEM PENYIRAM TANAMAN OTOMATIS BERBASIS ARDUINO DI RUMAH KACA PUSAT PENELITAN BIOTEKNOLOGI- LIPI 6 4.1 Analisa Masalah 6 4.2 Perancangan dan Pembuatan Aplikasi Web 6 4.2.1 Kebutuhan Fungsional 6 4.2.2 Kode Program Aplikasi Web 6 4.3 Perancangan Alat 7 4.3.1 Pembuatan Flowchart 7 4.3.2 Pembuatan Blok Diagram 8 4.3.3 Skema Rangkaian 9 4.3.4 Pembuatan Program Mikrokontroler 11 4.4 Perakitan Alat 13 4.5 Pengujian 14 4.6 Implementasi Alat 14 5 SIMPULAN DAN SARAN 15 5.1 Simpulan 15 5.2 Saran 15
DAFTAR GAMBAR 1 Struktur Organisasi 2 Antarmuka bagian beranda
4 7
3 4 5 6 7 8 9 10 11 12
Flowchart Sistem Penyiram Tanaman Otomatis Blok Diagram Sistem Penyiram Tanaman Otomatis Skema Rangkaian Sistem Penyiram Tanaman Otomatis Kode program bagian setup() Kode program bagian loop (1) Kode program bagian loop (2) Perangkat yang telah dipasang ke casing Uji Keluaran pada LCD Uji Sensor dan Tampilan Web Uji Sensor dan Tampilan Web
8 9 11 12 12 13 13 14 14 15
1
1 PENDAHULUAN 1.1 Latar Belakang Pengembangan rumah kaca untuk agribisnis hortikultura salah satunya didasari pada keinginan pemenuhan kebutuhan produk pertanian yang berkelanjutan tanpa kenal musim. Adanya rumah kaca memungkinkan petani dapat menanam suatu jenis tanaman hortikultura di luar musim yang ada, membuat petani memiliki persediaan disaat tanaman tertentu tidak musim. Maka, dapat disimpulkan petani mendapat keuntungan lebih ketika harga komoditas sedang tinggi. Namun rumah kaca memerlukan peralatan untuk memonitor dan mengontrol kondisi lingkungan agar dapat memberikan produk hasil yang optimal. Lingkungan yang dikontrol salah satunya kelembaban tanah pada tanaman Kelembaban sangat mempengaruhi proses pertumbuhan tanaman. Kelembaban tanah yang rendah akan berpengaruh terhadap menurunya jasad yang berada di dalam tanah itu sendiri. Apabila hal itu terjadi maka akan mempengaruhi proses-proses kimiawi dan aktivitas jasad-jasad yang dapat merombak unsur hara dalam tanah yang merupakan asupan yang penting bagi proses pertumbuhan pada tanaman, untuk itu dibutuhkan alat yang mampu menjaga kelembaban tanah. Alat ini menawarkan solusi dengan cara menjaga kelembaban tanah sesuai dengan kelembaban tanah ideal tanaman yang tumbuh di tanah tersebut
1.2 Tujuan Adapun tujuan dari perancangan alat ini adalah : 1. Membuat sistem penyiraman tanaman otomatis berbasis Arduino di rumah kaca 2. Monitoring kelembaban tanah pada tanaman di rumah kaca. 3. Menjaga kelembaban tanah berada pada titik ideal tanaman yang tumbuh di rumah kaca.
1.3 Batasan Masalah
1. 2. 3. 4. 5. 6.
Berdasarkan tujuan diatas, maka dapat diperoleh batasan masalah sebagai berikut: Mikrokontroler yang digunakan adalah Arduino Uno Sensor kelembaban tanah yang digunakan adalah SEN0057 dari DFRobot Pompa air digunakan sebagai pengendali kelembaban tanah Alat bekerja di dalam rumah kaca Tanaman yang digunakan adalah Pisang Raja Kinalun Alat dipasang pada tanaman yang ada dalam pot
2
1.4 Manfaat Manfaat dari praktik kerja lapangan ini adalah meningkatkan efektivitas penyiraman tanaman di rumah kaca PP Bioteknologi-LIPI
2 METODE KAJIAN 2.1 Tempat dan Waktu PKL Kegiatan PKL dilaksanakan selama 40 hari kerja, dimulai tanggal 3 Februari 2014 sampai dengan 28 Maret 2014. Waktu pelaksanaannya setiap hari kerja, yaitu Senin sampai Jumat pada pukul 07.30 hingga 16.00 WIB. Tempat pelaksanaan PKL di Pusat Penelitian Bioteknologi LIPI yang beralamat di Jl. Raya Bogor Km 46, Cibinong 16911, Bogor, Jawa Barat, Indonesia.
2.2 Metode Bidang Kajian Berikut ini metode yang digunakan dalam perancangan alat, yaitu analisa masalah, perancangan dan pembuatan web, perancangan alat, perakitan alat, pengujian alat dan implementasi alat. 2.2.1 Analisa Masalah Pada bagian ini terdapat dua analisa, yaitu analisa sistem dan analisa kebutuhan. Analisa sistem dilakukan untuk memahami sistem terdahulu guna mencari solusi dari kekurangan yang ada. Analisa kebutuhan dilakukan untuk menyesuaikan antara keinginan/kemampuan instansi dengan solusi yang telah direncanakan. Setelah masalah dianalisa, pencarian solusi dilakukan.
2.2.2 Pengumpulan Data Studi pustaka menjadi teknik pengumpulan data pada sistem ini, dimulai dengan membaca majalah, buku, dan websites tentang pisang raja kinalun. Dengan teknik ini didapat kelembaban tanah ideal untuk pisang raja kinalun.
2.2.3 Perancangan dan Pembuatan Aplikasi Web Perancangan aplikasi web dimulai dari mengidentifikasi kebutuhan fungsional web, merancang antarmuka web, dan merancang basis data. Pembuatan apilasi web dilakukan dengan membuat basis data sesuai
3 dengan rancangan, membuat program untuk setiap fungsional web dan membuat antarmuka web.
2.2.4 Perancangan Alat Perancangan alat dimulai dari pembuatan flowchart dan blok diagram. Pada perancangan alat juga dilakukan pembuatan skema rangkaian, perancangan perangkat keras dan program untuk mikrokontroler.
2.2.5 Perakitan Alat Perakitan alat merupakan kegiatan menyatukan modul input output yang sebelumnya terpisah, menjadi satu kesatuan alat yang sesuai dengan tujuan kajian. Perakitan alat dilakukan dengan membuat rangkaian PCB sesuai dengan skema rangkaian yang dijadikan sebagai penghubung antara modul input output dengan mikrokontroler.
2.2.6 Pengujian Pengujian dilakukan untuk mengetahui kesesuaian hasil uji alat dengan tujuan awal dari perancangan alat. Pengujian alat dilakukan dengan menjalankan fungsi alat sesuai dengan flowchart.
2.2.7 Implementasi Alat Implementasi alat dilakukan sebagai tahapan akhir dari pembuatan alat keamanan pintu. Dilakukan dengan memasang alat pada rumah kaca di Pusat Penelitian Bioteknelogi-LIPI.
3 KEADAAN UMUM PUSAT PENELITIAN BIOTEKNOLOGI – LIPI 3.1 Sejarah Pusat penelitian (Puslit) Bioteknologi LIPI, awalnya bernama Pusat Penelitian dan Pengembangan (Puslitbang) Bioteknologi LIPI. Puslit ini didirikan pada tanggal 13 Januari 1986 berdasarkan Kepres RI No.1 tahun 1986 dan berada di bawah Deputi bidang Ilmu Pengetahuan Hayati. Puslit Bioteknologi didirikan dalam rangka pengembangan dan pemanfaatan Bioteknologi di Indonesia. Pada bulan April 1993, Puslit Bioteknologi LIPI masih berada dalam satu bangunan dengan Puslitbang Biologi LIPI Bogor, yaitu di Gedung
4 Kusnoto yang terletak pada di Jalan Ir.H. Djuanda No. 18 Bogor. Kemudian sejak tanggal 1 Oktober 1993, karena beberapa pertimbangan, semua kegiatan Puslit dipindahkan ke Jalan Raya Bogor Km 46 Cibinong. Pusat Penelitian Bioteknologi LIPI telah ditetapkan menjadi salah satu pusat unggulan Bioteknologi pertanian II berdasarkan SK Menteri Riset dan Teknologi. Pada tahun 2001 sesuai SK Kepala LIPI No. 1151/Kep/2001 Puslitbang Bioteknologi LIPI berubah nama menjadi Pusat Penelitian Bioteknologi LIPI.
3.2 Kegiatan Lembaga Puslit Bioteknologi LIPI merupakan penyedia dan pengolah informasi untuk berbagai kegiatan riset dan juga pengembangan di bidang bioteknologi. Puslit Bioteknologi LIPI juga memberikan informasi manajemen ilmu pengetahuan dan teknologi (IPTEK), serta membangun jaringan kerjasama dengan pusat-pusat di lingkungan LIPI guna mendukung kinerjanya serta mengambil keputusan dan memberikan pelayanan yang prima dalam sistem manajemen informasi dan administrasi umum.
Tempat implementasi alat
Gambar 1 Struktur Organisasi
5 3.3 Struktur Organisasi Struktur organisasi Puslit Bioteknologi-LIPI terdiri dari : 1 2 3 4 5
Bidang Biologi Molekuler Bidang Biologi Sel dan Jaringan Bidang Bioproses Bidang Sarana Penelitian Bagian Tata Usaha (TU) Adapun gambar struktur Puslit Bioteknologi-LIPI sebagai berikut :
3.4 Tujuan Lembaga
1
2 3 4 5
Adapun tujuan dari Puslit Bioteknologi-LIPI sebagai berikut : Memanfaatkan bioteknologi modern untuk meningkatkan nilai tambah sumber daya hayati untuk bahan pangan, obat-obatan, kesehatan masyarakat dan perbaikan lingkungan hidup Meningkatkan kemampuan dan jumlah SDM di bidang biologi sel, biologi molekuler, bioproses dan ilmu lain yang menunjang Meningkatkan kemampuan manajerial dan sistem administrasi kelembagaan riset modern Membantu menyiapkan rumusan kebijakan dalam bidang bioteknologi Mengembangkan sistem/aturan kemitraan dan kerjasama yang profesional secara internal dan eksternal sesuai dengan peraturan perundang-undangan yang berlaku.
3.5 Tugas dan Fungsi Lembaga
1. 2. 3. 4. 5. 6.
Puslit Bioteknologi-LIPI sesuai dengan Keputusan Kepala LIPI Nomor 1151/Kep/M/2001, tanggal 5 Juni 2001, Pasal 145 mempunyai tugas menyiapkan bahan perumusan kebijakan, penyusunan pedoman, pemberian bimbingan teknis, penyusunan rencana dan program, pelaksanaan penelitian bidang bioteknologi, serta evaluasi dan penyusunan laporan. Untuk melaksanakan tugas sebagaimana dimaksud dalam Pasal 145 di atas, Puslit Bioteknologi-LIPI mempunyai tugas : Menyiapkan bahan perumusan kebijakan penelitian bidang bioteknologi Penyusunan pedoman, pembinaan dan pemberian bimbingan teknis bidang bioteknologi Penyusunan rencana, program dan pelaksanaan penelitian bidang bioteknologi Pemantauan pemanfaatan hasil penelitian bidang bioteknologi Pelayanan jasa ilmu pengetahuan dan teknologi bidang bioteknologi Evaluasi dan penyusunan laporan penelitian bioteknologi
6 7. Pelaksanaan urusan tata usaha
4 RANCANG BANGUN SISTEM PENYIRAM TANAMAN OTOMATIS BERBASIS ARDUINO DI RUMAH KACA PUSAT PENELITAN BIOTEKNOLOGI- LIPI 4.1 Analisa Masalah Rumah kaca di Pusat Penelitian Bioteknologi-LIPI masih menggunakan sistem yang tidak efektif. Pekerja ataupun penanggung jawab harus sering memantau kondisi tanah pohon pisang yang ada di rumah kaca. Dan ketika dipantau kondisi tanah pohon pisang kering maka pekerja harus menyiram tanaman tersebut. Efektivitas kerja dapat ditingkatkan dengan cara memberi air pada tanaman disaat tanah kering secara otomatis dan informasi kondisi tanah secara realtime. Untuk mendapatkan efektivitas tersebut maka dibutuhkan perangkat keras yang terintegrasi dengan kemampuan pembacaan masukan, pemrosesan data, dan pengeluaran data yang terprogram. Perangkat keras tersebut dapat menggunakan sebuah mikrokontroler yang terhubung dengan aplikasi web.
4.2 Perancangan dan Pembuatan Aplikasi Web 4.2.1 Kebutuhan Fungsional Kebutuhan fungsional aplikasi web pada sistem kendali pintu ini adalah sebagai monitor kelembaban tanah.
4.2.2 Kode Program Aplikasi Web Aplikasi web ditulis dalam menggunakan bahasa pemrograman PHP. Aplikasi web menggunakan CodeIgniter sebagai framework. CodeIgniter menggunakan pola pemrograman MVC (Model-viewcontroller). Model adalah objek yang merepresentasi basis data yang terletak diatas basis data dan akan mengakses dan memanipulasi basis data saat dibutuhkan. View memperlihatkan kondisi pada model yang bertanggung jawab untuk memberikan informasi pada pengguna. Controller adalah tempat semua logika aplikasi yang berfungsi sebagai parantara model dan view dan semua sumber data yang dibutuhkan untuk pemrosesan HTTP Request serta menggenerasi halaman web. Controller juga berfungsi untuk menyediakan data dinamis yang ditampilkan pada view.
7 Secara garis besar, controller kode program terbagi dua. Pertama, bagian yang berfungsi sebagai API pengguna aplikasi web dan kedua, bagian yang berfungsi sebagai API perangkat keras. Bagian pertama terdiri dari fungsi index(), berfungsi untuk mengenerasi antarmuka beranda. Sedangkan, Bagian kedua terdiri dari Fungsi gcs_get_value() berfungsi untuk mendapatkan nilai dari sensor kelembaban tanah View adalah antarmuka aplikasi web dibutuhkan untuk monitoring kelembaban tanah yang ada pada rumah kaca. Pada sistem yang ada saat ini Antarmuka pengguna hanya memanfaat kan beranda (Error! eference source not found.), yang berfungsi sebagai pratinjau kondisi kelembaban tanah pada pot tanaman
Gambar 2 Antarmuka bagian beranda
4.3 Perancangan Alat 4.3.1 Pembuatan Flowchart Flowchart sistem penyiram tanaman otomatis ini ditunjukkan pada Error! Reference source not found.. Sistem akan dimulai dengan eadaan awal pompa air yang digunakan untuk menyiram tanaman yang kering. Setelah itu sensor yang membaca kelembaban tanah akan menampilkan data pada LCD yang selanjutnya di kirim ke web untuk ditampilkan di antarmuka aplikasi web secara realtime. Ketika kelembaban tanah berada dibawah titik ideal tanaman pisang pompa akan menyala. Pompa akan menyala sampai titik ideal kelembaban tanah untuk tanaman pisang tercapai.
8
Gambar 3 Flowchart Sistem Penyiram Tanaman Otomatis
4.3.2 Pembuatan Blok Diagram Blok diagram pada sistem penyiram tanaman ini ditunjukkan pada Error! Reference source not found.. Sebagai pemroses data, ikrokontroler yang digunakan adalah Arduino Uno yang terhubung dengan Ethernet Shield. Arduino Uno berfungsi sebagai pemroses data masukan dan melakukan keluaran yang sesuai. Ethernet Shield berfungsi sebagai penghubung mikrokontroler dengan aplikasi web. Ethernet Shield akan mengatur pengiriman dan penerimaan data dari mikrokontroler ke aplikasi web. Sebagai masukan, Sensor kelembaban tanah membaca resistansi tanah dan menghitung arus yang lewat dari kedua kaki sensor. Data dikirim ke Arduino dan web. Sebagai keluaran, menggunakan LCD untuk menampilkan informasi kepada pengguna. Informasi tersebut berupa presentase kelembaban tanah. Untuk aksi sistem ini menggunakan relai untuk memicu pompa menyiram tanaman apabila tanaman kering.
9
Gambar 4 Blok Diagram Sistem Penyiram Tanaman Otomatis
4.3.3 Skema Rangkaian Sebelum membuat skema rangkaian, sesuai blok diagram perangkat keras yang digunakan adalah: 1 Arduino Uno Arduino Uno adalah mikrokontroler berbasis ATmega328. Arduino Uno memiliki semua yang dibutuhkan untuk mendukung mikrokontroler. Arduino Uno membutuhkan daya sebesar 7-12V. Arduino Uno memiliki 14 pin digital, semuanya dapat digunakan sebagai input atau output. Ke 14 pin tersebut beroperasi pada tegangan 5 volt. Setiap pin dapat mengeluarkan dan menerima arus sebesar maksimum 40mA dan mempunyai tahanan pull-up internal sebesar 2050kΩ (tidak aktif dalam kondisi default). Beberapa pin mempunyai fungsi spesial, yaitu, pin 0 (RX) dan 1 (TX) digunakan untuk data serial dan pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) sebagai komunikasi SPI. Arduino Uno juga memiliki 6 masukan analog yang berlabel A0-A5. Setiap masukan analog menyediakan Analog-to-Digital Converter dengan resolusi 10-bit. Pin A4 (SDA, Serial Data Line) dan A5 (SCL, Single Clock Line) dapat digunakan sebagai antarmuka I2C. Arduino Uno menggunakan bahasa pemrograman C. Program yang telah di-compile dapat langsung diunggah ke Arduino Uno menggunakan koneksi USB. 2 Ethernet Shield Arduino Ethernet Shield adalah modul Arduino yang memungkinkan Arduino terhubung dengan jaringan untuk berkomunikasi dengan
10 perangkat jaringan lainnya. Ethernet Shield ini berbasis pada pada Wiznet W5100 ethernet chip. Wiznet W5100 menyediakan sebuah jaringan (IP) yang mendukung protokol TCP dan UDP. Perangkat ini mendukung hingga empat koneksi soket simultan. Ethernet Shield memiliki standar koneksi RJ – 45. Arduino berkomunikasi W5100 menggunakan bus SPI (melalui header ICSP ). Pin 10 digunakan untuk memilih W5100. Pin tersebut tidak dapat digunakan untuk I/O umum. Ethernet Shield beroperasi pada tegangan 5V yang dipasok dari Arduino Uno. Perangkat ini memiliki kecepatan koneksi sebesar 10/100Mb, dan terhubung dengan Arduino Uno melalui port SPI. 3 Sensor Kelembaban Tanah Sensor kelembaban tanah yang alat ini gunakan adalah produk dari DFRobot dengan kode produk SEN0057 yang berbentuk layaknya garpu berkaki 2. Sensor ini menentukan kelembaban tanah dengan cara menghitung resistansi tanah dan arus yang lewat dari kaki sensor ke kaki lainnya. Logikanya, apabila tanah lembab maka resistansi kecil karena terdapat banyak molekul air di dalam tanah sehingga, arus yang lewat dari kaki sensor semakin kuat saat di terima kaki sensor yang lain. Sebaliknya, apabila tanah kering maka resistansi tanah menjadi kecil karena molekul air sedikit sehingga, daya hantar arus listrik pada tanah berkurang. 4 LCD I2C 20x4 LCD atau Liquid Crystal Display adalah suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil utama, kristal cair tidak menghasilkan cahaya secara langsung. Sumber cahaya pada LCD dihasilkan oleh iluminasi yang disebut sebagai backlight yang berada pada sisi belakang LCD. Sebagai pembentuk karakter pada LCD, sistem ini menggunakan HD44780 yang telah ditanam pada LCD. HD44780 dapat mencetak karakter ASCII dan 28 simbol khusus lainnya. Antarmuka LCD pada sistem ini menggunakan I2C dengan PCF8574 sebagai kontrolernya. I2C membutuhkan 2 pin sebagai kontrolernya, yaitu SDA (Serial Data Line) dan SCL (Serial Clock Line). 5 Relai Relai adalah suatu peranti yang menggunakan elektromagnet untuk mengoperasikan seperangkat kontak sakelar. Susunan paling sederhana terdiri dari kumparan kawat penghantar yang dililit pada inti besi. Bila kumparan ini dienergikan, medan magnet yang terbentuk menarik armatur berporos yang digunakan sebagai pengungkit mekanisme sakelar. cara kerja relai yang alat ini gunakan adalah normal tertutup artinya, kontak terbuka apabila relai dihidupkan. 6 Pompa air Pompa air digunakan sebagai aksi dari alat ini. Layaknya pompa pada umumnya, pompa air ini berfungsi sebagai penyedot air dari
11 penampungan dan mengalirkan ke tanaman yang kondisi kelembaban tanahnya dibawah titik ideal.
Gambar 5 Skema Rangkaian Sistem Penyiram Tanaman Otomatis
Skema rangkaian pada Penyiram Tanaman Otomatis ditunjukkan pada Error! Reference source not found.. Arduino Uno digunakan ebagai mikrokontroler yang ditumpuk dengan Ethernet Shield. Rangkaian akan disuplai daya sebesar 9V. Sebagai masukan perangkat keras, Sensor kelembaban yang dihubungkan ke Arduino Uno menggunakan pin Ground, dan A3. Relai dihubungkan ke ground dan pin 4. Sebagai keluaran, LCD 20x5 dengan interface I2C dihubungkan menggunakan pin A4 dan A5. Ethernet Shield menggunakan pin 10-13 sebagai komunikasi data masuk dan keluar dari perangkat keras ke dan dari aplikasi web. Ethernet Shield juga menggunakan antar muka SPI Arduino Uno. 4.3.4 Pembuatan Program Mikrokontroler Pemrograman pada Arduino menggunakan bahasa pemrogramana C++ dengan ekstensi file *.ino yang dicompile menggunakan program Arduino IDE. Pada saat pertama Arduino dijalankan, bagian setup (Error! eference source not found.) adalah hal pertama yang dijalankan oleh Arduino. Berikut penjelasannya:
12 1 Serial.begin(9600), digunakan hanya untuk keperluan debugging. 2 Ethernet.begin(mac, ip), inisialisasi Ethernet Shield
Gambar 6 Kode program bagian setup()
3 Bagian lcd.*, inisialisasi LCD. 4 check_server(), memanggil fungsi check_server 5 pinMode(*, INPUT), befungsi untuk mengatur pin * sebagai masukan. Setelah bagian setup dijalankan, maka Arduino akan masuk ke bagian loop. Bagian ini dijalankan terus menerus. Berikut bagian-bagian dari kode program bagian loop.
Gambar 7 Kode program bagian loop (1)
Bagian kode program pada Error! Reference source not found. erfungsi untuk membaca nilai pada sensor kelembaban tanah yang nilainya nanti akan dibandingkan dengan titik ideal.
13
Gambar 8 Kode program bagian loop (2)
Bagian kode program pada Error! Reference source not found. embandingkan nilai yang dibaca sensor pada fungsi loop 1, dengan nilai kelembaban tanah ideal yang sudah ditentukan. Apabila nilai kurang dari nilai ideal maka relai akan memicu pompa untuk hidup, sebaliknya apabila nilai sudah melebihi nilai ideal maka pompa akan dimatikan.
4.4 Perakitan Alat Tahap perakitan alat dimulai dengan menghubungkan semua modul atau perangkat keras yang digunakan menjadi satu kesatuan sehingga menjadi alat penyiram tanaman otomatis yang dapat digunakan. Seteleh itu dilanjutkan dengan pengemasan alat yang merupakan tahap membuat casing sebagai tempat dudukan perangkat keras yang telah dihubungkan. Penghubungan alat dimulai dari pembuatan rangkaian PCB sebagai penghubung antara modul dan mikrokontroler. Lalu pengemasan alat dimulai dengan membuat kotak yang berukuran 20cm x 10cm x 10cm dengan bahan acrylic. Setelah rangkaian PCB dan casing selesai dibuat, semua perangkat keras dihubungkan dengan mikrokontroler menggunakan PCB sebagai perantara . Lalu perangkat keras yang telah dihubungkan dipasang ke casing (Error! Reference source not found.). Setelah semua selesai, rogram yang telah dibuat diunggah kedalam mikrokontroler agar mikrokontroler dapat berfungsi. Kemudian alat siap untuk diuji.
Gambar 9 Perangkat yang telah dipasang ke casing
14 4.5 Pengujian Uji coba bertujuan untuk melakukan pengecekan kesesuaian hasil akhir alat dengan flowchart yang telah dibuat. Pengujian melewati beberapa tahap pengujian sebagai berikut : 1 Uji keluaran pada LCD Pengujian dilakukan dengan cara menghidupkan perangkat dan LCD dapat menampilkan informasi kepada pengguna. Pada (Gambar 10) menunjukan bahwa LCD dapat menampilkan informasi kepada pengguna.
Gambar 10 Uji Keluaran pada LCD
2 Uji Sensor dan Tampilan Web Pengujian ini dilakukan dengan untuk memastikan alat terhubung dengan aplikasi web dan sensor berjalan dengan baik
Gambar 11 Uji Sensor dan Tampilan Web
4.6 Implementasi Alat Perangkat keras yang telah dipasang pada rumah kaca yang terhubung dengan router untuk mengirimkan data ke website. Perangkat keras dihubungkan dengan router menggunakan kabel UTP. Aplikasi web dipasang di server web Bioteknologi LIPI dan dapat diakses di http://prakom.lipi.go.id/BiotechWeb
15 Berikut dokumentasi implementasi alat:
Gambar 12 Uji Sensor dan Tampilan Web
5 SIMPULAN DAN SARAN 5.1 Simpulan Alat penyiraman tanaman otomatis berbasis Arduino ini digunakan untuk memantau dan merawat tanaman pisang pada rumah kaca Pusat Penelitian Bioteknologi-LIPI. Nilai kelembaban tanah yang dibaca ditampilkan pada aplikasi web secara realtime. Pompa air digunakan untuk menyiram tanaman yang kelembaban tanahnya dibawah titik ideal. 5.2 Saran Alat penyiraman tanaman otomatis berbasis Arduino ini sebaiknya menambahkan sensor lebih banyak. Untuk fleksibilitas sebaiknya juga dilengkapi fitur pemilih tanaman yang bisa menambahkan jenis tanaman tanpa harus merubah bagian dalam aplikasi web.
16
DAFTAR PUSTAKA Banzi, M. 2011. Getting Started with Arduino, 2nd Edition. California (US): Make:Books Boxall, J. 2013. Arduino Workshop: A Hands-On Introduction with 65 Projects. California (US): No Starch Press Margolis, M. 2011. Arduino Cookbook, 2nd Edition. California (US): O’Reilly Media, Inc. McRoberts, M. 2013. Beginning Arduino, 2nd Edition. New York (US): Apress Rumbelow, J. 2012. The Codeigniter Handbook – Vol. 1. Cambridgeshire (UK): Efendi Publishing Uptown, D. 2007. Codeigniter for Rapid PHP Application Development. Birmingham (UK): Packt Publishing Ltd. Prayoga, Firman. 2009. Pisang Raja Kinalun: Varietas Unggul Dalam Negeri. Trubus,134 : 53-56. Suhardiyanto, Herry. 2009. Teknologi Rumah Tanaman Untuk Iklim Tropika Basah. IPB Press
17
LAMPIRAN
18 Lampiran 1 Kode Program Perangkat Keras #include <SPI.h> #include
#include <Ethernet.h> #include <EthernetClient.h> #include <Wire.h> #include #include #include #include #include byte mac[] = {0x90, 0xA2, 0xDA, 0x0E, 0xF5, 0x30}; const char server[] = "192.168.2.4"; IPAddress ip(192,168,1,13); LiquidCrystal_I2C lcd(0x27,20,4); const int relay_1 = 2; const int relay_2 = 3; const int relay_3 = 5; const int relay_4 = 6; const int h_pin = A3; const int t_pin = 9; const int ah_pin = 8; int commaPosition; OneWire oneWire(t_pin); DallasTemperature temp_sensor(&oneWire); dht11 DHT11; int h_lower; int h_upper; int l_target; boolean fan_pump; int BH1750address = 0x23; byte buff[2]; void setup(){ Serial.begin(9600); Ethernet.begin(mac, ip); Serial.println(Ethernet.localIP()); pinMode(relay_1, OUTPUT); pinMode(relay_2, OUTPUT); pinMode(relay_3, OUTPUT); pinMode(relay_4, OUTPUT); lcd.init();
19 lcd.backlight(); lcd.setCursor(0, 0); lcd.print("Tanah : %"); lcd.setCursor(0, 1); lcd.print("Cahaya : lx"); lcd.setCursor(0, 2); lcd.print("Kelembaban : %"); lcd.setCursor(0, 3); lcd.print("Temperatur :"); lcd.setCursor(18,3); lcd.print((char)223); lcd.setCursor(19,3); lcd.print("C"); delay(1000); } void loop(){ String val = get_value("/api/gcs/gcs_get_value"); commaPosition = val.indexOf(';'); h_lower = val.substring(0,commaPosition).toInt(); val = val.substring(commaPosition+1, val.length()); Serial.println(h_lower); commaPosition = val.indexOf(';'); h_upper = val.substring(0,commaPosition).toInt(); Serial.println(h_upper); l_target = val.substring(commaPosition+1, val.length()).toInt(); Serial.println(l_target); BH1750_Init(BH1750address); delay(200); int lux; if(2==BH1750_Read(BH1750address)){ lux = ((buff[0]<<8)|buff[1])/1.2; Serial.print("Light: "); Serial.print(lux); Serial.println(" lx"); } temp_sensor.requestTemperatures(); float temp = temp_sensor.getTempCByIndex(0); Serial.println(temp); int h = constrain(analogRead(h_pin), 255, 1023); int soil = map(h, 255, 1023, 100, 0); Serial.println(soil); DHT11.read(ah_pin); int ah = DHT11.humidity; Serial.println(ah);
20 print_lcd(lux, temp, soil, ah); if(lux < l_target){ digitalWrite(relay_1, HIGH); }else{ digitalWrite(relay_1, LOW); } if(soil < h_lower){ digitalWrite(relay_2, HIGH); } if(soil > h_upper){ digitalWrite(relay_2, LOW); } if(ah > 70){ fan_pump = true; digitalWrite(relay_3, HIGH); digitalWrite(relay_4, HIGH); }else{ fan_pump = false; digitalWrite(relay_3, LOW); digitalWrite(relay_4, LOW); } if(temp > 40){ digitalWrite(relay_3, HIGH); }else if(!fan_pump){ digitalWrite(relay_3, LOW); } send_log(lux, temp, soil, ah); } void print_lcd(int lux, float temp, int h, int ah){ lcd.setCursor(12, 0); for(int i=0;i<6;i++){ lcd.print(" "); } lcd.setCursor(12, 0); lcd.print(h); lcd.setCursor(12, 1); for(int i=0;i<6;i++){ lcd.print(" "); } lcd.setCursor(12, 1); lcd.print(lux); lcd.setCursor(12, 2); for(int i=0;i<6;i++){ lcd.print(" "); } lcd.setCursor(12, 2);
21 lcd.print(ah); lcd.setCursor(12, 3); for(int i=0;i<6;i++){ lcd.print(" "); } lcd.setCursor(12, 3); lcd.print(temp); } String get_value(const char url[]){ int err = 0; int stringPos = 0; char inString[32]; memset( &inString, 0, 32 ); EthernetClient c; HttpClient http(c); err = http.get(server, url); if (err == 0){ http.skipResponseHeaders(); int bodyLen = http.contentLength(); char c; while ((http.connected() || http.available())){ if (http.available()){ c = http.read(); inString[stringPos] = c; stringPos ++; bodyLen--; } } return inString; } } void send_log(int var1, float var2, int var3, int var4){ String data =""; EthernetClient client; String s_var1 = "var1="; String s_var2= "&var2="; String s_var3= "&var3="; String s_var4= "&var4="; data = s_var1+var1+s_var2+var2+s_var3+var3+s_var4+var4; Serial.println(data); if (client.connect(server,80)) { client.print("POST /api/gcs/gcs_insert_log HTTP/1.1\n"); client.print("Host: 192.168.2.4\n"); client.print("Connection: close\n"); client.print("Content-Type: application/x-www-form-urlencoded\n"); client.print("Content-Length: "); client.print(data.length()); client.print("\n\n"); client.print(data);
22 }else{ Serial.println("Sending failed"); } } int BH1750_Read(int address){ int i=0; Wire.beginTransmission(address); Wire.requestFrom(address, 2); while(Wire.available()){ buff[i] = Wire.read(); i++; } Wire.endTransmission(); return i; } void BH1750_Init(int address){ Wire.beginTransmission(address); Wire.write(0x10); Wire.endTransmission(); }