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