Pengembangan Program Komunikasi GPS dengan by aabimanyu

VIEWS: 245 PAGES: 6

									    PENGEMBANGAN PROGRAM KOMUNIKASI DATA ANTARA
        GLOBAL POSITIONING SYSTEM (GPS) DENGAN
               MIKROKONTROLER AT89S52

                               Muhtadan 1, Adi Abimanyu2 dan 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. Data-data 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.

Katakunci: 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 microntroller for display the data from GPS to LCD 20x 4, using
BASIC programing language has been made.This software is designed for receive data from GPS with
NMEA data standart via serial communication and seperated the data based on needed and then
display it on LCD 20x4. The data consist of lattitude, 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 seperating 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 comunication, microcontroller.




1. PENDAHULUAN                                           digunakan untuk mengendalikan proses dari suatu
                                                         alat melalui program yang ditanamkan (download)
    GPS atau Global Positioning System sudah             dalam chip mikrokontroler
lama digunakan oleh pihak militer dan transportasi            Perangkat lunak komunikasi data antara GPS
sebagai alat navigasi. Sekarang ini teknologi GPS        dengan mikrokontroler AT89S52 dibuat untuk
banyak digunakan oleh masyarakat umum untuk              mengkomunikasikan data secara serial antara GPS
keperluan berkendara, berlayar ataupun untuk             dengan mikrokontroler yang pada akhirnya dapat
berkomunikasi[1]. Teknologi GPS berguna untuk            diaplikasikan untuk semua alat yang membutuhkan
menunjukkan posisi terhadap garis lintang dan            data berupa lintang, bujur, waktu dan tanggal dari
bujur serta tanggal dan waktu.                           GPS melalui mirkokontroler. Dalam pengukuran
    Perkembangan teknologi semi konduktor telah          besaran dan pemetaan di lapangan yang sangat
menghasilkan teknologi mikrokontroler yang dapat         bergantung pada posisi maka ketepatan posisi




                                                     1
pengukuran dapat dilakukan secara tepat di posisi         dalam penentuan posisi dan waktu yaitu PVT
yang sama dengan GPS sebagai acuan data.                  (position, velocity, time) sehingga tipe data ini
Sebagai contoh aplikasi penggunaan GPS dalam              merupakan rekomendasi minimum data untuk
pengukuran di lapangan adalah pemetaan hutan              GPS. Kalimat datanya adalah sebagai berikut:
untuk mengetahui pohon yang sudah layak
ditebang, pemetaan kota, pemetaan daerah radiasi          $GPRMC,123519,A,4807.038,N,01131.000,E,022.
dan lain-lain.                                            4,084.4,230394,003.1,W*6A
     Program komunikasi data GPS dengan                       Dimana :
mikrokontroler AT89S52 dibuat menggunakan                  RMC             :    Recommended        Minimum
bahasa pemrograman BASIC dengan software                      sentence C
BASCOM versi 2.0.12.0. Pengujian ini dilakukan             123519          : Fix taken at 12:35:19 UTC
dengan memberi masukan data dari GPS dengan                A               : Status A=active or V=Void
tipe data yang bervariasi, untuk mengetahui                4807.038,N : Latitude 48 deg 07.038' N
program ini sudah berfungsi dengan baik atau               01131.000,E : Longitude 11 deg 31.000' E
belum.                                                     022.4           : Speed over the ground in knots
                                                           084.4           : Track angle in degrees True
                                                           230394          : Date - 23rd of March 1994
2. TEORI                                                   003.1,W         : Magnetic Variation
                                                           *6A             : The checksum data, always
GPS dan Tipe Datanya                                          begins with *
     GPS atau Global Positioning System adalah
