• Tidak ada hasil yang ditemukan

Rancang Bangun Komunikasi Data Wireless Mikrokontroler Menggunakan Modul XBee ZigBee (IEEE 802.15.4)

N/A
N/A
Protected

Academic year: 2017

Membagikan "Rancang Bangun Komunikasi Data Wireless Mikrokontroler Menggunakan Modul XBee ZigBee (IEEE 802.15.4)"

Copied!
30
0
0

Teks penuh

(1)

i

DEPARTEMEN ILMU KOMPUTER

RANCANG BANGUN KOMUNIKASI DATA

WIRELESS

MIKROKONTROLER MENGGUNAKAN MODUL XBEE

ZIGBEE (IEEE 802.15.4)

KHAMDAN AMIN BISYRI

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(2)

i

RANCANG BANGUN KOMUNIKASI DATA

WIRELESS

MIKROKONTROLER MENGGUNAKAN MODUL XBEE

ZIGBEE (IEEE 802.15.4)

KHAMDAN AMIN BISYRI

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2012

Skripsi

sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer pada

(3)

i

ABSTRACT

KHAMDAN AMIN BISYRI. Microcontroller Wireless Data Communication Using XBee ZigBee (IEEE 802.15.4) Module. Supervised by SRI WAHJUNI and SATYANTO K. SAPTOMO

This research implement microcontroller wireless data communication on automatic irrigation. Microcontroller unit (MCU) is used to read soil moisture level by using Soil Moisture sensor. Sensor values need to be sent to main controller (server computer) for monitoring. Past research (Nugroho 2011) has implemented serial cable for communication between field controller and main controller, but it will be inefficient for field application because serial cable implementation would be difficult if the field is far from the computer. Therefore, wireless data communication needed. XBee was choosen because compared to other wireless devices (Bluetooth, GSM, and WiFi), XBee has the lowest power consumption, lowest cost and the most suitable for monitoring and controlling. XBee performance is tested using the number of data packet loss. From the test result, the best distance to place the field controller is obtained, which is less than 20 meters from the main controller. For a better performance in decreasing the data packet loss incurred by the longer distance, it is advised to use the newer XBee series.

(4)

i

Judul Skripsi : Rancang Bangun Komunikasi Data Wireless Mikrokontroler Menggunakan Modul XBee ZigBee (IEEE 802.15.4)

Nama : Khamdan Amin Bisyri

NRP : G64070080

Menyetujui:

Pembimbing I Pembimbing II

Ir. Sri Wahjuni, M.T Dr. Satyanto K. Saptomo, S.TP, M.Si

NIP.19680501 200501 2 001 NIP. 19730411 200501 1 002

Mengetahui: Ketua Departemen

Dr. Ir. Agus Buono, M.Si, M.Kom NIP. 19660702 199302 1 001

(5)

i

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Allah subhanahu wa-ta'ala karena hanya dengan berkat, rahmat, dan karunia-Nya penelitian ini dapat diselesaikan dengan baik. Selawat serta salam penulis sampaikan kepada junjungan Nabi Muhammad shallallahu’alayhi wasallam, juga kepada keluarganya, sahabatnya, dan para pengikutnya. Penyelesaian penelitian ini juga tidak lepas dari bantuan berbagai pihak, untuk itu penulis mengucapkan terima kasih yang sebesar-besarnya kepada: 1 Kedua orang tua penulis, Bapak Abu Tamami dan Ibu Mei Ningsih, terima kasih atas doa, kasih

sayang, dukungan, motivasi, pengertian, pengorbanan, dan nasihat yang selalu mengiringi perjalanan penulis.

2 Ibu Ir. Sri Wahjuni, M.T selaku dosen pembimbing I, terima kasih akan kesabaran, ilmu, waktu, motivasi, dan nasihat yang diberikan selama penyelesaian penelitian ini.

3 Bapak Satyanto K. Saptomo, S.TP, M.Si selaku dosen pembimbing II, terima kasih atas segala ilmu, saran, dan bantuan yang diberikan selama penyelesaian penelitian ini.

4 Bapak Hendra Rahmawan, S.Kom, M.T selaku dosen penguji, terima kasih atas segala ilmu, kritik, dan saran yang diberikan.

5 Kakak penulis, Zulia Ahmad Burhani, terima kasih atas dukungan yang telah diberikan, juga kepada adik penulis, Isti Qomah dan Nur Hayati dengan mengingatnya turut memberikan motivasi dan semangat kepada penulis.

6 Segenap dosen dan staf pendukung Departemen Ilmu Komputer yang telah membantu penulis dalam berbagai kesempatan.

7 Teman-teman satu bimbingan, Rochiyat, Zola, Catur, Rendy dan Sulma, terima kasih atas bantuan, dukungan, ilmu, serta motivasi yang selalu diberikan.

8 Ayi Imaduddin, Inne Larasati, dan seluruh Ilkom 44 yang tak bisa disebutkan satu per satu, terima kasih atas semangat dan kebersamaannya.

9 Semua pihak yang telah memberikan doa, semangat, dan bantuan selama penyelesaian penelitian.

Penulis menyadari bahwa penelitian ini masih terdapat kekurangan. Penulis berharap semoga hasil penelitian ini dapat memberikan manfaat.

Bogor, September 2012

(6)

i

RIWAYAT HIDUP

(7)

v

v

DAFTAR ISI

Halaman

DAFTAR TABEL... vi

DAFTAR GAMBAR ... vi

DAFTAR LAMPIRAN ... vii

PENDAHULUAN ... 1

Latar Belakang ... 1

Tujuan ... 1

Ruang Lingkup ... 1

Manfaat Penelitian ... 1

TINJAUAN PUSTAKA ... 1

Arduino ... 1

Arduino UNO ATmega328 ... 1

Arduino-0023 ... 2

ZigBee ... 2

XBee ... 3

X-CTU ... 5

Sensor Soil Moisture (SKU:SEN0114) ... 5

Topologi Star... 6

METODE PENELITIAN ... 6

Analisis ... 6

Perancangan Arsitektur ... 7

Perancangan Komunikasi Data ... 8

Perancangan Antarmuka Main Controller ... 9

Pembangunan Model Irigasi ... 10

Implementasi ... 10

Pengujian dan Pengambilan Data ... 10

HASIL DAN PEMBAHASAN ... 10

Antarmuka Main Controller ... 10

Pengambilan Data... 11

Sistem Kontrol ... 12

Komunikasi XBee ... 12

KESIMPULAN DAN SARAN ... 14

Kesimpulan ... 14

Saran ... 14

DAFTAR PUSTAKA ... 14

(8)

vi

DAFTAR TABEL

Halaman

1 Perbandingan standard wireless ... 2

2 Tabel pengujian packet loss ... 10

3 Pengujian packet loss ... 13

DAFTAR GAMBAR

Halaman 1 Skema Arduino UNO ATmega328 ... 2

2 Antarmuka Arduino-0023... 2

3 ZigBee protocol stack ... 3

4 Modul XBee... 3

5 Diagram data flow internal. ... 4

6 Sistem data flowdiagram pada lingkungan UART. ... 4

7 API frame XBee. ... 4

8 Paket TX 16 bit address ... 4

9 Paket RX 16 bit address ... 5

