Gambaran Umum Sistem Umum

22

BAB III PERANCANGAN SISTEM

3.1 Gambaran Umum Sistem

Pada tugas akhir ini akan dirancang sebuah sistem pengiriman data sensor altitude yang terpasang pada mikrokontroler Arduino menggunakan protokol xbee. Alat yang terpasang pada objek mengirim data ketinggian objek secara jarak jauh ke laptop. Blok diagram sistem yang dirancang dapat dilihat pada gambar 3.1. Gambar 3.1 Blok Diagram Sistem Spesifikasi Sistem : -. Menggunakan baterai 9 Volt. -. Dalam keadaan standby, alat membutuhkan arus sebesar 102,6 mA. -. Dalam keadaan standby, xbee membutuhkan arus sebesar 52,8 mA. -. Dalam keadaan pengiriman dan penerimaan, alat membutuhkan arus sebesar 104 – 108 mA. -. Dalam keadaan pengiriman dan penerimaan, xbee membutuhkan arus sebesar 54 – 59 mA. -. Ketinggian mencapai 100 meter indoor dan 1500 meter outdoor. -. Jangkauan temperatur : -40 – 85 o C. Cara kerja : Berdasarkan gambar 3.1, urutan kerja dari sistem dapat dijelaskan sebagai berikut. Pengguna mengirim perintah untuk meminta data melalui scilab. Perintah akan dikirim melalui RS-232 ke xbee. Xbee yang terhubung ke laptop akan mengirim perintah ke xbee yang terhubung ke mikrokontroler Arduino secara nirkabel. Melalui UART, perintah masuk dan diolah oleh Arduino. Arduino akan mengirim perintah sensor BMP085 melakukan pengukuran. BMP085 mengukur nilai tekanan yang akan digunakan untuk menghitung ketinggian. Perhitungan ini dilakukan oleh BMP085 berdasarkan persamaan 2.2. Setelah perhitungan, data dikirim ke Arduino melalui I 2 C dan Arduino mengirim data tersebut ke xbee melalui UART. Data akan dikirim dari xbee di sisi Arduino secara nirkabel ke xbee di sisi laptop. Data masuk ke laptop dari xbee melalui RS-232. Data akan ditampilkan secara periodik pada grafik di scilab.

3.2 Perancangan Perangkat Keras

Diagram rangkaian alat pengukur ketinggian pada sisi objek dapat dilihat pada gambar 3.2. Xbee terpasang pada Xbee USB Adapter Regulated Explorer Xbee pada gambar. D in xbee terhubung pada pin digital 1 T x dan D out pada pin digital 0 R x pada Arduino. Arduino UNO berkomunikasi dengan BMP085 menggunakan bus I 2 C. Komunikasi I 2 C ini diatur oleh library wire.h. Pin SDA BMP085 terhubung pada pin A4 dan SCL pada pin A5 pada Arduino. Catu daya untuk alat pengukur ketinggian menggunakan baterai 9 Volt dan dihubungkan ke Arduino UNO melalui colokan 2.1mm jack. Gambar 3.2 Diagram Rangkaian Gambar 3.3 Alat Pengukur Ketinggian Pada sisi penerima, terdapat xbee yang terpasang pada Xbee USB Adapter dan dihubungkan pada laptop komputer dengan menggunakan kabel mini USB seperti gambar 3.4. Gambar 3.4 Xbee dan Kabel Mini USB

3.2.1 Pengukuran Arus pada Xbee dan Alat Pengukur Ketinggian

Untuk mengetahui besarnya arus yang dibutuhkan oleh alat pengukur ketinggian pada saat standby dan pengirimanpenerimaan data, pengukuran arus dilakukan secara manual dengan menggunakan multimeter digital Heles UX 880 TR. Function switch multimeter diputar ke mA DC. Probe merah dihubungkan ke terminal mA dan probe hitam dihubungkan ke terminal COM. Jepit buaya digunakan untuk menghubungkan probe ke titik ukur. Gambar 3.5 Multimeter Digital Heles UX 880 TR dan Jepit Buaya Pengukuran dilakukan pada dua titik ukur yang berbeda yaitu : 1. Titik ukur pada modul xbee Pengukuran pada titik ukur ini dilakukan untuk mengetahui besar arus yang dibutuhkan oleh xbee. Probe 1 dihubungkan ke titik X dan probe 2 dihubungkan ke titik Y. Saklar X dimatikan dan saklar catu daya dihidupkan. Perintah dikirim dari scilab pada laptop untuk meminta data dari alat pengukur ketinggian. Arus diukur dan dicatat ketika data dikirim dari alat ke laptop. Gambar 3.6 Titik Ukur pada Modul Xbee 2. Titik ukur pada alat Pengukuran pada titik ukur ini dilakukan untuk mengetahui besar arus yang dibutuhkan oleh alat. Probe 1 dihubungkan ke kutub positif baterai dan probe 2 dihubungkan ke kutub positif colokan Arduino seperti gambar. Saklar X dihidupkan dan saklar catu daya dimatikan. Perintah dikirim dari scilab pada laptop untuk meminta data dari alat pengukur ketinggian. Arus diukur dan dicatat ketika data dikirim dari alat ke laptop. 1 2 Gambar 3.7 Titik Ukur pada Alat

