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
Reviewed by cahyohertanto
on
April 07, 2015
Rating:
No comments: