Pengujian Modul Transceiver untuk Komunikasi Dua Arah

103,4 meter. Jika mengacu pada data jarak tanpa halangan maka bisa dikatakan bahwa pengujian jarak terjauh komunikasi dua arah akan lebih pendek sekitar 6,7 meter dibandingkan dengan pengujian komunikasi satu arah. Tabel 4.7 Data Pengujian Komunikasi Dua Arah Half Duplex No Jumlah Karakter Jarak Tanpa Halangan m Jarak dengan Halangan m Lama Proses Modul 1 ms Lama Proses Modul 2 ms Rentang Minimal Rentang Maksimal Rentang Minimal Rentang Maksimal 1 1-1 128 129 108,4 114,8 105 56 2 2-1 125,9 127,1 101,3 113,3 155 107 3 3-1 123 123,4 99,8 109,9 205 157 4 5-1 119,5 120,6 89,2 104,2 306 258 5 10-1 113,8 115,9 92,7 98,7 557 508 6 15-1 109,7 111,6 92,1 103,4 809 761 7 20-1 105,3 107 81,5 90,5 1060 1011 Untuk proses lama waktu masing-masing bagian pada pengujian komunikasi dua arah, hasilnya tidak berbeda dari pengujian komunikasi satu arah. Lama proses modul satu merupakan jumlahan waktu menurut pengiriman dan penerimaan karakter. Sebagai contoh pengujian ketiga dilakukan pengiriman tiga buah karakter oleh modul satu dan penerimaan satu buah karakter dari modul dua. Gambar 4.12 Grafik Perbandingan Jarak Komunikasi Dua Arah dengan dan Tanpa Halangan 20 40 60 80 100 120 140 5 10 15 20 J a ra k m Jumlah karakter yang dikirimkan Perbandingan Jarak Komunikasi Dua Arah, Berhalang dan Tanpa Halangan Jarak Range Maksimal Tanpa Halangan Jarak Range Maksimal dengan Halangan Jarak Range Minimal tanpa Halangan Jarak Range Minimal dengan Halangan

4.2. Perangkat Lunak Penyusun GCS

Perangkat lunak yang menyusun sistem GCS adalah bahasa pemrograman C yang terinstal di dalam Arduino Mega 2560 R3. Semua fungsi perangkat keras akan diatur oleh program yang ada di dalam Arduino. Program yang terinstal pada Arduino mengacu pada perancangan diagram alir perangkat lunak pada bab sebelumnya telah berhasil bekerja dengan baik. Untuk mengetahui perangkat lunak pada GCS lebih detail akan dijelaskan pada penjelasan masing-masing sub rutin perangkat lunak penyusun GCS.

4.2.1. Inisialisasi

Program GCS dimulai dengan menginisialisasi header dan variabel global yang akan digunakan untuk memasukkan fungsi dan nilai pada program utama. Header yang digunakan pada program GCS adalah “SPI.h”, “LiquidCrystal.h”, dan “Keypad.h”, sedangkan variabel pada program GCS ada ±38 variabel dengan spesifikasi: tipe data string 10 variabel, byte 4 variabel, char 8 variabel, int 15 variabel, dan long 1 variabel. Setiap variabel memiliki nama atau identitas yang berbeda, untuk melihat setiap nama dari variabel yang dideklarasi pada program GCS dapat dilihat di lampiran. Isi dari SPI.h adalah program yang mengatur parameter-parameter pengaturan komunikasi serial SPI. Dengan menuliskan SPI.h pada inisialisasi program maka fungsi- fungsi dari serial komunikasi SPI seperti: SPI transfer dan pengaturan clock SPI dapat dipanggil pada program utama. Header selanjutnya, yaitu LiquidCyrstal.h merupakan header yang harus di deklarasi sebelum menggunakan fungsi LCD, sedangkan Keypad.h merupakan header untuk mengaktifkan fungsi keypad matriks.

4.2.2. Program Utama

Program utama di bagi menjadi dua bagian, yaitu: setup dan loop. Program di setup hanya akan berjalan sekali, sedangkan program di loop akan berjalan berulang-ulang sampai ada indikasi reset atau daya pada arduino dimatikan. Program pada setup berisi pengaturan fungsi dari SPI, LCD, modul komunikasi RFM12, dan program untuk menampilkan tulisan “Ground Control Stations”. Setelah program dari setup terlewati maka program akan dilanjutkan ke program loop. Program pada loop berisi pemanggilan beberapa sub rutin seperti yang telah dirancang pada bab sebelumnya. Untuk mengawali program di loop, GCS akan memanggil sub rutin cek komunikasi untuk mengetahui kesiapan dari wahana. Jika proses cekkom berhasil terlewati maka PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI selanjutnya GCS akan memberikan pilihan untuk jenis pengendalian wahana yang diingkan oleh pengguna. Ada dua buah jenis pengendalian yang disediakan oleh wahana, yaitu: pengendalian manual dan autonomous. Jika pengguna memilih pengendalian manual maka program manual akan dijalankan, namun jika pengendalian autonomous yang terpilih maka program akan memanggil sub rutin baca koordinat, sub rutin kirim koordinat, dan sub rutin autonomous.

4.2.3. Sub Rutin Cek Komunikasi

Sub rutin cek komunikasi akan di panggil saat awal dari program GCS dijalankan. Pada subrut in ini, GCS akan mengirimkan karakter “??” kepada wahana dan jika wahana menerima karakter tersebut maka wahana akan membalas dengan mengirimkan karakter “”. Saat karakter “” diterima oleh GCS maka cek komunikasi dianggap berhasil dan wahana dalam kondisi siap untuk digunakan. Namun untuk menghindari keadaan tidak ada balasan dari wahana maka pada sub rutin cek komunikasi diberikan batasan waktu tiga detik. Jika dalam waktu tiga detik wahana tidak membalas dengan mengirim karakter “” maka cek komunikasi dianggap gagal. Saat cek komunikasi gagal, pengguna tidak bisa melanjutkan penggunaan GCS dan bisa mengulangi proses cek komunikasi dengan menekan tombol “” pada keypad. Gambar 4.13 menunjukkan kemungkinan-kemungkinan tampilan LCD 20x4 saat proses cek komunikasi berlangsung. Gambar 4.13 Tampilan LCD saat Program Cek Komunikasi Berjalan LCD tidak menampilkan karakter-karakter yang dikomunikasikan dengan wahana saat sub rutin cek komunikasi berlangsung. Untuk membuktikan karakter-karakter sudah dikirim atau diterima oleh GCS maka pada subrutin cek komunikasi ditambahkan fungsi serial print, sehingga hasil dari karakter-karakter yang dikirim dan diterima oleh GCS dapat ditampilkan di serial monitor aplikasi dari Arduino. Gambar 4.14 memperlihatkan hasil