suatu alat yang berfungsi untuk menunjukkan               Mikrokontroler AT89S52
posisi terhadap garis lintang dan bujur, ketinggian           Mikrokontroler        AT89S52    merupakan
terhadap permukaan laut dan tanggal serta waktu.          mikrokontroler      keluarga   MCS51    dengan
Format data GPS mengikuti standar NMEA                    kemampuan yang sangat baik dan harganya relatif
(National Marine Electronics Association), standar        murah. Mikrokontroler AT89S52 digunakan dalam
ini mengijinkan peralatan electronic untuk                penelitian ini karena memiliki     kemampuan
mengirim informasi kepada komputer atau                   sebagai berikut[3] :
peralatan yang lain. Tipe data ini terdiri dari
PVT(position, velocity, time) yang dikirimkan oleh        1.   Program memori internal 8 kbytes
GPS transmitter melalui komunikasi serial port            2.   RAM internal 256 byte
menggunakan protocol RS232 dengan baudrate                3.   Empat buah paralel I/O
4800b/s, 8 bit data, tanpa parity dan stop bit.           4.   Sebuah port serial
Setiap data dimulai dengan ‘$’, data dikirim dalam        5.   Tiga buah timer/counter
satu baris yang terdiri dari berbagai data yang           6.   Frekuensi kerja dari 0 sampai 33 MHz
dipisahkan dengan koma (“,”) dan dikirimkan               7.   Tegangan operasi 4 sampai 5,5 Volt.
setiap 2 detik oleh transmitter. Menurut standar
NMEA ada beberapa jenis data tetapi yang                      Konfigurasi pin-pin mikrokontroler AT89S52
ditunjukkan pada Tabel 1 merupakan tipe data              ditunjukkan pada Gambar 1.
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    GGA     Fix information
      2    GSA     Overall Satellite data
      3    GSV     Detailed Satellite Data
                   Recommended minimum
      4    RMC     data for GPS
      5    GLL     Lat/Lon Data
                   Vector track an Speed
      6    VTG     over the Ground
                                                               Gambar 1. Konfigurasi pin mikrokontroler
    Tipe data yang dipilh untuk dikomunikasikan                              AT89S52
antara GPS dengan mikrokontroler AT89S52
adalah tipe data yang GPRMC. Tipe data GPRMC              BASCOM-8051 IDE
memiliki versi data sendiri yang sangat penting              Bascom-8051 IDE adalah suatu program



                                                      2
menggunakan bahasa pemrograman BASIC yang                 3. TATAKERJA (BAHAN DAN METODE)
digunakan untuk memprogram perintah yang ingin
dijalankan     oleh    mikrokontroler     sehingga        Alat dan Bahan
mikrokontroler bekerja sesuai dengan yang                     Alat dan Bahan yang digunakan pada
diinginkan. Pembuatan program harus disesuaikan           pembuatan program komunikasi data GPS dengan
dengan      kapasitas   flash    program      pada        mikrokontroler AT89S52           adalah bahasa
mikrokontroler sehingga tidak terjadi overload            pemrograman BASIC dengan software BASCOM
program yang akan mengakibatkan error waktu               8051 versi 2.0.12.0 di dalamnya terdapat fasilitas
proses compile program. Inisialisasi jenis chip           compile untuk mengkompilasi menjadi file-file
dilakukan melalui perintah :                              dengan extensi yang akan ditanamkan dalam chip
     $REGFILE = "89S52.DAT"[4]                            mikrokontroler. Adapun       downloader     yang
Proses komunikasi data ini menggunakan baudrate           digunakan dalam penelitian ini adalah Universal
4800 jadi baudrate pada mikrokontroler pun harus          ISP Downloader dengan file yang digunakan
diset pada baudrate 4800 melalui perintah                 dapat berekstensi .HEX ataupun .BIN.
     $baud = 4800
Pengaturan baudrate ini dimaksudkan agar                  Langkah Kerja
komunikasi data dapat sinkron.                                Diagram alir pelaksanaan kegiatan pembuatan
     Sebelum digunakan LCD harus diinisialisasi           program    komunikasi     data   GPS     dengan
oleh program. Pendefinisian LCD melalui perintah          mikrokontroler AT89S52 ditunjukan pada Gambar
     Config Lcd = 20 * 4                                  3.
     Config Lcdpin = Pin , Db4 =                                                  Mulai
P1.4 , Db5 = P1.5 , Db6 = P1.6 ,
Db7 = P1.7 , E = P1.3 , Rs = P1.2
                                                                       Pembuatan Diagram Alir
                                                                        Program Komunikasi
     Tombol pun juga harus diinisialisasi oleh                            Data GPS dengan
                                                                       Mikrokontroler AT89S52