10 Antarmuka X-CTU... 5

11 Sensor Soil Moisture. ... 6

12 Metode penelitian. ... 6

13 Rancangan arsitektur. ... 7

14 XBee Shield. ... 7

15 XBee USB adapter. ... 7

16 Blok diagram rancang bangun sistem menggunakan Soil Moisture.... 7

17 Flow chart rancang bangun sistem field controller.... 7

18 Flow chart rancang bangun control dengan sensor soil moisture. ... 8

19 Flow chart pembacaan paket XBee. ... 8

20 RF Data pada API frame TX field controller. ... 8

21 RF Data pada API frame TX main controller.... 9

22 Parameter Setting RF Data API frame TX main controller untuk bit penanda 1. ... 9

23 Parameter Setting RF Data API frame TX main controller untuk bit penanda 2. ... 9

24 Parameter Setting RF Data API frame TX main controller untuk bit penanda 3. ... 9

25 Layout antarmuka. ... 9

26 Pembangunan model. ... 10

27 Antarmuka main controller. ... 11

28 Bagian monitoring pada antarmuka. ... 11

29 Antarmuka manajemen XBee device. ... 11

30 Grafik hasil pembacaan sensor. ... 11

31 Konfigurasi sensor Soil Moisture pada Arduino. ... 12

32 Konfigurasi sistem kontrol. ... 12

33 Logfield controller. ... 12

34 Log main controller. ... 13

35 Lokasi pengambilan data. ... 13

(9)

vii

DAFTAR LAMPIRAN

Halaman

(10)

1

PENDAHULUAN

Latar Belakang

Irigasi merupakan penambahan

kekurangan kadar air tanah secara buatan yakni dengan memberikan air secara teratur pada tanah yang diolah. Irigasi mempunyai ruang lingkup dari pengembangan sumber air, penyediaannya, penyaluran air dari sumber ke daerah pertanian, pembagian dan penjatahan pada areal. Pemberian air irigasi dapat

dilakukan dalam lima cara: dengan

penggenangan, menggunakan jalur, di bawah permukaan tanah, penyiraman (sprinkle), dan sistem tetesan (trickle) (Hansen et al. 1986).

Pada penelitian Nugroho (2011) dilakukan akuisisi data pada sistem irigasi otomatis menggunakan Arduino Duemilanove. Proses akuisisi data menggunakan sensor Floatswitch

dan Thermocouple. Sensor ini membaca lingkungan sekitar kemudian mengubahnya ke dalam bentuk digital melalui Analog Digital Converter (ADC). Setelah pengkonversian ini

selesai, data ditulis ke dalam media

penyimpanan SD card melalui modul SD card. Dalam rancang bangun ini, komunikasi data

antara controller dan komputer masih

menggunakan kabel serial. Penggunaan kabel

serial dalam berkomunikasi memiliki

kekurangan seperti instalasi yang sulit dan kurang efisien apabila diterapkan pada sistem irigasi.

Penelitian kali ini menggunakan Micro Controller Unit (MCU) Arduino UNO dengan basis ATmega328. MCU Arduino UNO

merupakan penyempurna MCU Arduino

Duemilanove dengan koneksi USB yang lebih baru. Pada MCU Duemilanove, tipe interface

USB yang digunakan ialah Future Technology Devices International (FTDI) chip FT232RL yang menggunakan driver untuk mengubah RS-232 atau TTL transmisi serial menjadi sinyal USB (FTDI 2011). MCU Arduino UNO

menggunakan tipe interface USB chip

atmega8u2. Kelebihan tipe interface USB ini adalah tidak memerlukan driver untuk sistem operasi Mac dan Windows versi terbaru, seperti layaknya interface USB mouse dan keyboard. Data hasil pembacaan sensor di controller

lapangan dikirim ke komputer server melalui komunikasi wireless XBee Arduino yang mengimplementasikan protokol ZigBee.

Tujuan

Membangun komunikasi data secara

wireless menggunakan protokol ZigBee atau IEEE 802.15.4 dari controller di lapangan (field

controller) ke komputer server (main controller).

Ruang Lingkup

Penelitian ini difokuskan pada

pemrograman untuk komunikasi data antara

MCU Arduino UNO di lapangan (field

controller) dan komputer server menggunakan protokol ZigBee atau IEEE 802.15.4 yang diimplementasikan pada modul XBee Series 1.

Manfaat Penelitian

Manfaat dari penelitian ini adalah penggunaan protokol ZigBee atau IEEE 802.15.4 untuk komunikasi wireless dengan biaya yang murah sebagai alternatif dari Wireless Sensor Network (WSN). Protokol ini diimplementasikan pada modul XBee.

TINJAUAN PUSTAKA

Arduino

Arduino merupakan rangkaian elektronik yang bersifat open source platform prototyping

yang berbasis fleksibilitas serta memiliki perangkat keras dan perangkat lunak yang mudah untuk digunakan. Arduino dapat mengenali lingkungan dengan menerima input

dari sensor, dapat mengatur mengatur lampu, motor, dan aktuator lainnya (Arduino 2011).

Arduino UNO ATmega328

Arduino UNO dengan dasar

mikrokontroler ATmega328 adalah MCU yang memiliki 14 input/output digital (6 di antaranya dapat digunakan untuk output PWM), 6 input Gambar 1 dengan ciri sebagai berikut:

1 Operating voltage 5V.

2 Rekomendasi input voltage 7-12V 3 Batas input voltage 6-20V.

4 Memiliki 14 buah input/output digital. 5 Memiliki 6 buah input analog.

10 EEPROM sebesar 1 KB.

(11)

2

Gambar 1 Skema Arduino UNO ATmega328 (Arduino 2011).

Arduino-0023

Arduino-0023 merupakan open-source

Arduino environment yang digunakan untuk menuliskan kode program. Penulisan program dilakukan pada Arduino-0023 di komputer kemudian diunggah ke Arduino melalui kabel USB. Antarmuka Arduino-0023 dapat dilihat pada Gambar 2. Perangkat lunak Arduino-0023 memiliki dukungan untuk berberapa lingkungan sistem operasi seperti Windows, Mac OS X, dan Linux. Arduino environment ditulis dalam bahasa pemrograman Java dengan didasarkan pada processing, avr-gcc, dan program open source lainnya. Bahasa pemrograman untuk Arduino didasarkan pada bahasa pemrograman C/C++ serta terhubung dengan AVR Libc sehingga dapat menggunakan fungsi-fungsi yang terdapat pada AVR Libc. AVR Libc berisi fungsi yang digunakan untuk memanfaatkan AVR, seperti pengaturan register.

Gambar 2 Antarmuka Arduino-0023 (Arduino 2011).

Pada Arduino-0023, penggunaan AVR Libc dipermudah karena secara default library

pada Arduino-0023 sudah mencakup AVR Libc tanpa harus tahu Libc mana yang yang digunakan. Ketika dalam penulisan kode

membutuhkan AVR Libc, dilakukan

penambahan AVR Libc pada header kode program.

ZigBee

ZigBee adalah protokol jaringan nirkabel yang ditargetkan untuk otomasi dan aplikasi remote control dengan teknologi data rate

