SEMINAR NASIONAL V SDM TEKNOLOGI NUKLIR YOGYAKARTA, 5 NOVEMBER 2009 ISSN 1978-0176
PENGEMBANGAN PROGRAM KOMUNIKASI DATA ANTARA GLOBAL POSITIONING SYSTEM (GPS) DENGAN MIKROKONTROLER AT89S52 MUHTADAN 1, ADI ABIMANYU2, JUMARI2 1
Sekolah Tinggi teknologi Nuklir - BATAN, Jl Babarsari POB 6101/YKBB, Yogyakarta, 55281 2 Pusat Teknologi Akselerator dan Proses Bahan - BATAN Abstrak
PENGEMBANGAN PROGRAM KOMUNIKASI DATA ANTARA GLOBAL POSITIONING SYSTEM (GPS) DENGAN MIKROKONTROLER AT89S52. Telah dibuat perangkat lunak komunikasi data antara GPS dengan mikrokontroler AT89S52 untuk menampilakan data GPS pada LCD 20 x 4 larik, menggunakan bahasa pemrograman BASIC. Perangkat lunak ini dirancang agar mikrokontroler AT89S52 dapat menerima data dari GPS yang berupa standar NMEA melalui komunikasi serial serta dapat memisahkan data sesuai dengan yang dibutuhkan. Data yang telah dipisahkan kemudian ditampilkan pada LCD 20x4 larik. Datadata itu tersebut terdiri dari data lintang, bujur, tanggal dan jam. Dalam pelaksanaan kegiatan ini meliputi pembuatan diagram alir, pembuatan program penerima dan pemisahan data dari GPS pengujian program. Dari hasil pengujian didapatkan penerimaan dan pemisahan data dari GPS berfungsi dengan baik dan tidak ada penyimpangan sehingga nilai kesalahannya adalah 0 persen. Dari nilai kesalahan dapat disimpulkan bahwa program ini telah berjalan dengan baik. Kata kunci: GPS, komunikasi data, mikrokontroler
Abstract
SOFTWARE DEVELOPMENT OF DATA COMMUNICATION BETWEEN GLOBAL POSITIONING SYSTEM (GPS) WITH AT89S52 MICROCONTROLLER. Data communication software between GPS with AT89S52 microcontroller for display the data from GPS to LCD 20x 4, using BASIC programming language have been made. This software is designed for receive data from GPS with NMEA data standard via serial communication and separated the data based on needed and then display it on LCD 20x4. The data consist of latitude, longitude, date and time. The job activity are making flowchart, receive and separate data software and also testing the software. From the testing, shows that receiving and separating data from GPS are running well and have no error (error value is 0 percent). From the error value show that this software are good function. Keywords: GPS, data communication, microcontroller
PENDAHULUAN GPS atau Global Positioning System sudah lama digunakan oleh pihak militer dan transportasi sebagai alat navigasi. Sekarang ini teknologi GPS banyak digunakan oleh Muhtadan, dkk
masyarakat umum untuk keperluan berkendara, berlayar ataupun untuk berkomunikasi[1]. Teknologi GPS berguna untuk menunjukkan posisi terhadap garis lintang dan bujur serta tanggal dan waktu. Perkembangan teknologi semi konduktor telah menghasilkan teknologi mikrokontroler
263
Sekolah Tinggi Teknologi Nuklir - BATAN
SEMINAR NASIONAL IV SDM TEKNOLOGI NUKLIR YOGYAKARTA,5 NOVEMBER 2009 ISSN 1978-0176
yang dapat digunakan untuk mengendalikan proses dari suatu alat melalui program yang ditanamkan (download) dalam chip mikrokontroler Perangkat lunak komunikasi data antara GPS dengan mikrokontroler AT89S52 dibuat untuk mengkomunikasikan data secara serial antara GPS dengan mikrokontroler yang pada akhirnya dapat diaplikasikan untuk semua alat yang membutuhkan data berupa lintang, bujur, waktu dan tanggal dari GPS melalui mirkokontroler. Dalam pengukuran besaran dan pemetaan di lapangan yang sangat bergantung pada posisi maka ketepatan posisi pengukuran dapat dilakukan secara tepat di posisi yang sama dengan GPS sebagai acuan data. Sebagai contoh aplikasi penggunaan GPS dalam pengukuran di lapangan adalah pemetaan hutan untuk mengetahui pohon yang sudah layak ditebang, pemetaan kota, pemetaan daerah radiasi dan lain-lain. Program komunikasi data GPS dengan mikrokontroler AT89S52 dibuat menggunakan bahasa pemrograman BASIC dengan software BASCOM versi 2.0.12.0. Pengujian ini dilakukan dengan memberi masukan data dari GPS dengan tipe data yang bervariasi, untuk mengetahui program ini sudah berfungsi dengan baik atau belum. TEORI GPS dan Tipe Datanya GPS atau Global Positioning System adalah suatu alat yang berfungsi untuk menunjukkan posisi terhadap garis lintang dan bujur, ketinggian terhadap permukaan laut dan tanggal serta waktu. Format data GPS mengikuti standar NMEA (National Marine Electronics Association), standar ini mengijinkan peralatan electronic untuk mengirim informasi kepada komputer atau peralatan yang lain. Tipe data ini terdiri dari PVT(position, velocity, time) yang dikirimkan oleh GPS transmitter melalui komunikasi serial port menggunakan protocol RS232 dengan baudrate 4800b/s, 8 bit data, tanpa parity dan stop bit. Setiap data dimulai dengan ‘$’, data dikirim dalam satu baris yang terdiri dari berbagai data yang dipisahkan dengan koma (“,”) dan dikirimkan setiap 2 detik oleh transmitter. Menurut standar NMEA ada Sekolah Tinggi Teknologi Nuklir - BATAN
beberapa jenis data tetapi yang ditunjukkan pada Tabel 1 merupakan tipe data yang paling penting dalam standar NMEA, setiap datanya dimulai dengan “GP” [2]. Tabel 1. Tipe Data Standar NMEA yang Paling Penting Tipe No. Keterangan Data 1 2 3
GGA GSA GSV
4 5
RMC GLL
6
VTG
Fix information Overall Satellite data Detailed Satellite Data Recommended minimum data for GPS Lat/Lon Data Vector track an Speed over the Ground
Tipe data yang dipilh untuk dikomunikasikan antara GPS dengan mikrokontroler AT89S52 adalah tipe data yang GPRMC. Tipe data GPRMC memiliki versi data sendiri yang sangat penting dalam penentuan posisi dan waktu yaitu PVT (position, velocity, time) sehingga tipe data ini merupakan rekomendasi minimum data untuk GPS. Kalimat datanya adalah sebagai berikut: $GPRMC,123519,A,4807.038,N,01131.000,E,0 22.4,084.4,230394,003.1,W*6A Dimana : RMC : Recommended Minimum sentence C 123519 : Fix taken at 12:35:19 UTC A : Status A=active or V=Void 4807.038,N : Latitude 48 deg 07.038' N 01131.000,E: Longitude 11 deg 31.000' E 022.4 : Speed over the ground in knots 084.4 : Track angle in degrees True 230394 : Date - 23rd of March 1994 003.1,W : Magnetic Variation *6A : The checksum data, always begins with * Mikrokontroler AT89S52 Mikrokontroler AT89S52 merupakan mikrokontroler keluarga MCS51 dengan kemampuan yang sangat baik dan harganya relatif murah. Mikrokontroler AT89S52 digunakan dalam penelitian ini karena memiliki kemampuan sebagai berikut[3] : 1. Program memori internal 8 kbytes 2. RAM internal 256 byte 3. Empat buah paralel I/O
264
Muhtadan, dkk
SEMINAR NASIONAL V SDM TEKNOLOGI NUKLIR YOGYAKARTA, 5 NOVEMBER 2009 ISSN 1978-0176
4. 5. 6. 7.
Sebuah port serial Tiga buah timer/counter Frekuensi kerja dari 0 sampai 33 MHz Tegangan operasi 4 sampai 5,5 Volt. Konfigurasi pin-pin mikrokontroler AT89S52 ditunjukkan pada Gambar 1.
Tombol pun juga harus diinisialisasi oleh program. Pendefinisian Tombol melalui perintah : Tbok Alias P2.0 Setelah program selesai dibuat maka program kemudian dicompile dan hasilnya akan berupa file dengan ekstensi .HEX ataupun .BIN. File jenis inilah yang akan ditanamkan pada mikrokontroler menggunakan Universal ISP Downloader[5]. Prinsip Kerja Program Komunikasi Data GPS
Gambar 1. Konfigurasi pin mikrokontroler AT89S52
BASCOM-8051 IDE Bascom-8051 IDE adalah suatu program menggunakan bahasa pemrograman BASIC yang digunakan untuk memprogram perintah yang ingin dijalankan oleh mikrokontroler sehingga mikrokontroler bekerja sesuai dengan yang diinginkan. Pembuatan program harus disesuaikan dengan kapasitas flash program pada mikrokontroler sehingga tidak terjadi overload program yang akan mengakibatkan error waktu proses compile program. Inisialisasi jenis chip dilakukan melalui perintah : $REGFILE = "89S52.DAT"[4] Proses komunikasi data ini menggunakan baudrate 4800 jadi baudrate pada mikrokontroler pun harus diset pada baudrate 4800 melalui perintah $baud = 4800 Pengaturan baudrate ini dimaksudkan agar komunikasi data dapat sinkron. Sebelum digunakan LCD harus diinisialisasi oleh program. Pendefinisian LCD melalui perintah Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = P1.4 , Db5 = P1.5 , Db6 = P1.6 , Db7 = P1.7 , E = P1.3 , Rs = P1.2 Muhtadan, dkk
Program ini bermaksud untuk mengambil data GPS dari GPS receiver, menampilkan data tersebut dalam LCD 20x4 larik, menyimpan dan membaca data tersebut pada EEPROM. Data yang dipilih adalah tipe data GPRMC yang kemudian data-data tersebut dipisahkan berdasarkan nilai lintang (latitude), bujur (longitude), waktu (dirubah dalam WIB) dan tanggal. Blok diagram komunikasi data GPS dengan mikrokontroler, tombol dan LCD ditunjukkan pada Gambar 2.
Gambar 2. Blok Diagram Komunikasi Data GPS
TATAKERJA (BAHAN DAN METODE) Alat dan Bahan Alat dan Bahan yang digunakan pada pembuatan program komunikasi data GPS dengan mikrokontroler AT89S52 adalah bahasa pemrograman BASIC dengan software BASCOM 8051 versi 2.0.12.0 di dalamnya terdapat fasilitas compile untuk mengkompilasi menjadi file-file dengan extensi yang akan ditanamkan dalam chip mikrokontroler. Adapun downloader yang digunakan dalam penelitian ini adalah Universal ISP Downloader dengan
265
Sekolah Tinggi Teknologi Nuklir - BATAN
SEMINAR NASIONAL IV SDM TEKNOLOGI NUKLIR YOGYAKARTA,5 NOVEMBER 2009 ISSN 1978-0176
file yang digunakan dapat berekstensi .HEX ataupun .BIN. Langkah Kerja Diagram alir pelaksanaan kegiatan pembuatan program komunikasi data GPS dengan mikrokontroler AT89S52 ditunjukan pada Gambar 3.
Gambar 4. Diagram Alir Pembuatan Program Komunikasi Data GPS dengan Mikrokontroler AT89S52
Konfigurasi LCD (20x4)
Gambar 3. Diagram alir kegiatan
Pembuatan program komunikasi data GPS dengan mikrokontroler AT89S52 meliputi pembuatan program pemilihan data GPS, pemisahan data GPS dan menampilkan datadata yang telah dipisahkan pada LCD 20x4. Diagram alir pembuatan program komunikasi data GPS dengan mikrokontroler AT89S52 ditunjukkan pada Gambar 4. Agar dapat berkomunikasi dengan GPS dan dapat menampilkan data GPS pada LCD serta berkomunikasi dengan keypad maka mikrokontroler harus diinisialisasi terlebih dahulu yaitu melalui perintah-perintah sebagai berikut. Konfigurasi baudrate Baudrate mikrokontroler diatur pada nilai 4800 agar dapat berkomunikasi dengan GPS karena baudrate GPS adalah 4800. Maka perintah yang digunakan adalah $BAUD = 4800
Sekolah Tinggi Teknologi Nuklir - BATAN
Konfigurasi LCD dengan mikrokontroler mengikuti susunan sesuai Tabel 2. Tabel 2. Konfigurasi pin LCD dengan pin mikrokontroler AT89S52 Db4 P1.4
Db5 P1.5
Db6 P.1.6
Db7 P.1.7
E P1.3
Rs P.1.2
Perintah yang digunakan dalam permograman adalah sebagai berikut, Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = P1.4 , Db5 = P1.5 , Db6 = P1.6 , Db7 = P1.7 , E = P1.3 , Rs = P1.2 Konfigurasi Tombol yang digunakan Tombol yang digunakan dalam mikrokontroler yaitu tombol OK menggunakan pin P2.0 dan tombol NO menggunakan pin P2.1. Sehingga perintah program untuk
266
Muhtadan, dkk
SEMINAR NASIONAL V SDM TEKNOLOGI NUKLIR YOGYAKARTA, 5 NOVEMBER 2009 ISSN 1978-0176
mendefinisikan nama tombol dengan pin mikrokontroler adalah Tbok Alias P2.0 Tbno Alias P2.1 Setelah mikrokontroler diinisialisasi, maka mikrokontroler siap digunakan untuk berkomunikasi dengan GPS. Program itu terdiri dari beberapa bagian berikut.
Lcd "T/J : " ; Msg1 ; "/" ; Msg5 lowerline Lcd "Lt : " Lcd Msg ; " " ; Msg2 Locate 2 , 1 Thirdline Lcd "Bj : " Lcd Msg3 ; " " ; Msg4 Locate 3 , 1
Program Utama Program utama adalah program yang digunakan untuk melakukan komunikasi data GPS dengan mikrokontroler. GPS berfungsi sebagai transmitter dan mikrokontroler sebagai receiver, dengan baudrate yang digunakan adalah 4800. Data yang diterima program utama dari GPS akan diseleksi jenis datanya dan akan dipisahkan nilai-nilainya berdasarkan lintang, bujur, tanggal dan waktu. Data yang dipilih adalah tipe GPRMC karena data ini memuat data-data yang dibutuhkan yaitu bujur, lintang, tanggal dan waktu. Proses pemisahan data ini dilakukan dengan cara mengidentifikasi tanda “,” karena tiap data dipisahkan dengan tanda “,” proses penyeleksian data menggunakan perintah sebagai berikut.
Sub Program Sub Program Mulai Sub program ini berfungsi untuk memulai proses komunikasi data antara GPS dengan mikrokontroler. Hal ini dilakukan dengan cara menekan tombol OK, melalui perintah dalam bahasa BASIC sebagai berikut: Do For A = 0 To 15 Debounce Tbok , 0 , Mulai , Sub Waitms 10 Next Loop Mulai: Cls Lowerline Lcd "Connected to GPS" Thirdline Lcd "Please wait.........." Waitms 1000 Goto Gps
Do Fdata
=
Lookup(y
,
Message) If
Fdata
=
0
Then
Exit Do Tmp = Waitkey() If Fdata = Tmp Then Incr Y Loop Nilai Message adalah $GPRMC, sehingga program ini hanya akan membaca dan memisahkan data dengan tipe GPRMC. Nilai data GPRMC dipisahkan menjadi data lintang, bujur, waktu dan tanggal berdasarkan tanda “,” menggunakan perintah sebagai berikut.
Sub Program Henti Sub program ini berfungsi untuk menghentikan proses komunikasi data antara GPS dan mikrokontroler. Hal ini dilakukan dengan cara menekan tombol NO. Perintah yang digunakan dalam membuat sub program ini adalah sebagai berikut. Cls Lowerline Lcd "Disconnect from GPS" Thirdline Lcd "....................." Do For A = 0 To 15 Debounce Tbok , 0 , Mulai ,
Do Tmp = Waitkey() If Tmp = "," Then Exit Do Msg = Msg + Chr(tmp) Loop Data-data tersebut setelah dipisahkan kemudian ditampilkan pada LCD 20x4 menggunakan perintah sebagai berikut. Muhtadan, dkk
Sub
267
Sekolah Tinggi Teknologi Nuklir - BATAN
SEMINAR NASIONAL IV SDM TEKNOLOGI NUKLIR YOGYAKARTA,5 NOVEMBER 2009 ISSN 1978-0176
Waitms 10 Next Loop
dengan baik berdasarkan tipe data yang dipilih dan apakah nilai-nilai data dapat dipisahkan serta ditampilkan pada LCD 20x4. Hasil pengujian program utama ini ditunjukkan dalam Tabel 3, 4 dan 5.
HASIL DAN PEMBAHASAN Pengujian Program Utama Pengujian ini bertujuan untuk mengetahui apakah komunikasi data berjalan
Tabel 3. Data Hasil Pengujian Program Utama (Data GPS) GPS No.
1
2
3
Tipe Data $GPGGA,020419.723,0746.6466,S,11024.8512,E,1,04,22.9,141.4,M,4.3,M,,0000*4C $GPRMC,020419.723,A,0746.6466,S,11024.8512,E,0.00,,310809,,,A*69 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,020420.723,0746.6466,S,11024.8512,E,1,04,22.9,141.4,M,4.3,M,,0000*4C $GPRMC,020420.723,A,0746.6466,S,11024.8512,E,0.00,,310809,,,A*69 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,020421.723,0746.6466,S,11024.8512,E,1,04,22.9,141.4,M,4.3,M,,0000*4C $GPRMC,020421.723,A,0746.6466,S,11024.8512,E,0.00,,310809,,,A*69 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 NB: Waktu pada mikrokontroler dalam waktu Indonesia Barat (GMT+7 jam)
Tabel 4. Data Hasil Pengujian Program Utama (Data Mikrokontroler) Mikrokontroler No.
1 2 3
Nilai-Nilai Data
Tipe Data $GPRMC $GPRMC $GPRMC
Lintang
Bujur
Waktu
Tanggal
0746.6466 S 0746.6466 S 0746.6466 S
11024.8512 E 11024.8512 E 11024.8512 E
090419 090420 090421
310809 310809 310809
Tabel 5. Data Hasil Pengujian Program Utama (Data pada LCD) LCD 20x4 No.
1 2 3
Nilai-Nilai Data Lintang
Bujur
Waktu
Tanggal
0746.6466 S 0746.6466 S 0746.6466 S
11024.8512 E 11024.8512 E 11024.8512 E
090419 090420 090421
310809 310809 310809
Sekolah Tinggi Teknologi Nuklir - BATAN
268
Muhtadan, dkk
SEMINAR NASIONAL V SDM TEKNOLOGI NUKLIR YOGYAKARTA, 5 NOVEMBER 2009 ISSN 1978-0176
Data yang telah dipisahkan kemudian ditampilkan pada LCD 20x4 dengan format tampilan seperti pada Gambar 5.
Gambar 7. Tampilan Eksekusi Sub Program Henti
Mikrokontroler akan tetap mengeksekusi sub program henti selama tombol OK belum ditekan. Jika tombol OK ditekan maka program akan mengeksekusi program utama.
Gambar 5.Tampilan Data Hasil Pemisahan Data GPS Pada LCD 20x4
Berdasarkan hasil pengujian, program utama telah berfungsi dengan baik. Data dari GPS dapat dikomunikasikan, dipilih tipe data yang sesuai yaitu GPRMC, dipisahkan menjadi lintang, bujur, tanggal dan waktu serta dapat ditampilkan pada LCD 20x4. Pengujian Sub Program Mulai Pengujian sub program mulai dimaksudkan untuk mengetahui respon dari tombol OK ketika ditekan. Ternyata dari hasil pengujian ketika tombol OK ditekan maka mirkokontroler akan mengeksekusi program utama. Tampilan LCD ketika tombol OK ditekan pada sub program mulai ditunjukkan pada Gambar 6.
Berdasarkan hasil pengujian dan pembahasan dapat ditarik kesimpulan sebagai berikut: 1. Telah dihasilkan suatu perangkat lunak yang dapat digunakan untuk melakukan komunikasi data antara GPS dengan mikrokontroler AT89S52. 2. Mikrokontroler dapat memilih data sesuai yang dibutuhkan yaitu tipe $GPRMC dari beberapa tipe data standar NMEA yang dikirim oleh GPS. 3. Mikrokontroler dapat memisahkan tipe data $GPRMC menjadi data lintang, bujur, waktu dan tanggal. 4. Mikrokontroler dapat menampilkan data yang telah dipisahkan pada LCD 20x4 dengan tepat dan cepat sesuai data yang dikirimkan oleh GPS. DAFTAR PUSTAKA
Gambar 6. Tampilan Eksekusi Sub Program Mulai
Gambar 6 merupakan indikator bahwa mikrokontroler telah siap melakukan komunikasi data dengan GPS, sehingga data dari GPS siap diterima, dipilih, dipisahkan dan ditampilkan pada LCD. Pengujian Sub Program Henti Pengujian sub program ini bermaksud untuk mengetahui respon dari tombol NO ketika ditekan. Ternyata dari hasil pengujian ketika tombol NO ditekan maka komunikasi data antara GPS dengan mikrokontroler akan terhenti dengan cara mengeksekusi sub program henti. Tampilan LCD ketika tombol NO ditekan ditunjukkan pada Gambar 7.
Muhtadan, dkk
KESIMPULAN
1.
TIM IE, AN GPS-GPS Navigator
2.
www.gpsinformation.org/dale/nmea.htm, 2009
3.
www.atmel.com, 2007
4.
ANONIM, Help Reference BASCOM 8051, 2006
5.
ANONIM, ADP Product, 2009, Buku Panduan Universal ISP Downloader.
TANYA JAWAB Pertanyaan 1. Berapa ralat posisi (m)? (Subari S) 2. Apa bedanya dengan yang ada dipasaran, misal untuk rental mobil dan mobil hilang, bisakah mengetahui keberadaan mobil sekarang dimana? (Subari S)
269
Sekolah Tinggi Teknologi Nuklir - BATAN
SEMINAR NASIONAL IV SDM TEKNOLOGI NUKLIR YOGYAKARTA,5 NOVEMBER 2009 ISSN 1978-0176
3. Berani menembus pasar (profit) seberapa jauh langkah yang sudah Anda lakukan? Apa sudah ada pemesan? (Subari S) 4. Ini hanya penggunaan alat atau inovasi perangkat yang dibuat? (Joko Sumanto) 5. Dapat digunakan secara realtime tidak (monitoring seperti CCTV) ? (Joko Sumanto) 6. Apa manfaat dari set-up alat ini? (Anwar Budianto). 7. Apakah alat ini dapat dikopel dengan sistem monitor lain, seperti velocitimeter, suhu, dsb, sehingga alat ini dapat dimonitor secara telemetri? (Anwar Budianto). 8. Apakah bedanya mikrokontroler AT89S52 dengan mikrokontroler AT89X51/52? (Suyatno) 9. Apa keuntungan dan kekurangan antara kedua mikrokontroler tersebut? (Suyatno). Jawaban 1. 6 meter. 2. Untuk aplikasi mencari posisi suatu barang, misal mobil dibutuhkan GPS transmitter, sedangkan yang digunakan pada penelitian ini adalah GPS receiver. 3. Insyaallah berani, karena dapat diaplikasikan pada berbagai sistem monitoring. Sejauh ini masih dalam tahap penelitian dan pengembangan. Belum ada pemesanan sebab belum pernah ditawarkan. 4. Ini merupakan inovasi dan pengembangan perangkat yang sudah ada. 5. Dapat digunakan secara realtime, karena data yang dikirimkan GPS secara terus menerus. Untuk men-stop komunikasi dengan menekan tombol STOP. 6. Alat ini dapat digunakan / diaplikasikan pada perangkat atau sistem monitor, seperti suhu, pencacah dsb. Sehingga validasi posisi pengukuran / monitoring dapat dipertanggungjawabkan. 7. Alat ini sangat mungkin dan dapat dikopel dengan sistem monitor lain, karena banyak data dari GPS yang dapat kita pilih, seperti ketinggian, lintang, bujur, dan kecepatan. 8. Mikrokontroler AT89S52 dengan mikrokontroler AT89X51/52 sama, sebab mikrokontroler AT89S52 termasuk dalam seri AT89X51/52. 9. Mikrokontroler tersebut lebih murah harganyan dan mudah dalam pemrogramannya. Sekolah Tinggi Teknologi Nuklir - BATAN
270
Muhtadan, dkk