3.3 Perancangan Perangkat Lunak

Perangkat lunak dibuat dengan menggunakan bahasa pemrograman untuk Arduino. Diagram alir perangkat lunak yang dirancang untuk sistem pengukuran ketinggian dapat dilihat pada gambar 3.8. Ketika alat ini diberi catu daya, Arduino UNO akan menginisialisasi variabel yang akan digunakan dalam program dan menunggu perintah dari pengguna yang dikirim melalui xbee. Jika terdapat perintah yang diterima oleh Arduino UNO, maka Arduino akan meminta data dari BMP085 dan mengirimnya ke sisi pengguna. Data akan berhenti dikirim jika terdapat perintah dari pengguna atau setelah 10 detik. Kode program sistem pengukuran ketinggian dapat dilihat pada lampiran. 1 2 Gambar 3.8 Diagram Alir Sistem Pengukuran Ketinggian Mulai Menampilkan GUI 1 Selesai Deteksi penekanan tombol Menampilkan “PC telah terhubung ke Arduino” Apakah tombol Connect? Apakah tombol Disconnect? tidak ya ya Apakah GUIstatus = 1? tidak connect ya Apakah GUIstatus = 1? ya disconnect Apakah tombol Load? Apakah tombol SaveExit? Memuat data yang telah disimpan Menyimpan data ya 1 tidak tidak SAVEstatus = 0 Plot data pada grafik Apakah SAVEstatus = 1? ya ya tidak tidak tidak Apakah tombol Stop Plotting? tidak ya ya 2 Apakah PLOTstatus = 1? stop tidak Apakah tombol Plot? tidak 2 ya Apakah GUIstatus = 1? ya plot tidak Arduino tidak terhubung 2 Gambar 3.9 Diagram Alir Rutin a Rutin Connect b Rutin Disconnect c Rutin Plot d Rutin Stop Membuka serial port Menampilkan string ‘Ready’ connect Mengirim string ‘R’ Menerima string ‘Ready’ Return GUIstatus = 1 Memutuskan Koneksi antara PC dengan Arduino disconnect Return GUIstatus = 0 stop k = 1 Return k = 0 Return plot PLOTstatus = 1 z = 1 Mengirim string ‘P’ Menerima data Plot data pada grafik GUI Increment z k = 1? z = panjang? PLOTstatus = 0 SAVEstatus = 1 tidak ya ya tidak

3.3.1 Konfigurasi Xbee

Konfigurasi kedua xbee dilakukan dengan menggunakan perangkat lunak XCTU yang dikembangkan oleh Digi International. Parameter yang dikonfigurasi antara lain : • Personal Area Network Identity PAN ID yaitu identitas dimana xbee harus terhubung. Hanya modul-modul dengan PAN ID yang sama yang dapat saling berkomunikasi. • Scan Channels SC yaitu mengatur dan membaca daftar kanal. • Destination Address High DH yaitu mengatur dan membaca 32 bit atas dari 64 bit alamat modul tujuan. • Destination Address Low DL yaitu mengatur dan membaca 32 bit bawah dari 64 bit alamat modul tujuan. Parameter ini diisi dengan alamat modul tujuan. DH dan DL disatukan untuk mendefinisikan alamat tujuan yang digunakan untuk transmisi.

3.3.2 Kit Mikrokontroler Arduino

Library yang digunakan untuk perangkat Arduino dalam sistem pengukuran ketinggian adalah Wire.h dan Adafruit_BMP085.h. Objek sensor BMP085 berupa “tinggi” dan variabel “input” berupa char dideklarasikan pada inisialisasi program. Kode program dapat dilihat pada lampiran 1. Pada fungsi setup, program akan menginisialisasi pengaturan serial dimulai untuk output dengan baud rate 9600, Wire.begin untuk memulai komunikasi I 2 C, dan tinggi.begin untuk memulai objek sensor BMP085. Pada fungsi loop, program akan menunggu masukan berupa input yang dikirim dari user scilab. Jika terdapat masukan berupa “R”, Arduino UNO akan mengirim string “Ready” dan ditampilkan di scilab. Jika masukannya berupa “P”, Arduino UNO akan menyuruh sensor BMP085 untuk melakukan pengukuran dan data tersebut akan dikirim dan ditampilkan di scilab secara real-time.

3.3.3 Scilab