rendah, konsumsi daya rendah, dan murah. ZigBee diharapkan dapat memperkecil biaya dan menjadi konektivitas berdaya rendah untuk peralatan yang memerlukan baterai untuk hidup selama beberapa bulan sampai beberapa tahun, tetapi tidak memerlukan kecepatan transfer data tinggi seperti Bluetooth. Selain itu, ZigBee dapat diimplementasikan dalam jaringan mesh

yang lebih luas daripada yang mungkin dijangkau dengan Bluetooth. Perangkat nirkabel ZigBee diharapkan dapat digunakan untuk

mengirimkan data sejauh 10-75 meter,

tergantung pada lingkungan RF dan output

konsumsi daya yang diperlukan untuk diberikan aplikasi. Perbandingan standar wireless dapat dilihat pada Tabel 1 (Safaric & Malaric 2006). Tabel 1 Perbandingan standard wireless

Standard ZigBee 802.15.4

Resource 4kb-32kb 250kb+ 1Mb+ 16Mb+ Daya tahan

Kelebihan handal, hemat

sama untuk menentukan protocol stack

keseluruhan. IEEE 802.15.4 berfokus pada spesifikasi dari dua lapisan bawah protokol (lapisan fisik dan lapisan MAC). Di sisi lain, ZigBee Alliance bertujuan memberikan lapisan atas dari stack protokol (dari lapisan jaringan ke lapisan aplikasi) untuk jaringan data yang

(12)

3

Gambar 3 ZigBee protocol stack (Taehong et al. 2007).

Dari Gambar 3, dapat dilihat setiap lapisan pada protocol stack ZigBee memiliki fungsi yang berbeda. Fungsi setiap lapisan antara lain:

a Lapisan fisik (PHY)

Pada lapisan ini didefinisikan karakteristik radio channel dan dukungan band 2.45GHz

Lapisan MAC bertanggung jawab untuk

single hop komunikasi data antar perangkat yang bertetangga. Hal ini mensinkronisasi jaringan, mendukung association/disassociation

dan MAC-level security, serta memberikan link

yang dapat diandalkan antara dua perangkat.

Lapisan MAC menggunakan mekanisme

Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) untuk mengakses

channel, seperti wireless networks lainnya seperti IEEE 802.11dan IEEE 802.15.3 c Lapisan Security

Pada lapisan MAC, network dan

application dapat diamankan dan berbagi kunci keamanan untuk mengurangi storage yang

dibutuhkan. Pada lapisan ini,

diimplementasikan Advanced Encryption

Standard (AES).

d Lapisan ApplicationFramework

Lapisan Application framework

memberikan fungsi perintah sesuai vendor dan penggunaan API.

e Lapisan Application/Profiles

Lapisan Application merupakan lapisan yang berhubungan dengan end user, seperti

Smart Home dan Building Automation. Pada penelitian ini, application berupa XBee Control.

Fitur protokol ZigBee antara lain:

1 Dukungan untuk beberapa topologi

jaringan seperti point-to-point, point-to-multipoint dan jaringan mesh.

2 Siklus rendah - menyediakan baterai yang tahan lama.

3 Latency rendah.

4 Direct Sequence Spread Spectrum (DSSS).

5 Dapat menangani 65000 node per

jaringan.

6 Enkripsi 128-bit AES untuk koneksi data yang aman.

7 Menghindari collision, retries dan

acknowledgement (Digi 2011).

XBee

XBee merupakan modul yang

memungkinkan Arduino untuk berkomunikasi secara wireless menggunakan protokol ZigBee. ZigBee beroperasi pada spesifikasi IEEE 802.15.4 radio fisik dan beroperasi pada band

berlisensi termasuk 2.4 GHz, 900 MHz dan 868

MHz. Basis XBee berasal dari modul

MaxStream. Modul ini memungkinkan

komunikasi wireless dalam jangkauan hingga 30 meter (dalam ruangan) atau 100 meter (luar ruangan). XBee dapat digunakan sebagai pengganti kabel serial, dapat juga digunakan sebagai mode perintah untuk suatu broadcast, dan pilihan menghubungkan suatu jaringan. Gambar modul XBee dapat dilihat pada Gambar 4 (Arduino 2011).

Gambar 4 Modul XBee.

Pada dasarnya, XBee merupakan

komunikasi serial. Akan tetapi, apabila mode API digunakan, dibutuhkan pemaketan data RF. Untuk itu, data akan di-buffer terlebih dahulu sebelum dikirim atau diterima. Flow data serial menjadi paket RF. Pada XBee apabila ada data

input (DI), data akan masuk ke DI buffer.

Setelah itu, input data akan diteruskan ke RF TX buffer, kemudian untuk mentransmisikan

input data, posisi RF switch menjadi

(13)

4

receiver lalu data akan masuk RF RX buffer, kemudian data diteruskan ke DO buffer lalu menjadi data output (DO), kemudian DO diteruskan dari XBee ke host. Diagram data flow internal XBee dapat dilihat pada Gambar 5 (Digi 2008).

Gambar 5 Diagram data flow internal.

Modul RF interface XBee/XBee-PRO

OEM berhubungan dengan melalui logic-level asynchronousserialport. Melalui serial port ini, modul dapat berkomunikasi dengan logic dan

voltage kompatibel Universal Asynchronous Receiver-Transmitter (UART) atau melalui level translator ke semua serial device

contohnya pada RS-232 atau USB interface board. UART atau Universal Asynchronous Receiver-Transmitter adalah bagian perangkat keras komputer yang menerjemahkan bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau

port serial perangkat peripheral. Device yang memiliki interface UART dapat terhubung langsung pada pin modul RF. Sistem dataflow diagram padaUART dapat dilihat pada Gambar 6 (Digi 2008).

Gambar 6 Sistem data flowdiagram pada lingkungan UART.

Pada mode operasi XBee Application Programming Interface (API), data yang masuk diurutkan pada frame sesuai dengan urutan yang telah ditentukan. Data frame yang berurutan ini akan membantu dalam proses membedakan

command, command response, dan status

2 Length: menyatakan bit informasi panjang

frame API. Framelength terdiri atas Most Significant Bit (MSB) yang menyatakan bit signifikan pada representasi biner

panjang frame, sedangkan Least

Significant Bit (LSB) menyatakan bit kurang signifikan pada representasi biner panjang frame.

Option RF Data

MSB LSB menandakan paket merupakan paket TX.

b cmdData

Pengidentifikasi struktur data spesifik yang berisi:

Frame ID

Mengidentifikasi UART data frame

kepada host untuk mengorelasikan

dengan subsekuen ACK. Setting

frame ID ke 0 akan meniadakan respon frame.

Destinationaddress

Destination address berisi alamat tujuan paket. Destination address

terdiri atas Most Significant Bit

(MSB) menyatakan bit signifikan pada representasi biner alamat 16 bit

perangkat tujuan dan Least

Significant Bit (LSB) menyatakan bit kurang signifikan pada representasi biner alamat16 bit perangkat tujuan .

Options (Byte 8)

Berisi pilihan untuk menyesuaikan paket dengan kebutuhan. Pilihan tersebut antara lain:

0x01: disable ack

0x04: mengirim paket dengan

broadcast PAN ID semua bit lain harus set ke 0.

RF data

