Anda di halaman 1dari 5

BAB IV HASIL DAN PEMBAHASAN

4.1

Rancang Bangun Otomatisasi Penyiraman Tanaman Berdasarkan Suhu dan Kelembaban Berbasis Mikrokontroler Atmega 8535 Selama ini, penyiraman tanaman dilakukan secara manual. Akan tetapi,

terkadang kita tidak punya cukup waktu untuk menyiram tanaman. Oleh sebab itu kita membutuhkan suatu alat yang dapat membantu meringankan kegiatan menyiram tanaman dalam bentuk sistem yang dapat bekerja secara otomatis. Dengan menggunakan alat ini diharapkan penyiraman tanaman dapat dilakukan pada waktu dan saat yang tepat. Penelitian ini dilakukan dengan membuat suatu perangkat sistem penyiraman tanaman secara otomatis menggunakan mikrokontroler ATMega 8535 sebagai pengendali utama dan sensor suhu LM35 dan sensor kelembaban tanah . Sistem ini juga menggunakan Liquid Crystal Display (LCD) sebagai penampil. Sistem penyiraman tanaman yang telah dibuat dapat menyiram tanaman secara otomatis. Apabila suhu yang terdeteksi termasuk ke dalam kategori melebihi batas yang telah ditentukan, maka sistem dapat langsung bekerja menyiram tanaman secara otomatis begitu juga dengan sensor kelembaban tanah apabil kadar kelembaban tanah yang terdeteksi termasuk ke dalam kategori melebihi batas yang telah ditentukan, maka sistem dapat langsung bekerja menyiram tanaman secara otomatis . LCD menampilkan nilai suhu udara di sekitar tanaman dan kadar kelembaban tanah yang akan disiram. Alat ini bekerja saat kelembaban dan suhu yang terukur pada tanaman kurang dari set point yang ditentukan, sehingga mikrokontroler mengolah data tersebut agar pompa bekerja mengeluarkan air untuk menaikan kelembaban udaranya dan suhu yang terukur terlalu panas. Apabila kelembaban dan suhu yang terukur sudah sesuai dengan set point-nya maka aktuator akan berhenti.

Sensor kelembaban dan suhu

Mikrok ontroler Atmega 8535

Relay

Pompa air

keypad

LCD

Gambar 4.1 Blok diagram perancangan sistem 4.2 Perancangan Software Perancangan software digunakan untuk mendukung kerja dari perangkat hardware. Perancangan software ini dibuat dengan menggunakan program Atmel Codevision AVR bahasa C sebagai bahasa pemrograman dari mikrokontroller ATmega 8535. Berikut ini merupakan flowchart dari masing-masing proses.

Start

Sensor kelembaban dan suhu

keypad mikrokontroler

LCD

End

Gambar 4.2 Flowchart proses sensor kelemababan dan suhu

4.2.1

Software Codevision AVR CodeVisionAVR merupakan salah satu software kompiler yang khusus

digunakan untuk mikrokontroler keluarga AVR. CodeVisionAVR merupakan yang terbaik bila dibandingkan dengan kompiler-kompiler yang lain karena beberapa kelebihan yang dimiliki oleh CodeVisionAVR antara lain: 1. Menggunakan IDE (Integrated Development Environment). 2. Fasilitas yang disediakan lengkap (mengedit program, mengkompile program,mendownload program) serta tampilannya terlihat menarik dan mudah dimengerti. Kita dapat mengatur settingan editor sedemikian rupa sehingga membantu memudahkan kita dalam penulisan program. 3. Mampu membangkitkan kode program secara otomatis dengan

menggunakan fasilitas CodeWizardAVR. 4. Memiliki fasilitas untuk mendownload program langsung dari

CodeVisionAVR dengan menggunakan hardware khusus seperti Atmel STK500, Kanda System STK200+/300 dan beberapa hardware lain yang telah didefenisikan oleh CodeVisionAVR. 5. Memiliki fasilitas debugger sehingga dapat menggunakan software compiler lain untuk mengecek kode assembler nya, contohnya AVRStudio. 6. Memiliki terminal komunikasi serial yang terintegrasi dalam