Jendela aplikasi dibuat dengan menggunakan createWindow sebagai objek bernama gui. Ukuran, nama, warna latar, dan posisi diinisialisasi pada awal program. Ukuran window gui tidak dapat diatur. Handles dideklarasikan di awal program sehingga penggunaan handles tidak akan menimbulkan error. Kode program dapat dilihat pada lampiran 2. Tombol “Connect” akan memanggil fungsi connect dimana jika radio xbee sisi pengguna ke xbee sisi Arduino belum terhubung GUIstatus = 0 maka objek radio berupa serial dengan COM port 6 dan baud rate 9600 akan dibentuk dan dihubungkan serta string ”Ready” akan ditampilkan pada kotak status. Jika radio telah terhubung GUIstatus = 1 dan tombol “Connect” ditekan, maka akan muncul kotak dialog dengan pesan “Laptop telah terhubung ke Arduino”. Tombol “Disconnect” akan memanggil fungsi disconnect dimana jika radio masih terhubung GUIstatus = 1 maka hubungannya akan diputus dan objek radio ditutup. Jika radio tidak terhubung GUIstatus = 0 dan tombol “Disconnect” ditekan, maka akan muncul kotak dialog dengan pesan “Silahkan mengecek koneksi”. Tombol “Plot” akan memanggil fungsi dataPlot dimana data akan diterima dan digambarkan dalam 10 detik atau sampai diinterupsi. PLOTstatus = 1 menunjukkan bahwa data sedang diterima dan penggambaran grafik sedang berlangsung. Fungsi ini akan membuat SAVEstatus = 1 yang berarti bahwa sudah ada data yang dapat disimpan. Terdapat 40 data sampel yang diterima dan digambarkan dalam 10 detik, sehingga waktu yang diperlukan dalam penerimaan dan penggambaran sampel harus dihitung. Setiap pelaksanaan perintah dalam scilab membutuhkan waktu 1 ms. Pelaksanaan perintah plot membutuhkan 41 ms. Perintah sleep digunakan untuk menunda waktu dalam satuan ms dan untuk pelaksanaannya membutuhkan waktu 1 ms. Terdapat 5 perintah, 1 perintah plot, dan 1 perintah sleep yang dilaksanakan dalam perulangan. Berikut perhitungan untuk perintah sleep : Tundaan waktu yang dibutuhkan = 250 ms Pelaksanaan perintah sleep membutuhkan waktu 1 ms, sehingga : Tombol “Stop Plotting” akan memanggil fungsi stop yang akan menginterupsi dan menghentikan plot k = 1 jika penerimaan data dan penggambaran grafik sedang berjalan PLOTstatus = 1. Fungsi ini akan membuat SAVEstatus = 1 yang berarti bahwa sudah ada data yang dapat disimpan meskipun nantinya ada beberapa data yang bernilai 0. Tombol “Load” akan memanggil fungsi callDataLoad. Objek guiLoad berupa Window dibuat dan berisikan 2 kolom teks yang dapat diketik dan 1 tombol “Load” yang akan memanggil fungsi dataLoad. Nama berkas untuk H 1 dan H yang akan dimuat diketik di kedua kolom teks tersebut. Fungsi dataLoad akan memuat data dengan data dari nama berkas yang telah diketik sebelumnya. Grafik akan digambar ulang dengan data yang telah dimuat. Fungsi ini akan membuat SAVEstatus = 0 dimana data yang dimuat tidak dapat disimpan. Tombol “Save” akan memanggil fungsi callSaveExit. Objek guiSave berupa Window dibuat dan berisikan 1 kolom teks yang dapat diketik dan 1 tombol “Save” yang akan memanggil fungsi saveExit. Nama berkas untuk penyimpanan data diketik di kolom teks tersebut. Fungsi saveExit akan menyimpan data dengan nama berkas yang telah diketik sebelumnya jika SAVEstatus = 1 serta menutup GUI setelah 1 detik. 36

BAB IV ANALISIS DAN PENGUJIAN

4.1 Umum

Di dalam bab ini akan dilakukan pengujian terhadap rancangan sistem pengiriman data sensor altitude yang terpasang pada mikrokontroler Arduino menggunakan protokol xbee. Pengujian-pengujian yang dilakukan pada rancangan sistem ini bertujuan untuk mengetahui proses kerja, kinerja, dan hasil sistem apakah telah bekerja sesuai dengan yang diharapkan atau tidak. Pengujian diawali dengan mengukur ketinggian permukaan tanah dan kemudian diukur ketinggian objek pada suatu tempat. Pengujian juga dibedakan untuk pengujian Line Of Sight LOS dan tidak LOS. Adapun rumus yang digunakan dalam pengujian sistem, antara lain : ......................................................... 4.1 ................................ 4.2 Keterangan : ΔH = ketinggian tempat terhadap permukaan tanah meter H 1 = ketinggian tempat terhadap permukaan laut meter H = ketinggian permukaan tanah meter H ref = ketinggian referensi meter

4.2 Hasil Pengujian Sistem