Merupakan data utama yang

(14)

5 a API identifier

Berisi informasi jenis paket, 0x81 menandakan paket merupakan paket RX.

b cmdData’

Pengidentifikasi struktur data spesifik yang berisi:

Source address

Source address berisi alamat sumber paket. Source address terdiri atas

Most Significant Bit (MSB) menyatakan bit signifikan pada representasi biner alamat 16 bit

perangkat sumber dan Least

Significant Bit (LSB) menyatakan bit kurang signifikan pada representasi

biner alamat 16 bit perangkat

sumber .

RSSI

Received Signal Strength Indicator (-dBm) menyatakan kekuatan sinyal. Options (Byte 8)

Berisi pilihan untuk menyesuaikan paket dengan kebutuhan, pilihan tersebut antara lain:

Bit 0 reserved

Bit 1: addressbroadcast

Bit 2: PAN Broadcast

Bit 3-7: reserved

RF Data

Merupakan data utama yang diterima (pada kali ini nilai sensor) dengan ukuran data kurang dari 100 Bytes.

4 Checksum: Untuk menguji integritas API

frame.

X-CTU

X-CTU merupakan perangkat lunak yang digunakan untuk mengonfigurasi dan menguji radio modem MaxStream. Pemberian alamat pada XBee dilakukan melalui X-CTU. X-CTU juga dapat mengkonfigurasi XBee menjadi

coordinator ataupun menjadi end device. Selain itu, pengaturan retries pada XBee juga dapat dilakukan. X-CTU mendukung XBee Series 1 maupun XBee Pro. Antarmuka X-CTU dapat dilihat pada Gambar 10.

Gambar 10 Antarmuka X-CTU.

Fitur dari X-CTU (Digi 2012) antara lain:

1 Dukungan untuk semua produk

MaxStream.

2 Terintegrasi dengan jendela terminal.

3 Mudah menggunakan tes kisaran

loopback.

4 Menampilkan Received Signal Strength

Indictator (RSSI).

5 Upgradefirmware modul RF di lapangan pada semua modul XCite dan XStream modul versi 4.29 dan yang lebih tinggi. 6 Menampilkan kedua karakter ASCII dan

heksadesimal pada jendela terminal. 7 Tulis paket tes baik dalam ASCII atau

heksadesimal untuk transmisi pada

antarmuka terminal.

8 Menyimpan dan mengambil konfigurasi

modul yang umum digunakan (profil). 9 Secara otomatis mendeteksi jenis modul. 10 Pengaturan parameter ke default pabrik.

11 Tampilan membantu tentang parameter

radio.

12 Program radio profil dalam lingkungan produksi dengan menggunakan antarmuka baris perintah.

13 Mengintegrasikan dengan Labview dan

produksi perangkat lunak uji lain melalui antarmuka baris perintah.

Sensor Soil Moisture (SKU:SEN0114)

(15)

6

Sensor ini memiliki dua probes untuk mengalirkan arus listrik melalui tanah, kemudian membaca nilai arus listrik sebagai nilai kelembaban tanah. Semakin banyak kandungan air, arus listrik akan lebih mudah dihantarkan (resistansi kecil) sehingga nilai kelembaban tanah semakin besar. Sebaliknya jika tanah mengandung sedikit air (kering) maka arus listrik akan susah dihantarkan

sehingga resistansi besar maka nilai

kelembaban tanah menjadi kecil. Sensor Soil Moisture dapat dilihat pada Gambar 11 (DFRobot 2012).

Gambar 11 Sensor Soil Moisture.

Topologi Star

Topologi star merupakan topologi jaringan yang sederhana dengan konfigurasi jaringan berbentuk seperti bintang. Dalam topologi star, komunikasi terjadi antara end device dan satu pusat kontrol yang disebut Personal Area Network (PAN) coordinator. PAN coordinator

pada penelitian ini berupa XBee coordinator. Contoh penerapan topologi ini pada beberapa aplikasi di antaranya Home Automation dan

Personal Computer (PC) Peripherals. Setelah XBee coordinator diaktifkan, XBee ini dapat membangun jaringannya sendiri dan menjadi PAN coordinator. Setiap jaringan memiliki PAN identifier yang berbeda-beda agar setiap jaringan beroperasi secara independen (Ergen 2004).

METODE PENELITIAN

Penelitian ini dibagi ke dalam beberapa tahapan, yaitu analisis, perancangan arsitektur, perancangan komunikasi data, pembangunan model, implementasi sistem, dan pengujian. Alur metode penelitian dapat dilihat pada Gambar 12.

Analisis

Pada tahap ini, dilakukan analisis terhadap sistem irigasi yang sudah ada. Pada penelitian sebelumnya dilakukan rancang bangun modul akuisisi data untuk sistem irigasi otomatis

berbasis mikrokontroler unit Arduino

Duemilanove. Sistem ini hanya mencakup lingkup controller di lapangan dan data yang disimpan dalam modul SD card. Komunikasi data ke controller utama (komputer server) masih menggunakan kabel serial. Penggunaan kabel serial dalam sistem irigasi instalasinya sulit dan tidak efisien karena antara main controller dan field controller memiliki jarak dengan penghalang seperti dinding. Oleh sebab

itu, komunikasi wireless dibangun

memanfaatkan protokol ZigBee yang

diimplementasikan pada modul XBee dengan MCU Arduino UNO.

Sistem komunikasi Wireless Sensor

Network (WSN) dari National Instrument, telah tersedia di pasaran dengan setup yang cukup mudah, akan tetapi membutuhkan biaya

yang besar apabila dibanding dengan

membangun sendiri menggunakan XBee. Oleh karena itu, XBee dipilih karena dapat digunakan

sebagai alternatif dari WSN National

Instrument.

Analisis

Perancangan Arsitektur

Perancangan Komunikasi Data

Pembangunan Model Irigasi

Implementasi Sistem

Pengujian dan Pengambilan Data

(16)

7

Perancangan Arsitektur

Sistem irigasi otomatis akan memiliki dua bagian yaitu: main controller dan field controller. Pada fieldcontroller terdapat sensor

yang berfungsi mengambil nilai analog dari lingkungan. Jika input analog, controller akan mengubahnya dahulu ke dalam bentuk digital.

Kemudian input ditransmisikan ke

mikrokontroler. Penyimpan data berupa modul SD card yang dipasang pada MCU. Data dari

sensor akan ditulis ke dalam memori

penyimpanan SD card sebagai logger.

Aktuator merupakan alat yang merupakan wujud aksi dari mikrokontroler, seperti motor, katup buka tutup, atau switch on off relay. Modul XBee digunakan untuk menghubungkan

field controller dengan main controller. Perancangan arsitektur dapat dilihat pada Gambar 13.

Gambar 13 Rancangan arsitektur. Pada field controller, modul XBee dapat dipasang pada MCU akan tetapi tidak dapat langsung dipasang, melainkan dengan bantuan XBee shield agar dapat terhubung dengan pin pada board MCU. XBee shield dapat dilihat pada Gambar 14.

Gambar 14 XBee Shield.

Pada main controller, modul XBee dapat terhubung dengan komputer dengan bantuan XBee adapter yang berfungsi sebagai adapter

USB-TTL. XBee USB adapter dapat dilihat pada Gambar 15.