CodeVisionAVR sehingga dapat digunakan untuk membantu pengecekan program yang telah dibuat khususnya yang menggunakan fasililtas komunikasi serial UART. CodeVision chip programmer salah satu kelebihan dari CodeVisionAVR adalah tersedianya fasilitas untuk mendownload program ke mikrokontroler yang telah terintegrasi sehingga demikian CodeVisionAVR ini selain dapat berfungsi sebagai software kompiler juga dapat berfungsi sebagai software programmer/ downloader. Jadi kita dapat melakukan proses download program yang telah dikompile dengan menggunakan software CodeVisionAVR juga.

4.2.2

Bahasa Pemograman C Pencipta bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada

sekitar tahun 1972. C adalah bahasa pemrograman terstruktur, yang membagi program dalam bentuk sejumlah blok. Tujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan mengunakan bahasa C mudah sekali untuk dipindahkan dari satu jenis mesin ke jenis mesin lainnya. Hal ini berkat adanya standarisasi bahasa C yaitu berupa standar ANSI (American National Standards Institute) yang dijadikan acuan oleh para pembuat kompiler C. Relatif dibandingkan dengan bahasa aras tinggi lain, bahasa C merupakan bahasa pemrograman yang sangat fleksibel dan tidak terlalu terikat dengan berbagai aturan yang sifatnya kaku. Satu-satunya hal yang membatasi penggunaan bahasa C dalam sebuah aplikasi adalah semata-mata kemampuan imaginasi programmer-nya saja. Sebagai ilustrasi, dalam program C kita dapat saja secara bebas menjumlahkan karakter huruf (misal A) dengan sebuah bilangan bulat (misal 2), dimana hal yang sama tidak mungkin dapat dilakukan dengan menggunakan bahasa aras tinggi lainnya. Karena sifatnya ini, seringkali bahasa C dikatagorikan sebagai bahasa aras menengah (mid level language). Dalam kaitannya dengan pemrograman microcontroller, Tak pelak lagi bahasa C saat ini mulai menggeser penggunaan bahasa aras rendah assembler. Penggunaan bahasa C akan sangat efisien terutama untuk program microcontroller yang berukuran relatif besar. Dibandingkan dengan bahasa assembler, penggunaan bahasa C dalam pemrograman memiliki beberapa kelebihan berikut: Mempercepat waktu pengembangan, bersifat modular dan terstruktur, sedangkan kelemahannya adalah kode program hasil kompilasi akan relative lebih besar (dan sebagai konsekuensinya hal ini terkadang akan mengurangi kecepatan eksekusi). Khusus pada microcontroller AVR, untuk mereduksi konsekuensi negative diatas, Perusahaan Atmel merancang sedemikian sehingga arsitektur AVR ini efisien dalam mendekode serta mengeksekusi instruksi-instruksi yang umum

dibangkitkan oleh compiler C (Dalam kenyataannya, pengembangan arsitektur AVR ini tidak dilakukan sendiri oleh perusahaan Atmel tetapi ada kerja sama

dengan salah satu vendor pemasok compiler C untuk microcontroller tersebut, yaitu IAR C) 4.2.2.1Bentuk Dasar Program C Sebuah program dalam bahasa C setidaknya harus memiliki sebuah fungsi. Fungsi dasar ini disebut dengan fungsi utama (fungsi main) dan memiliki kerangka program sebagai berikut: void main (void) { }// pernyataan-pernyataan Jika kita memiliki beberapa fungsi yang lain maka fungsi utama inilah yang memiliki kedudukan paling tinggi dibandingkan fungsi-fungsi yang lain sehingga setiap kali program dijalankan akan selalu dimulai dari memanggil fungsi utama terlebih dahulu. Fungsi-fungsi yang lain dapat dipanggil setelah fungsi utama dijalankan melalui pernyataan-pernyataan yang berada didalam fungsi utama. Contoh: // prototype fungsi inisialisasi port Void inisialisasi_port (char A, char B, char C, char D) { DDRA = A ; DDRB = B ; DDRC = C ; DDRD = D ; } // fungsi utama void main (void) { Inisialisasi_port (0xFF, 0xF0, 0x0F, 0x00) ; }