Displaying NMEA 0183 on lcd
Guuske
Posts: 3
Hi i'm guus and i'm new to this forum but i hope someone can help does anyone know if it is possible to input NMEA 0183 on a basic stamp 2.5 and then display it on a lcd display i'm worki ng with to baud rates 4800k and 38k4
if it is possible can someone please explain how thanx alot greetings from holland
if it is possible can someone please explain how thanx alot greetings from holland
Comments
The SERIN instruction is the one to research. See the Help files within the the development envirionment for examples.
Depending on which parts of the NMEA string you want to display, you may have to do some creative programming to work within the limited variable area of the Stamps.
This includes reading the NMEA sentence in two or more parts, or using some of the other Stamps with more variable space.
Cheers,
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Tom Sisk
http://www.siskconsult.com
·
thanx guus
What you're asking for requires you to read the data from the GPS into variables in memory, and then to display those variables on an LCD. You need to figure out those two things separately. The product page for any of the Parallax Serial LCDs will have sample code to show you how to display information on the LCD. If you want to display a decent amount of information, use the larger LCD:
http://www.parallax.com/Store/Accessories/Displays/tabid/159/CategoryID/34/List/0/Level/a/ProductID/51/Default.aspx?SortField=ProductName%2cProductName
It's worth it.
To read the data from the GPS, use SERIN with WAIT and SKIP commands. WAIT for "$GPGGA", so that you know you're reading the correct data string, and the SKIP forward the right number of bytes to get to the information that you're looking for. Here is a page with good information on the contents of the NMEA strings:
http://home.mira.net/~gnb/gps/nmea.html
You will not be able to read in all of the information from the string at once - you'll run out of variable space (I think). Write routines that read each piece of information (Time, Date, Lat, Long, Speed, Heading, etc.) separately. Alternatively you could use the Smart Mode if you're using the same module I'm using, and use the sample code for that module as the template for your program.