Gambar 15 XBee USB adapter.

Pada penelitian ini, sensor yang digunakan adalah Soil Moisture. Sensor ini mengambil nilai dari kelembaban tanah. Blok diagram field controller dapat dilihat pada Gambar 16. Blok diagram pada field controller ini memiliki flow chart yang menjelaskan alur kerja dari field controller dari pembacaan nilai sensor, kontrol, penulisan log dan pengiriman paket. Alur kerja dapat dilihat pada Gambar 17.

Field controller memiliki sistem kontrol otomatis untuk menghidupkan atau mematikan aktuator. Pada saat dihidupkan (diberi daya), mikrokontroler akan membaca nilai sensor pada pin analog 0 (A0). Setelah pembacaan nilai

XBee Mikrokontroler Sensor

Aktuator Penyimpanan Data

Gambar 16 Blok diagram rancang bangun sistem menggunakan Soil Moisture.

Gambar 17 Flow chart rancang bangun sistem

(17)

8

sensor dilakukan, nilai hasil pembacaan sensor akan dibandingkan dengan nilai threshold

bawah dan threshold atas. Apabila nilai hasil pembacaan sensor lebih besar dari threshold

bawah dan lebih kecil dari threshold atas, pin digital aktuator akan menyala (high). Apabila nilai hasil pembacaan sensor lebih kecil dari

threshold bawah atau lebih besar dari threshold

atas, pin digital aktuator akan mati (low). Flow chart kontrol dapat dilihat pada Gambar 18.

Pada field controller setelah proses kontrol selesai proses selanjutnya adalah proses pembacaan paket XBee. Proses pembacaan paket XBee berfungsi untuk mengetahui jika ada paket dari main controller yang berisi pengaturan-pengaturan field controller. Apabila paket XBee diterima, field controller akan mengklasifikasi jenis perintah sesuai dengan bit penanda yang telah ditentukan, yaitu:

1 bit penanda 1 untuk pengaturan threshold. 2 bit penanda 2 untuk pengaturan interval.

3 bit penanda 3 untuk sinkronisasi jam. Proses pembacaan paket XBee dapat dilihat pada Gambar 19.

Gambar 19 Flow chart pembacaan paket XBee.

Perancangan Komunikasi Data

XBee memiliki berbagai spesifikasi. Untuk XBee Series 1 salah satunya yaitu komunikasi point to multipoint (topologi star). Komunikasi ini merupakan komunikasi yang hanya menghubungkan XBee field controller

dengan XBee main controller. Hasil pembacaan sensor pada pin analog Arduino field controller

akan dikirimkan ke main controller dalam bentuk paket data. Paket data yang digunakan menggunakan tipe API frame TX (transmit) dan RX (receive) address 16 bit. Pada frame API (Gambar 7) terdapat frame data. Frame data dapat dibedakan melalui API identifier. Pada saat field controller melakukan pengiriman paket, API frame RF Data berisi data lapangan. Ilustrasi dapat dilihat pada Gambar 20.

RF Data Nilai

Sensor

Jam dan Tanggal

Status Aktuator

Status SD

Card

Nilai

Threshold

Byte 9,10 Byte 11-16 Byte 17 Byte 18 Byte 19-22

Gambar 20 RF Data pada API frame TX field controller.

1 Nilai Sensor

Nilai sensor merupakan nilai hasil pembacaan sensor pada pin analog 0.

2 Jam dan Tanggal

Pada Byte ini terdapat informasi jam dan tanggal pada saat pengambilan nilai sensor. Jam dengan format HH:MM:SS dan tanggal dengan format YY-MM-DD.

3 Status Aktuator

Status Aktuator merupakan Byte berisi informasi nyala tidaknya aktuator pada

field controller.

4 Status SD card

Gambar 18 Flow chart rancang bangun control

(18)

9

Status SD card merupakan Byte yang berisi informasi ketersediaan SD card logger pada fieldcontroller.

5 Nilai Threshold

Nilai threshold merupakan nilai batas yang menjadi acuan apakah kontrol sistem akan menyalakan atau mematikan aktuator.

Saat menerima paket ini main controller

membaca paket data yang masuk (RX), kemudian main controller akan membaca RF data. Setelah itu, RF data di-parsing untuk ditampilkan pada antarmuka main controller

Pada saat main controller melakukan pengiriman paket, API frame RF Data berisi data pengaturan. Ilustrasi dapat dilihat pada Gambar 21.

Bit penanda berfungsi membedakan jenis perintah yang dikirimkan ke field controller. Terdapat tiga jenis pengaturan yaitu bit penanda “1” untuk nilai threshold, “2” untuk pengatur interval, dan “3” untuk sinkronisasi waktu.

2 Parameter Setting

Parameter setting berisi

parameter-parameter setting yang digunakan untuk mengatur interval, nilai threshold atau sinkronisasi waktu.

a Apabila bit penanda “1” (pengaturan

threshold), parameter berisi nilai threshold. Ilustrasi dapat diihat pada Gambar 22.

Parameter Setting

Threshold Minimum Threshold Maksimum

Byte 10,11 Byte 12,13

Gambar 22 Parameter Setting RF Data pada API frame TX main controller

untuk bit penanda 1.

b Apabila bit penanda “2” (pengaturan interval), parameter berisi nilai interval. Ilustrasi dapat dilihat pada Gambar 23.

Parameter Setting

Satuan interval Nilai interval

Byte 10 Byte 11

Gambar 23 Parameter Setting RF Data pada API frame TX main controller

untuk bit penanda 2.

c Apabila bit penanda “3” (sinkronisasi waktu), parameter berisi detil waktu dan tanggal. Ilustrasi dapat dilihat pada Gambar 24.

untuk bit penanda 3.

Perancangan Antarmuka Main Controller

Pada perancangan antarmuka main

controller, dibuat suatu layout yang akan diimplementasikan pada pemrograman Java pada main controller agar monitoring dan kontrol terhadap field controller lebih mudah dan intuitif. Layout mencakup kebutuhan antarmuka untuk fungsi-fungsi Perancangan

layout dapat dilihat pada Gambar 25.

Gambar 25 Layout antarmuka.

Perancangan antarmuka main controller

secara umum dibagi menjadi dua bagian, yaitu bagian kiri dan bagian kanan. Bagian kiri antarmuka merupakan bagian untuk monitoring, terdapat combo box berisi daftar COM port dan tombol connect dan disconnect. Di bawah

combo box terdapat tabel view dari data yang diterima dari field controller. Bagian kanan merupakan bagian untuk kontrol, terdapat tombol connect dan disconnect untuk kontrol terhadap field controller. Terdapat pula combo box nama XBee end device yang akan dikontrol. Selain itu pada bagian kanan juga terdapat tombol untuk menyesuaikan (sinkronisasi) tanggal dan jam pada field controller agar sama dengan jam pada komputer main controller. Di bawah tombol sinkronisasi jam terdapat input

untuk mengatur nilai treshlod minimum dan

threshold maksimum pada sistem kontrol field controller. Pada bagian kanan bawah terdapat

(19)

10

pengiriman data dari field controler ke main controller.

Pembangunan Model Irigasi