program. Pendefinisian Tombol melalui perintah :
     Tbok Alias P2.0
     Setelah program selesai dibuat maka program
kemudian dicompile dan hasilnya akan berupa file                              Pembuatan
dengan ekstensi .HEX ataupun .BIN. File jenis                                  Program
inilah yang akan ditanamkan pada mikrokontroler
menggunakan Universal ISP Downloader[5].
                                                                               Pengujian
Prinsip Kerja Program Komunikasi Data GPS                                      Program

      Program ini bermaksud untuk mengambil data
GPS dari GPS receiver, menampilkan data tersebut
dalam LCD 20x4 larik, menyimpan dan membaca                                     Sesuai        Tidak
                                                                              Persyaratan
data tersebut pada EEPROM. Data yang dipilih
adalah tipe data GPRMC yang kemudian data-data
                                                                                 Ya
tersebut dipisahkan berdasarkan nilai lintang
(latitude), bujur (longitude), waktu (dirubah dalam                             Selesai
WIB) dan tanggal. Blok diagram komunikasi data
GPS dengan mikrokontroler, tombol dan LCD                          Gambar 3. Diagram alir kegiatan
ditunjukkan pada Gambar 2.
                                                               Pembuatan program komunikasi data GPS
     LCD 20x4                                             dengan     mikrokontroler AT89S52           meliputi
   T/J :                                                  pembuatan program pemilihan data GPS,
   Lt :                                                   pemisahan data GPS dan menampilkan data-data
   Bj :                                                   yang telah dipisahkan pada LCD 20x4. Diagram
                                                          alir pembuatan program komunikasi data GPS
                                                          dengan mikrokontroler AT89S52 ditunjukkan pada
                       Mikrokontroler
                         AT89S52
                                                          Gambar 4.
                                        Tombol :               Agar dapat berkomunikasi dengan GPS dan
                                        1. Tb OK          dapat menampilkan data GPS pada LCD serta
   GPS Receiver
                  Tx
                                        2. Tb NO          berkomunikasi        dengan       keypad      maka
                       Rx
                                                          mikrokontroler harus diinisialisasi terlebih dahulu
                                                          yaitu melalui perintah-perintah sebagai berikut.
 Gambar 2. Blok Diagram Komunikasi Data GPS




                                                      3
                Mulai
                                                                   tombol dengan pin mikrokontroler adalah
                                Ambil data bujur                        Tbok Alias P2.0
            Inisialisasi
           mikrokontroler            Tunggu
                                                                        Tbno Alias P2.1
                                                                        Setelah mikrokontroler diinisialisasi, maka
    Tunggu input (header)
                                     Tunggu                        mikrokontroler      siap      digunakan     untuk
     $GPRMC dari GPS

                                     Tunggu
                                                                   berkomunikasi dengan GPS. Program itu terdiri
  Tidak        Input =                                             dari beberapa bagian berikut.
              $GPRMC               Ambil data
                                    tanggal
                    Ya
               Tunggu
                                                                   1.   Program Utama
                                 Tampilkan data
                               waktu, lintang, bujur
                                                                        Program utama adalah program yang
          Ambil data waktu
                                dan tanggal pada                   digunakan untuk melakukan komunikasi data GPS
                                       LCD
               Tunggu                                              dengan mikrokontroler. GPS berfungsi sebagai
               Tunggu                                              transmitter dan mikrokontroler sebagai receiver,
                                                       Tidak

          Ambil data lintang
                                    Berhenti                       dengan baudrate yang digunakan adalah 4800.
                                          Ya
                                                                   Data yang diterima program utama dari GPS akan
               Tunggu
                                     Selesai
                                                                   diseleksi jenis datanya dan akan dipisahkan nilai-
    Ambil data arah lintang
                                                                   nilainya berdasarkan lintang, bujur, tanggal dan
               Tunggu                                              waktu. Data yang dipilih adalah tipe GPRMC
          Ambil data bujur                                         karena data ini memuat data-data yang dibutuhkan
               Tunggu
                                                                   yaitu bujur, lintang, tanggal dan waktu. Proses
                                                                   pemisahan data ini dilakukan dengan cara
     Ambil data arah bujur
                                                                   mengidentifikasi tanda “,” karena tiap data
               Tunggu
                                                                   dipisahkan dengan tanda “,” proses penyeleksian
               Tunggu                                              data menggunakan perintah sebagai berikut.
               Tunggu

                                                                        Do
                                                                           Fdata = Lookup(y , Message)
  Gambar 4. Diagram Alir Pembuatan Program                                 If Fdata = 0 Then Exit Do
  Komunikasi Data GPS dengan Mikrokontroler                                Tmp = Waitkey()
                  AT89S52                                                  If Fdata = Tmp Then Incr Y
                                                                        Loop
