Ublox Neo-6M GPS Bascom AVR

     GPS dapat dipergunakan untuk berbagai keperluan yang berhubungan dengan lokasi, misalnya pada moda transportasi  dan alat survey. GPS sendiri akan menerima data dari satelit yang berisi data waktu, latitude, longitude, ketinggian, dan kecepatan. Dengan data tersebut kita dapat membuat alat tracking untuk kendaraan bermotor. Berikut adalah bentuk dari GPS yang saya maksudkan 


     Keluaran GPS ini berupa UART TTL sehingga kita dapat langsung menghubungkan GPS ini pada mikrokontroler tanpa memerlukan komponen converter lagi. Bila Module ini dihubungkan dengan Komputer menggunakan USB to TTL converter serta Hyperterminal maka berikut ini adalah data yang dikeluarkan secara kontinyu.


    Data yang dikeluarkan GPS ini adalah data dengan protocol NMEA dimana informasi lebih lanjut mengenai NMEA dapat dilihat pada link ini. Anda dapat menggunakan data yang anda butuhkan namun secara umum saya menggunakan keluaran data GPGGA untuk mendapatkan data waktu, Latitude, dan longitude untuk mendapatkan data kecepatan dalam kilometer perjam dapat menggunakan data GPVTG. Setiap baris data akan diakhiri dengan Chr(13) dan Chr(10) atau biasa disebut dengan CR&LF CR mewakili Enter dan LF mewakili perpindahan baris data, sehingga untuk membaca data dari GPS dapat menggunakan cara seperti berikut:


$regfile = "m32def.dat" 
$crystal = 11059200
$baud = 9600

Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2  
Config Lcd = 16 * 2 

Dim Header As String * 8
Dim Gps As Byte
Dim Buff As String * 82
Dim Fnd As Byte
Dim Hdr As String * 6

Dim Utc As String * 82
Dim H As String * 2
Dim Gmt As Long
Dim Wib As String * 5
Dim Hour As String * 2
Dim M As String * 2
Dim S As String * 2
Dim Jm As String * 20
Dim Div As String * 2
Dim Templat As String * 12
Dim Templng As String * 12

Dim X As Integer , Y As Integer , I As Integer , C As Integer
Dim Ltng As Byte , Bjr As Byte

Dim Sat As String * 1
Dim Num As String * 5
Dim Ns As String * 1
Dim Ew As String * 5
Dim Hdop As String * 3
Dim Alt As String * 6

Dim Latdeg As String * 1
Dim Latmin As String * 2
Dim Latss As String * 6
Dim Lngdeg As String * 3
Dim Lngmin As String * 2
Dim Lngss As String * 6

Dim Conv1 As String * 6
Dim Conv2 As Long
Dim Conv3 As String * 6
Dim Conv4 As Long

Dim Lt As String * 12
Dim Lg As String * 12

Dim Cek_lat As String * 5
Dim Cek_lat1 As String * 5
Dim Cek_latitude As String * 11
Dim Complat As String * 7
Dim Comp1 As Byte

Dim Cek_lng As String * 5
Dim Cek_lng1 As String * 5
Dim Cek_longitude As String * 11
Dim Complng As String * 7
Dim Comp2 As Byte

Declare Sub Read_gps

Header = "$GPGGA"
Div=":"

Cursor Off
Call Gsm_on
Waitms 700
Call Res_dbase
Cls
Locate 1 , 1
Lcd "GPS Parsing"
Locate 2 , 1
Lcd "waiting..."
Wait 1

Do
Call Read_gps
Loop

Sub Read_gps
Do
Gps = Inkey()
If Gps = 13 Then Exit Do
Buff = Buff + Chr(gps)
Loop

Fnd = Instr(buff , Header)
Hdr = Mid(buff , Fnd , 6)   
If Hdr = "$GPGGA" Then  
Utc = Mid(buff , 9 , 9)
H = Mid(utc , 1 , 2)
Gmt = Val(h) + 7
Wib = Str(gmt)
M = Mid(utc , 3 , 2)
S = Mid(utc , 5 , 2)
Jm = Wib + Div + M + Div + S
Templat = Mid(buff , 19 , 10)
Ns = Mid(buff , 30 , 1)

Templng = Mid(buff , 32 , 11)
Ew = Mid(buff , 44 , 1)

Sat = Mid(buff , 46 , 1)
Num = Mid(buff , 48 , 2)

Hdop = Mid(buff , 49 , 3)
Alt = Mid(buff , 56 , 6)

Latdeg = Mid(templat , 2 , 1)
Lngdeg = Mid(templng , 1 , 3)

Latmin = Mid(templat , 3 , 2)
Lngmin = Mid(templng , 4 , 2)

Latss = Mid(templat , 7 , 6)
Lngss = Mid(templng , 7 , 6)

     Dengan kode diatas anda dapat menampilkan data Latitude dan longitude pada LCD  dengan sedikit modifikasi tentunya, Semoga bermanfaat .


     
Ublox Neo-6M GPS Bascom AVR Ublox Neo-6M GPS Bascom AVR Reviewed by cahyohertanto on April 07, 2015 Rating: 5

No comments:

close