Pada tahap ini dilakukan pemodelan dari sistem irigasi otomatis yang akan dibuat. Pemodelan mencakup lingkungan dan alat-alat yang akan digunakan dan menggambarkan ilustrasi komunikasi dari main controller dan

field controller. Untuk field controller, alat yang digunakan:

1 MCU Arduino UNO;

2 Sensor Soil Moisture;

3 Aktuator LED;

4 Modul SD card stackable;

5 XBee Shield; dan 6 XBee Series 1 end device.

Untuk main controller alat yang digunakan:

1 Komputer;

2 USB Adapter; dan

3 XBee Series 1 coordinator.

Ilustrasi pembangunan model dari sistem dapat dilihat pada Gambar 26.

Gambar 26 Pembangunan model.

Pada main controller terdapat XBee Series 1 yang difungsikan sebagai coordinator, XBee ini terhubung dengan komputer melalui XBee USB adapter. Main controller terletak dalam

ruangan sehingga memudahkan dalam

pengontrolan maupun monitoring. Pada field controller, XBee difungsikan sebagai end device. XBee terhubung dengan Arduino melalui XBee shield. Field controller terletak di luar ruangan, namun harus masih dalam

jangkauan XBee coordinator agar dapat

berkomunikasi dengan baik.

Implementasi

Pada tahap ini hasil perancangan arsitektur akan diterapkan pada perancangan model. Langkah awal yaitu XBee dipasangkan dengan XBee USB adapter kemudian dihubungkan

dengan komputer yang telah terpasang

perangkat lunak X-CTU. Melalui X-CTU, XBee dikonfigurasi alamat, PAN ID, dan fungsinya sebagai end device/Reduced Function Device (RFD) atau sebagai coordinator/Full Function Device (FFD). Setelah dikonfigurasi, XBee end device akan dipasangkan pada field controller, sedang XBee coordinator akan dipasangkan pada komputer main controller. Untuk MCU Arduino, program ditulis dengan

environment Arduino-0023 menggunakan

bahasa pemrograman C/C++, kemudian

diunggah ke mikrokontroler melalui USB Serial.

Pengujian dan Pengambilan Data

Pada tahapan pengujian akan dilakukan

beberapa pengujian packet loss dengan

beberapa faktor jarak dan faktor penghalang. Dalam pengujian dengan faktor jarak akan dilakukan percobaan pengiriman paket data dari beberapa jarak tertentu dan interval waktu tertentu. Dalam pengujian dengan faktor penghalang akan dilakukan pengiriman paket data dengan kondisi terhalang suatu benda seperti dinding atau pohon. Paket yang dikirim oleh field controller dicatat, kemudian dibandingkan dengan paket yang sampai pada

main controller. Hasil pengujian akan dicatat pada tabel seperti pada Tabel 2.

Tabel 2 Tabel pengujian packet loss Lokasi Jarak

HASIL DAN PEMBAHASAN

Antarmuka Main Controller

(20)

11

Gambar 27 Antarmuka main controller.

Pada bagian kiri terdapat bagian

monitoring seperti pada Gambar 28. Bagian ini berfungsi menampilkan data yang diterima oleh

main controller. Data ditampilkan dalam bentuk tabel agar lebih memudahkan dalam pembacaan. Data yang baru masuk maka akan menjadi baris (record) baru pada tabel.

Gambar 28 Bagian monitoring pada antarmuka.

Pada bagian monitoring terdapat tombol XBee Device untuk memanajemen daftar nama

XBee beserta alamatnya. Antarmuka

manajemen XBee Device dapat dilihat pada Gambar 29. Pada bagian ini selain dapat menambahkan device baru, pengguna dapat pula mengedit device ataupun menghapus dari daftar device.

Gambar 29 Antarmuka manajemen XBee

device.

Fungsi plot juga terdapat pada bagian

monitoring. Grafik ini merupakan visualisasi

plot (Gambar 30) dari nilai hasil pembacaan sensor terhadap satuan waktu.

Gambar 30 Grafik hasil pembacaan sensor.

Pengambilan Data

Sensor merupakan alat yang digunakan untuk mengenali lingkungan. Sensor dapat

terhubung secara langsung dengan

mikrokontroler melalui port analog. Data yang diberikan sensor berupa data analog. Contoh program untuk membaca sensor pada pin analog: 1 void setup () {

2 3 4 5

6 7 8

...

void loop () { ...

//kode program untuk membaca sensor pada pin analog 0 dan kemudian disimpan pada variabel sensorValue ...

int sensorValue = analogRead(A0); }

Pada penelitian ini digunaan sensor Soil Moisture (SKU:SEN0114), sensor ini dapat mengetahui kandungan air pada lingkungan. Menurut produsen sensor ini (dfrobot) sensor ini mengkategorikan kandungan air pada lingkungan menjadi 3 antara lain:

1 Tanah kering (0~300) 2 Tanah lembab (300~700) 3 Tanah basah (700~950)

Sensor ini beroperasi pada tegangan 3.3 volt atau 5 volt, dengan konfigurasi penggunaan pin seperti pada Gambar 31:

(21)

12

Gambar 31 Konfigurasi sensor Soil Moisture pada Arduino.

Sistem Kontrol

Sistem kontrol merupakan sistem yang berfungsi mengatur penyalaan aktuator dengan referensi nilai hasil pembacaan sensor dari pengambilan data. Dalam sistem kontrol ini terdapat aturan yang membandingkan nilai hasil pembacaan sensor dengan nilai dua

threshold, threshold maksimum (atas) dan

threshold minimum (bawah).

Dengan adanya sistem kontrol ini,

otomatisasi irigasi akan dapat

diimplementasikan dengan MCU Arduino. Implementasi kontrol dengan MCU Arduino dilakukan melalui pemrograman board MCU Arduino dengan IDE Arduino-0023 melalui

kabel USB serial menggunakan bahasa

pemrograman C/C++. Contoh program untuk kontrol:

//kode program untuk membaca sensor pada pin analog 0 dan kemudian disimpan pada variabel sensorValue ...

int sensorValue = analogRead(A0);

if ((sensorValue> tresBawah) && (sensorValue < tresAtas)){

digitalWrite(pinAktuator, HIGH); }

else if ((sensorValue < tresBawah)&& (sensorValue > tresAtas)){

digitalWrite(pinAktuator, LOW); }

}

Untuk konfigurasi kontrol mirip seperti pembacaan sensor, tetapi dengan penambahan aktuator pada pin 8 output digital. Pin output

digital apabila menyala atau HIGH akan mengalirkan daya sehingga pada pin tersebut dapat menyalakan aktuator. Apabila pin digital dalam keadaan mati atau LOW, pin digital tidak mengalirkan daya. Konfigurasi kontrol dapat dilihat pada Gambar 32.

Gambar 32 Konfigurasi sistem kontrol.

Komunikasi XBee

Seperti halnya komunikasi wireless lain, XBee juga memiliki keterbatasan dalam pengiriman data, seperti faktor jarak dan faktor penghalang. Untuk mengatasi kemungkinan hilangnya data, dibuat file log pada field controller (Gambar 33) memanfaatkan modul SD cardstackable Arduino. Dengan adanya file log yang tersimpan pada field controller, data akan tercatat. Data yang dicatat pada file log field controller yaitu: nilai hasil pembacaan

