GPS Tracker project ( BS2P + GPS module + JP Module + 16x2 LCD Display)
Hello all,
·
I just finished a summer project which is a GPS tracker demonstration program with data logging capacity. It uses BasicStamp 2P to interface with a GPS Module, JP Module and 16x2 LCD display. Code used is standard PBasic 2.5, it should work with most of the BasicStamp chips.
·
It can record GPS data to a MMC/SD card with latitude and longitude information. The data can be processed from Google Map at the website: http://www.gpsvisualizer.com. If you have Google Earth installed, the data also can be processed into a KML file (Google earth data file format) at the website: http://www.gpsvisualizer.com/map?form=googleearth
·
Main components:
(1) Basic Stamp 2P
Manufacturer:· www.parallax.com
Datasheet: http://www.parallax.com/tabid/440/Default.aspx
·
(2) GPS Module 40EBLS
Manufacturer:· www.mightygps.com
Datasheet: http://www.mightygps.com/oem/MightyGPS40EBLS.pdf
·
(3) JP Module·
Manufacturer: www.jianpingusa.com
····· ·Datasheet: http://www.jianpingusa.com/datasheet/JP%20Module%20Instruction.pdf
·
(4) 16x2 LCD Display
Manufacturer: http://www.femacorp.com/
Datasheet: http://www.femacorp.com/Products/LCD/Character%20Modules/Character%20Modules%20Index.htm
·
·
Attached files:
(1)·· Schematic
·
(2)·· Code
(3)·· Project photo
················
(4)·· Google Map
·
(5)·· Google earth map
·
··· ·
·
·
Thanks to Parallax team and all forum users,
·
OldSpring (Author of the project)
Post Edited (OldSpring) : 7/23/2008 7:01:19 PM GMT
·
I just finished a summer project which is a GPS tracker demonstration program with data logging capacity. It uses BasicStamp 2P to interface with a GPS Module, JP Module and 16x2 LCD display. Code used is standard PBasic 2.5, it should work with most of the BasicStamp chips.
·
It can record GPS data to a MMC/SD card with latitude and longitude information. The data can be processed from Google Map at the website: http://www.gpsvisualizer.com. If you have Google Earth installed, the data also can be processed into a KML file (Google earth data file format) at the website: http://www.gpsvisualizer.com/map?form=googleearth
·
Main components:
(1) Basic Stamp 2P
Manufacturer:· www.parallax.com
Datasheet: http://www.parallax.com/tabid/440/Default.aspx
·
(2) GPS Module 40EBLS
Manufacturer:· www.mightygps.com
Datasheet: http://www.mightygps.com/oem/MightyGPS40EBLS.pdf
·
(3) JP Module·
Manufacturer: www.jianpingusa.com
····· ·Datasheet: http://www.jianpingusa.com/datasheet/JP%20Module%20Instruction.pdf
·
(4) 16x2 LCD Display
Manufacturer: http://www.femacorp.com/
Datasheet: http://www.femacorp.com/Products/LCD/Character%20Modules/Character%20Modules%20Index.htm
·
·
Attached files:
(1)·· Schematic
·
(2)·· Code
'====================================================== ' File...... GPS Tracking Data Logger Demo ' Purpose... BS2P + JP Module + GPS Module + 16x2 LCD ' Author.... OldSpring ' Email..... [url=mailto:OldSprings@yahoo.com]OldSprings@yahoo.com[/url] ' Started... ' Updated... 18 July 2008 ' ' {$STAMP BS2p} ' {$PBASIC 2.5} ' '======================================================= #SELECT $STAMP #CASE BS2, BS2E, BS2PE T2400 CON 396 T4800 CON 188 T9600 CON 84 T19K2 CON 32 #CASE BS2SX, BS2P T2400 CON 1021 T4800 CON 500 T9600 CON 240 T19K2 CON 110 #CASE BS2PX T2400 CON 1646 T4800 CON 813 T9600 CON 396 T19K2 CON 188 #ENDSELECT '------------------------------------------------------- ' I/O Definitions '------------------------------------------------------- E PIN 1 'LCD Enable Pin SOUT PIN 15 'Send command and data to JP Module StatePin PIN 14 ResetPin PIN 13 GPS_In PIN 12 'GPS Data in RecIndicator PIN 11 'GPS Data record Indicate '------------------------------------------------------- ' Constants '------------------------------------------------------- '------------------------------------------------------- ' Variables '------------------------------------------------------- RecCount VAR Byte x VAR Nib GPSData VAR Byte(24) 'GPS Data from module JP_Baud CON T19K2 ' 19200,8,N,1 GPS_Baud CON T4800 ' 4800,8,N,1 '-------------------------------------------------------- ' LCD command '-------------------------------------------------------- LcdCls CON $01 ' clear the LCD LcdHome CON $02 ' move cursor to home LcdLine1 CON $80 ' Lcd address for line 1 LcdLine2 CON $C0 ' Lcd address for line 2 Init_LCD: PAUSE 1000 ' LCD self init LCDCMD E, %00110000 ' wakeup PAUSE 10 LCDCMD E, %00100000 ' set data for 4 bits LCDCMD E, %00101000 ' set 2(4) line mode with 5x8 font LCDCMD E, %00001100 ' turn cursor off LCDCMD E, %00000110 ' auto increment cursor '------------- First Screen --------------- LCDCMD E, LcdCls LCDOUT E, LcdLine1, [noparse][[/noparse]" GPS Tracking "] LCDOUT E, LcdLine2, [noparse][[/noparse]" Data Logger "] PAUSE 2000 '*********************************************************** ' Format MMC/SD Card with FAT16 'Warning: Format will erase ALL data on your MMC/SD card!!!! '=========================================================== ' GOSUB Formatting If formatting MMC/SD Card '=========================================================== GOSUB Init_JP_Module ' ---------------------------------------------------------- ' Initialization ' ---------------------------------------------------------- Initialize: RecCount = 0 ' OUTPUT RecIndicator LCDCMD E, LcdCls LCDOUT E, LcdLine1, [noparse][[/noparse]"La:"] LCDOUT E, LcdLine2, [noparse][[/noparse]"Lo:"] '----------------------------------------------------------- ' Main program '----------------------------------------------------------- HIGH RecIndicator 'Turn LED ON Main: GOSUB DisplayData 'LCD Dispaly GPS Data GOSUB RecordData 'Record Record Data PAUSE 5000 'About per sample/per 5 sec. GOTO Main END ' ---------------------------------------------------------- ' Subroutines '----------------------------------------------------------- RecordData: GOSUB Rec_GPS_Data 'Get GPS Data for record '*********************************************************** ' Change GPS Data format "xxxx.xxxx,N,xxxxx.xxxx,W" ' to Google Earth Data format "xxxx.xxxx,-xxxxx.xxxx" '*********************************************************** 'DEBUG GPSData(11),CR IF GPSData(11) = "N" THEN GPSData(0) = " " ELSE GPSData(0) = "-" ENDIF 'DEBUG GPSData(24),CR IF GPSData(24) = "W" THEN GPSData(12) = "-" ELSE GPSData(12) = " " ENDIF GPSData(11)= " " 'DEBUG STR GPSData\23,CR SEROUT SOUT, JP_Baud, [noparse][[/noparse]STR GPSData\23, CR,"!!"] 'Data recording RETURN '----------------------------------------------------- DisplayData: GOSUB LCD_GPS_Data LCDOUT E, LcdLine1 + 5, [noparse][[/noparse]STR GPSData\11] FOR x = 0 TO 12 GPSData(x) = GPSData(x+12) NEXT LCDOUT E, LcdLine2 + 4, [noparse][[/noparse]STR GPSData\12] RETURN '------------------------------------------------------- LCD_GPS_Time: GPSData(6) = 0 SERIN GPS_In, GPS_Baud, [noparse][[/noparse]WAIT ("$GPRMC"), SKIP 1, STR GPSData\6] RETURN '------------------------------------------------------- LCD_GPS_data: GPSData(24) = 0 SERIN GPS_In, GPS_Baud, [noparse][[/noparse]WAIT ("$GPRMC"), SKIP 13, STR GPSData\24] RETURN '------------------------------------------------------- Rec_GPS_data: GPSData(24) = 0 SERIN GPS_In, GPS_Baud, [noparse][[/noparse]WAIT ("$GPRMC"), SKIP 12, STR GPSData\25] RETURN '------------------------------------------------------- Formatting: LCDCMD E, LcdCls LCDOUT E, LcdLine1, [noparse][[/noparse]" Formatting... "] SEROUT SOUT, JP_Baud, [noparse][[/noparse]"MF!"] 'Format MMC/SD Card PAUSE 50 SEROUT SOUT, JP_Baud, [noparse][[/noparse]"OldSpring!!"] 'Volume label PAUSE 1000 Waiting: IF StatePin = 1 THEN LCDOUT E, LcdLine1, [noparse][[/noparse]" Finished! "] ELSE PAUSE 1000 GOTO Waiting ENDIF RETURN '----------------------------------------------------- Init_JP_Module: OUTPUT ResetPin ResetPin = 0 PAUSE 1000 ResetPin = 1 PAUSE 1000 SEROUT SOUT, JP_Baud, [noparse][[/noparse]"MA!"] 'Open data file PAUSE 50 SEROUT SOUT, JP_Baud, [noparse][[/noparse]"GPSTrack.CSV!!"] 'File Name PAUSE 1000 IF StatePin = 0 THEN 'If file not find, create a new file ResetPin = 0 PAUSE 1000 ResetPin = 1 PAUSE 1000 SEROUT SOUT, JP_Baud, [noparse][[/noparse]"MC!"] 'Create a new file PAUSE 50 SEROUT SOUT, JP_Baud, [noparse][[/noparse]"GPSTrack.CSV!!"] 'File Name PAUSE 1000 SEROUT SOUT, JP_Baud, [noparse][[/noparse]"Latitude,Longitude", CR,"!!"] 'Data title PAUSE 1000 ENDIF RETURN
(3)·· Project photo
················
(4)·· Google Map
·
(5)·· Google earth map
·
··· ·
·
·
Thanks to Parallax team and all forum users,
·
OldSpring (Author of the project)
Post Edited (OldSpring) : 7/23/2008 7:01:19 PM GMT