Konfigurasi baudrate
    Baudrate mikrokontroler diatur pada nilai                           Nilai Message adalah $GPRMC, sehingga
4800 agar dapat berkomunikasi dengan GPS                           program ini hanya akan membaca dan memisahkan
karena baudrate GPS adalah 4800. Maka perintah                     data dengan tipe GPRMC. Nilai data GPRMC
yang digunakan adalah                                              dipisahkan menjadi data lintang, bujur, waktu dan
$baud = 4800                                                       tanggal berdasarkan tanda “,” menggunakan
                                                                   perintah sebagai berikut.
Konfigurasi LCD (20x4)
   Konfigurasi LCD dengan mikrokontroler                                Do
mengikuti susunan sesuai Tabel 2.                                          Tmp = Waitkey()
                                                                           If Tmp = "," Then Exit Do
     Tabel 2. Konfigurasi pin LCD dengan pin                               Msg = Msg + Chr(tmp)
             mikrokontroler AT89S52                                     Loop
     Db4 Db5 Db6 Db7              E     Rs
     P1.4 P1.5 P.1.6 P.1.7 P1.3 P.1.2                                 Data-data   tersebut    setelah    dipisahkan
                                                                   kemudian   ditampilkan    pada LCD 20x4
Perintah yang digunakan dalam permograman                          menggunakan perintah sebagai berikut.
adalah sebagai berikut,
                                                                   Lcd "T/J : " ; Msg1 ; "/" ; Msg5
Config          Lcd = 20 * 4                                       lowerline
Config          Lcdpin = Pin , Db4 = P1.4 ,                        Lcd "Lt : "
Db5 =           P1.5 , Db6 = P1.6 , Db7 =                          Lcd Msg ; " " ; Msg2
P1.7 ,          E = P1.3 , Rs = P1.2                               Locate 2 , 1
                                                                   Thirdline
Konfigurasi Tombol yang digunakan                                  Lcd "Bj : "
     Tombol yang digunakan dalam mikrokontroler                    Lcd Msg3 ; " " ; Msg4
yaitu tombol OK menggunakan pin P2.0 dan                           Locate 3 , 1
tombol NO menggunakan pin P2.1. Sehingga
perintah program untuk mendefinisikan nama                         2. Sub Program
                                                                   Sub Program Mulai


                                                               4
    Sub program ini berfungsi untuk memulai                berikut.
proses komunikasi data antara GPS dengan
mikrokontroler. Hal ini dilakukan dengan cara              Cls
menekan tombol OK, melalui perintah dalam                  Lowerline
bahasa BASIC sebagai berikut:                              Lcd "Disconnect from GPS"
Do                                                         Thirdline
    For A = 0 To 15                                        Lcd "....................."
    Debounce Tbok , 0 , Mulai , Sub                        Do
    Waitms 10                                                 For A = 0 To 15
    Next                                                      Debounce Tbok , 0 , Mulai , Sub
Loop                                                          Waitms 10
                                                              Next
Mulai:                                                     Loop
   Cls
   Lowerline
   Lcd "Connected to GPS"                                  4. HASIL DAN PEMBAHASAN
   Thirdline
   Lcd "Please wait.........."                             Pengujian Program Utama
   Waitms 1000                                                  Pengujian ini bertujuan untuk mengetahui
   Goto Gps                                                apakah komunikasi data berjalan dengan baik
                                                           berdasarkan tipe data yang dipilih dan apakah
Sub Program Henti                                          nilai-nilai data dapat dipisahkan serta ditampilkan
    Sub    program      ini     berfungsi  untuk           pada LCD 20x4.
