Rancang Bangun Wahana Buoy

120

3.6. Desain Perangkat Lunak Sistem Drifter Buoy

Perangkat lunak yang ditanamkan di buoy berbasis mikrokontroler, sehingga baik ukuran program, bahasa dan tools pemrograman dilakukan sesuai dengan mikrokontroler yang digunakan yaitu mikrokontroler ATMega32. Perangkat lunak penerima yaitu perangkat lunak pada bagian server penerima data yaitu komputer yang dilengkapi modem GSM dan nomor yang di-set sebagai nomor penerima data sehingga data yang dikirimkan drifter dapat diterima dan disimpan dengan baik. Perangkat Lunak Buoy Perangkat lunak yang ditanamkan di buoy terdiri atas beberapa fungsi utama yaitu mengakuisisi data yang dibutuhkan, menyimpan data dan mengirimkannya. Perangkat lunak ini dibangun menggunakan bahasa pemrogram BASIC BASCOM AVR yang merupakan bahasa pemrograman untuk mikrokontroler AVR. Perangkat lunak ini terdiri atas dua alur program yaitu alur program utama dan alur program interupsi SMS konfigurasi. Adapun kedua alur tersebut terlihat pada Gambar 16 dan 17. Pada saat dinyalakan mikrokontroler melakukan konfigurasi terutama untuk perangkat luar yang digunakan yaitu modem GSM, sensor suhu dan perangkat internal yaitu vektor interupsi RS232 yang digunakan untuk mendeteksi interupsi SMS masuk. Selama tidak ada interupsi mikrokontroler melakukan kegiatan rutin yaitu membaca data GPS berupa posisi, jam dan tanggal serta kecepatan. Selanjutnya membaca sensor suhu dan kemudian selama 300 data 5 menit data posisi dan kecepatan terakhir, serta suhu yang telah di rata-ratakan akan dikirim melalui modem GSM menggunakan perintah AT-command . Sebelum pengiriman SMS terlebih dahulu mikrokontroler melakukan pengecekan sinyal GSM apakah ada atau tidak. Jika tidak, pengiriman data SMS tidak dilakukan dan jika sinyal tersebut ada maka dilanjutkan dengan pengecekan waktu pengiriman data. Kemudian, jika belum memenuhi selang waktu yang telah ditentukan oleh file CONFIG.INI, mikrokontroler akan kembali ke proses awal, tetapi jika sudah memenuhi waktu yang ditentukan maka data kemudian dikirimkan. 121 Mulai Konfigurasi Sistem Baca dari config.ini 1. Modem GSM 2. Sensor 1-wire suhu 3. GPS Baca Parameter GPS 1. Posisi 2. Kecepatan Ambil Jam dan tanggal Baca Sensor Suhu Simpan Data Logger Hitung Nilai Rata-Rata Suhu Susun Dalam Format Cek Sinyal GSM Cek Delta waktu Kirim SMS Ulangi Proses Ya ya Tidak Gambar 16. Diagram alir program utama Pembacaan Data GPS GPS yang digunakan yaitu PMB-648 hampir semua GPS yang diproduksi memiliki fasilitas komunikasi RS232 dan menggunakan standar komunikasi NMEA-0183. Adapun perintah NMEA yang digunakan untuk pembacaan posisi dan kecepatan serta tanggal dan jam UTC yaitu GPRMC. Contoh sebuah keluaran NMEA seperti berikut: Format keluaran dari GPRMC dapat dideskripsikan sebagai berikut contoh dimana penjelasan dari format NMEA tersebut seperti terlihat pada Tabel 10. GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598, ,10 122 Tabel 10. Penjelasan NMEA GPRMC Nama Contoh Unit Penjelasan Message ID GPRMC RMC protocol Header UTC Time 161229.487 Hhmmss.sss status A A=data valid or V data tidak valid Latitude A3723.2475 ddmm.mmmm NS indicator N N=North atau S=South Longitude 12158.3416 dddmm.mmmm EW indicator W E=East atau W=West Speed over Ground 0.13 Knots Course over Ground 309.62 degrees True Date 120598 ddmmyy Magnetic Variation Degrees E=east atau W=west Mode A A=Autonomous, D=DGPS, E=DR Checksum 10 CRLF Tanda akhir Pada kalimat NMEA ini GPRMC merupakan header dari kalimat NMEA, artinya setelah GPRMC hingga tanda akhir kalimat CR LF merupakan satu bentuk kalimat NMEA dengan format dan urutan tertentu sesuai yang telah ditetapkan oleh standar. Pembatas antara data satu dengan data yang lain dalam satu kalim at yaitu menggunakan tanda koma “,”. Pembacaan kalimat NMEA tersebut oleh mikrokontroler dimulai dengan mendeteksi header data yaitu GPRMC kemudian urutan berikutnya adalah UTC Time, disela oleh satu karakter status kemudian pembacaan latitude di sela oleh satu karakter kemudian longitude di sela oleh satu karakter lagi baru kemudian pembacaan speed dan seterusnya berdasarkan urutan kalimat NMEA tersebut. Perataan Data, Penyusunan Format dan Penyimpanan Data Pengukuran dilakukan setiap 1 detik waktu akusisi GPS dan dengan tujuan penghematan sumber daya, pengiriman dilakukan setiap 5 menit. Oleh karena itu diperlukan perataan data khususnya data suhu. Data yang dikirimkan adalah data suhu hasil rata-rata dan data posisi terakhir yang diakuisisi pada selang waktu yang ditentukan. Data yang disimpan pada modul data logger adalah data pengukuran setiap 2 detik. Perataan data suhu dilakukan selama 5 menit. Sebelum dikirim data tersebut disusun dalam format pengiriman. Penyusunan format