sensor, threshold minimum, threshold

maksimum, informasi tanggal dan jam, serta status aktuator.

Gambar 33 Logfield controller.

Pada main controller, data yang diterima selain ditampilkan pada antarmuka seperti Gambar 28 juga ditulis ke dalam filelog harian

(Gambar 34) sehingga memudahkan

(22)

13

jam, threshold minimum, threshold maksimum status aktuator, dan status SD card pada field controller.

Gambar 34 Log main controller.

Jangkauan XBee pada spesifikasinya mencapai 30 meter untuk indoor dan 100 meter

outdoor. Agar dapat mengetahui jangkauan yang sebenarnya dilakukan pengukuran dengan melakukan pengambilan sampel data pada titik-titik tertentu dengan jarak yang berbeda-beda dan penghalang berupa dinding. Lokasi titik pengambilan data dapat dilihat pada Gambar 35.

Gambar 35 Lokasi pengambilan data. Apabila dari field controller paket data tidak sampai ke main controller, paket akan hilang (packet loss). Penghitungan packet loss

dilakukan dengan cara membandingkan data yang diterima oleh main controller dengan data yang dicatat pada field controller, kemudian dihitung persentase data yang hilang. Hasil pengujian packet loss dapat dilihat pada Tabel 3. Tabel 3 Pengujian packet loss

Berdasarkan hasil pengujian packet loss

(Tabel 3) grafik persentase packet loss pada beberapa jarak dapat divisualisasikan. Grafik persentase packet loss dapat dilihat pada Gambar 36.

Gambar 36 Persentase packet loss pada beberapa jarak.

Berdasarkan Gambar 36, dapat dilihat

bahwa komunikasi wireless XBee masih

berjalan dengan baik pada jarak kurang dari 20 meter, dengan packet loss 0%. Angka ini menunjukkan bahwa data yang dikirim dari

field controller sepenuhnya masih dapat diterima oleh main controller. Akan tetapi pada jarak 30 meter pengiriman paket data dari field controller oleh main controller mengalami beberapa kegagalan sehingga paket yang diterima memiliki packet loss sebesar 18.64%. Pada jarak 40 meter, data yang diterima oleh

field controllerpacketloss akan semakin besar. Pada pengukuran packet loss terdapat beberapa faktor yang mempengaruhi packetloss,

antara lain penghalang dinding dan jarak. Dinding merupakan penghalang sinyal XBee yang cukup mengganggu sehingga memperkecil jarak jangkau XBee coordinator dengan end device. Selain itu juga terdapat bangunan di samping titik pengambilan (titik 4). Hal ini mempengaruhi sinyal XBee fieldcontroller.

Untuk mengatasi jangkauan yang sempit perlu penambahan perangkat tambahan seperti antena Yagi atau beberapa antena untuk menambahkan gain sinyal XBee agar dalam berkomunikasi dapat lebih baik lagi dan

jangkauan lebih luas sehingga apabila

diterapkan pada lahan pertanian lebih dapat memberikan kinerja yang lebih baik.

(23)

14

KESIMPULAN DAN SARAN

Kesimpulan

Penelitian ini telah dapat melakukan

komunikasi data wireless XBee dengan

protokol ZigBee (IEEE 802.15.4) pada mikrokontroler unit Arduino UNO. API (Application Programming Interface) XBee digunakan agar komunikasi menjadi lebih fleksibel daripada komunikasi transparan.

Pada main controller terdapat antarmuka menggunakan Java yang membantu pengguna dalam pengontrolan field controller seperti pengaturan jam, pengaturan threshold minimum dan threshold maksimum, pengaturan interval pengiriman data, manajemen device XBee, memonitor kondisi kelembaban tanah, status SD

card, status aktuator, dan visualisasi data dalam bentuk tabel maupun grafik. Agar data yang diterima oleh main controller terklasifikasi dan tercatat dengan baik, main controller juga mencatat file log harian. File log ditulis dalam format CSV sehingga dapat dibuka dengan perangkat lunak seperti Microsoft Excel apabila akan dilakukan pengolahan data. Pada field controller, terdapat modul SD card untuk mencatat log agar data hasil pembacaan sensor tercatat. Pencatatan log bertujuan sebagai

backup apabila data hasil pembacaan sensor tidak terkirim ke main controller. Pengujian

packet loss dilakukan untuk mengetahui jarak yang optimal untuk mengirimkan paket. Pada penelitian ini didapat jarak yang masih dapat dijangkau dengan baik yaitu pada jarak 0 hingga 20 meter dengan kondisi terhalang dinding.

Saran

Pada penelitian ini masih terdapat kekurangan, seperti pendeteksian perangkat XBee end device yang tersedia dalam jangkauan XBee coordinator. Pendeteksian XBee end device di sekitar akan memudahkan dalam kontrol dari main controller melalui antarmuka. Pada grafik juga masih terdapat kekurangan, yaitu hasil pembacaan sensor belum dibedakan antar-device. Monitoring dua atau lebih field controller masih memiliki kekurangan, seperti tidak sinkronnya penyajian pada antarmuka berdasarkan interval pengiriman fieldcontroller. Penelitian ini belum mempertimbangkan faktor keamanan.

Pada penelitian selanjutnya sensor yang digunakan diharapkan lebih dari satu sehingga nilai dari pembacaan sensor lebih akurat dan lebih mewakili lahan pertanian. Selain itu perlu digunakan algoritme yang lebih baik lagi

seperti logika fuzzy sehingga sistem kontrol lebih baik. Untuk mengatasi packet loss perlu digunakan fungsi retries sebanyak 3 kali yang dapat diaktifkan pada pengaturan XBee dengan X-CTU. Selain itu, perlu XBee yang lebih baru daripada XBee Series 1 seperti XBee Pro yang memiliki jangkauan yang lebih luas daripada XBee 1. Dengan demikian diharapkan beberapa kekurangan pada penelitian ini dapat diatasi agar sistem ini dapat menjadi lebih baik lagi.

DAFTAR PUSTAKA

Arduino. Arduino. 2011. http://www.arduino. cc/ [22 Des 2011].

DFRobot. 2012. Moisture Sensor

(SKU:SEN0114). http://www.dfrobot.com /wiki/index.php?title=Moisture_Sensor_(S KU:SEN0114)[30 Apr 2012].

Digi. 2008. XBee®/XBee-PRO® OEM RF Modules. http://www.digi.com/support/ kbase/kbaseresultdetl.jsp?kb=135 [ 3 Jan 2012].

Digi. 2011. ZigBee® Wireless Standard. http://www.digi.com/technology/rf-articles/wireless-zigbee [26 Des 2011].

Digi. 2012. X-CTU (XCTU) Software.

http://www.digi.com/support/kbase/kbaser esultdetl.jsp?kb=125 [ 3 Jan 2012].

Ergen SC. 2004. ZigBee/IEEE 802.15.4

Summary. Berkeley: UC Berkeley.

[FTDI] Future Technology Devices

International Ltd. 2012. USB -

RS232/422/485 Modules. http://www. ftdichip.com/Products/Modules/USBRSxxx .htm [3 Jan 2012].