menghentikan proses komunikasi data antara GPS                  Hasil pengujian program utama ini
dan mikrokontroler. Hal ini dilakukan dengan cara          ditunjukkan dalam Tabel 3, 4 dan 5.
menekan tombol NO. Perintah yang digunakan
dalam membuat sub program ini adalah sebagai

                        Tabel 3. Data Hasil Pengujian Program Utama (Data GPS)
                                                         GPS
        No.
                                                    Tipe Data

          1   $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
          2   $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
          3   $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.     Tipe                             Nilai-Nilai Data
                        Data          Lintang               Bujur           Waktu    Tanggal
                  1   $GPRMC        0746.6466 S          11024.8512 E       090419   310809
                  2   $GPRMC        0746.6466 S          11024.8512 E       090420   310809
                  3   $GPRMC        0746.6466 S          11024.8512 E       090421   310809




                                                     5
                      Tabel 5. Data Hasil Pengujian Program Utama (Data pada LCD)
                                                     LCD 20x4
                        No.                     Nilai-Nilai Data
                                 Lintang             Bujur         Waktu    Tanggal
                          1    0746.6466 S     11024.8512 E       090419    310809
                          2    0746.6466 S     11024.8512 E       090420    310809
                          3    0746.6466 S     11024.8512 E       090421    310809


                                                          Ternyata dari hasil pengujian ketika tombol NO
    Data yang telah dipisahkan kemudian                   ditekan maka komunikasi data antara GPS dengan
ditampilkan pada LCD 20x4 dengan format                   mikrokontroler akan terhenti dengan cara
tampilan seperti pada Gambar 5.                           mengeksekusi sub program henti. Tampilan LCD
                                                          ketika tombol NO ditekan ditunjukkan pada
                                                          Gambar 7.




 Gambar 5.Tampilan Data Hasil Pemisahan Data
            GPS Pada LCD 20x4
                                                             Gambar 7. Tampilan Eksekusi Sub Program Henti
     Berdasarkan hasil pengujian, program utama
telah berfungsi dengan baik. Data dari GPS dapat              Mikrokontroler akan tetap mengeksekusi sub
dikomunikasikan, dipilih tipe data yang sesuai            program henti selama tombol OK belum ditekan.
yaitu GPRMC, dipisahkan menjadi lintang, bujur,           Jika tombol OK ditekan maka program akan
tanggal dan waktu serta dapat ditampilkan pada            mengeksekusi program utama.
LCD 20x4.
                                                          5. KESIMPULAN
Pengujian Sub Program Mulai
                                                              Berdasarkan hasil pengujian dan pembahasan
     Pengujian sub program mulai dimaksudkan              dapat ditarik kesimpulan sebagai berikut:
untuk mengetahui respon dari tombol OK ketika             1. Telah dihasilkan suatu perangkat lunak yang
ditekan. Ternyata dari hasil pengujian ketika                 dapat digunakan untuk melakukan komunikasi
tombol OK ditekan maka mirkokontroler akan                    data antara GPS dengan mikrokontroler
mengeksekusi program utama. Tampilan LCD                      AT89S52.
ketika tombol OK ditekan pada sub program mulai           2. Mikrokontroler dapat memilih data sesuai
ditunjukkan pada Gambar 6.                                    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
Gambar 6. Tampilan Eksekusi Sub Program Mulai                 dan cepat sesuai data yang dikirimkan oleh
                                                              GPS.
     Gambar 6 merupakan indikator bahwa
mikrokontroler telah siap melakukan komunikasi            6. DAFTAR PUSTAKA
data dengan GPS, sehingga data dari GPS siap
diterima, dipilih, dipisahkan dan ditampilkan pada        1.    Tim IE, AN GPS-GPS Navigator
LCD.                                                      2.    www.gpsinformation.org/dale/nmea.htm, 2009
                                                          3.    www.atmel.com, 2007
Pengujian Sub Program Henti                               4.    Help Reference BASCOM 8051, 2006
                                                          5.    ADP Product, 2009, Buku Panduan Universal
   Pengujian sub program ini bermaksud untuk                    ISP Downloader.
mengetahui respon dari tombol NO ketika ditekan.


                                                      6

								
To top