Hansen VE, Israelsen OW, Stringham GE. 1986. Dasar-dasar dan Praktek Irigasi.

Tachyan EP, penerjemah; Jakarta:

Erlangga. Terjemahan dari: Irrigation Principles and Practices.

Nugroho AR. 2011. Ran can g ban gun modul akuisisi data untuk sistem irigasi

otomatis ber basis mikr okontr oler

Ar duin o Duemilan ove [skripsi].

Bogor: Departemen Ilmu Komputer,

FMIPA, Institut Pertanian Bogor.

(24)

15

Taehong K, Daeyoung K, Noseong P. 2007. Shortcut tree routing in ZigBee networks.

(25)

16

(26)

17

Lampiran 1 Blok diagram arsitektur AVR

(27)

18

Lampiran 3 Kode program MCU Arduino fieldcontroller.

1

/*Pendeklarasian header library yang digunakan*/

#include <WProgram.h>

unsigned long start = millis();

/*banyak variabel untuk menangani pengiriman paket*/ uint8_t payload[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

// dengan Series 1 bisa menggunakan alamat 16-bit atau 64-bit

// Alamat 16-bit: alamat remote XBee, biasanya Coordinator Tx16Request tx = Tx16Request(0x1234, payload, sizeof(payload));

XBeeResponse response = XBeeResponse();

// membuat response objects untuk menangani respon Rx16Response rx16 = Rx16Response();

TxStatusResponse txStatus = TxStatusResponse();

const int chipSelect = 10;//pin chipset untuk sd card stackable

SdFat sd; SdFile myFile;

//int statusLed = 13;

int pinAktuator = 8; //pin aktuator (dapat diganti sesuai kebutuhan) int statAktuator=0; //status aktuator 0 mati 1 nyala

int statSD=0; //status SD card menulis int rate;

//data yang akan dikirim int sensorValue=0;

int addrSetPoint1 = 0;//alamat penyimpanan batas bawah int addrSetPoint2= 1;

int addrSetPoint3 = 7;//alamat penyimpanan batas atas int addrSetPoint4= 8;

int setPoint;//setpoint bawah int setPoint2;//set point atas

int addrInterval1 = 10; //alamat penyimpanan interval int addrInterval2 = 11;

(28)

19

//pinMode(statusLed, OUTPUT); pinMode(pinAktuator, OUTPUT); //pinMode(pinAktuator, INPUT);

xbee.begin(9600);

sd.init(SPI_QUARTER_SPEED, chipSelect); delay(1000);

}

void readXBee(){ xbee.readPacket();

if (xbee.getResponse().isAvailable()) { // got something

if (xbee.getResponse().getApiId() == RX_16_RESPONSE) { // menerima packet rx

xbee.getResponse().getRx16Response(rx16); // data = rx16.getData(0);

if(rx16.getData(0)==1){

//menulis setpoint pada alamat penyimpanan arduino EEPROM.write(addrSetPoint1, rx16.getData(1)); EEPROM.write(addrSetPoint2, rx16.getData(2)); EEPROM.write(addrSetPoint3, rx16.getData(3)); EEPROM.write(addrSetPoint4, rx16.getData(4)); //digitalWrite(statusLed, HIGH);

}

else if(rx16.getData(0)==2){//mode 2 set interval

// menulis interval pada alamat penyimpanan arduino

EEPROM.write(addrInterval1, rx16.getData(1));//nulis satuan EEPROM.write(addrInterval2, rx16.getData(2));//nulis interval }

void sendXBee(int sensorValuex,int stat){ //xbee ambil

//pembacaan nilai pin analog sensor statAktuator=digitalRead(pinAktuator); sensorValue=sensorValuex;//

setPoint=parse10Bit(EEPROM.read(addrSetPoint1), EEPROM.read(addrSetPoint2)); setPoint2=parse10Bit(EEPROM.read(addrSetPoint3),

EEPROM.read(addrSetPoint4));

(29)

20

// mulai trasmit setelah startup delay. if (millis() - start > 15000) {

//pengenkapsulasi paket data untuk dikirim payload[0] = sensorValue >> 8 & 0xff;

//fungsi mengubah 8 bit menjadi 10bit int parse10Bit(int msb, int lsb) {

msb = msb & 0xff;

void writeData(int sensorValue,int stat){ //tulis dalam file SD

(30)

21

int sensorValue = analogRead(A0); // Baca analog pin0

setPoint = parse10Bit(EEPROM.read(addrSetPoint1),

EEPROM.read(addrSetPoint2));//mengambil nilai setpoint setPoint2 = parse10Bit(EEPROM.read(addrSetPoint3),

EEPROM.read(addrSetPoint4));//mengambil nilai setpoint

//rule membandingkan hasil pembacaan dengan setpoint if ((sensorValue>setPoint) && (sensorValue <setPoint2)){ stat=1;

}

else if ((sensorValue<setPoint) && (sensorValue >setPoint2)){ stat=0;

}

if(stat==1){

digitalWrite(pinAktuator, HIGH);//menyalakan aktuator }

else if(stat==0){

digitalWrite(pinAktuator, LOW);//mematikan aktuator }

RTC.get(rtc,true); jam=rtc[2];

tahun=rtc[6]%2000;//agar 2 digit saja tahuunya

//pembuatan file atau mengeditya jika telah ada

if (myFile.open("log.csv", O_RDWR | O_CREAT | O_AT_END)){ statSD=1;

}

readXBee();

//menghitung waktu pengiriman disesuaikan dengan setting

int intervalSat=EEPROM.read(addrInterval1);//baca satuan menit/detik

if (intervalSat==0){

else if (intervalSat==1 && detik==0){

rate= menit % EEPROM.read(addrInterval2);

if (rate==0){

sendXBee(sensorValue,stat);//pengiriman data writeData(sensorValue,stat);

Gambar

Tabel 1  Perbandingan standard wireless
Gambar 3  ZigBee protocol stack (Taehong et
Gambar 10  Antarmuka X-CTU.
Gambar 12  Metode penelitian.
+7

Referensi

Dokumen terkait

PENERAPAN METODE EDUCATION GAMES BERBASIS ALAT PERAGA DAKON UNTUK MENINGKATKAN HASIL BELAJAR MATEMATIKA PESERTA DIDIK.. KELAS IV SD ISLAM AN-NASHR KAUMAN

- Alat dan bahan sesuai kegiatan “Mana yang lebih cepat panas?”. Peserta didik dapat menyelidiki faktor-faktor yang memengaruhi kenaikan suhu benda akibat pemberian kalor... j.

Berdasarkan permasalahan di atas, maka tujuan yang ingin dicapai dalam penelitian ini adalah untuk mengetahui bagaimanakah perencanaan Implementasi kurikulum 2013 pendidikan

Dari data yang disajikan pada Tabel 1 maka motivasi merupakan suatu dasar minat mahasiswa dalam memilih jurusan Administrasi Bisnis, hal ini dapat dibuktikan dari

Maka berdasarkan tabel di atas dapat disimpulkan bahwa dalam meminimalisirkan moral siswa dengan memberikan nasihat-nasihat yang bermanfaat di SMPN 1 Darul Hikmah, adapun

[r]

Otot-otot  gelang  bahu  dan  dinding  dada  merupakan  otot  yang  memiliki