I was wondering if anybody had some suggestions for a GPS module I could use that has a feature where I can connect it to a microcontroller. I know I can go buy an OEM GPS. But I would prefer one with a screen on it that is like a standard GPS for people like hikers or hunters.
I was able to get a used gps for $1 at a garage sale. If it is just regular GPS, you will need to convert the rs232 level serial signals to ttl level. You can use a max232 for this. If you are getting a regular gps and plan to use it with a micro controller, make sure it supports the NMEA protocol.
Well, for the “standard” GPS I speak of is anything like a magellen, or etrex with a screen, something made for the general public, not made for microcontrollers. Is the output a constant output or is it only stuff that you can record then load to a computer.
Can somebody help explain some aspects of the NMEA protocol to me? I was looking in this: http://www.sparkfun.com/datasheets/GPS/NMEA%20Reference%20Manual1.pdf
And a few other documents that are similar, it seems as though I just need the GGA protocol. But for some parts in it I don’t understand the output. I don’t understnad the output of the lat and long values.
Also what values from that string what would I need to to simply tell what the position is?
I would say your could either use a commercial GPS with a screen, etc OR something meant for the hobby hardware guy. You probably want the latter as it would allow you to do exactly what you cant instead of trying to mess with reverse engineering a commercial product (like how there screen works) and it will save you from paying for something that has more features than you need.
i find this GPS stuff really interesting. but im confused. what exactly does the chip do? what does it connect to? dont you need a satellite or something as a reference point? and how would you read the data? sorry for the questions, im just confused on a lot of its workings.
GPS connects to at least 3 satelites, using trig. to triangulate your position. The more satelites you have, the more accurate the position. It shows your position on a map, and the Coordinates
The devices mentioned here are GPS receivers and decoders. They listen to signals from the orbiting GPS satellites and measure time delays to figure out how far from each satellite they are. With enough satellite signals being received, that lets them compute exactly where they are in latitude, longitude, and altitude.
The NMEA 0183 protocol is a serial data stream, containing lots of information, including position and time.
If you want to know more about how it all works, let Google be your guide.
Well why would it have more features then I want if I am saying I want that one? I don’t understnad what there would to be reverse engineer. From what I seen I would hvae to make a cable to plug into it then the rest is code.
Kevin, is the interface software difficult to write? I know it is a vague question, but what is the process your usingi n your code?
I meant that if you wanted to say, use the screen on a Garmin for something even just slightly different than what it was originally designed you cant do that. For example, bigger text, new features being displayed, etc. Without you giving more details its hard to know what exactly you are looking for.
I said I am looking for a standard OTS GPS unit made for the general public that I can get live data from. I never said anything about using the screen for anything.
Not sure how closely it fits what you’re looking for, but all recent Motorola iDEN phones (Nextel & BoostMobile) have GPS units built in. You can turn on NMEA 0183 output from these and access it over either serial or USB depending on which data cable you get. You might be able to find someone with an older i730 or something that they’d give you, or else you can find the Boost i415 for about $30 at places like Target & Wal-Mart. $10 will probably get you the data cable from eBay.
{edit} You don’t need to have it activated to use the GPS, and the Boost i415 is a pre-paid so it can be bought w/o contract. {/edit}
I have a Garmin ETrex Vista. It comes with a serial cable to download information to a PC or grab the NMEA data stream. All you need for the RC is a null modem adapter and you’re good to go.
Kevin’s serial port library would make it pretty straight-forward to read and parse the stream. There is sample code for the BASIC Stamp, google can probably find it.
What is the RC your talking about? Is it the FIRST Robot Controller?
And Kevins code is written specifically for the PIC in the Robot Controller…it would be of very little use to me.
You only said “microcontroller”, not a specific target platform. I assumed you were using either the IFI Robot Controller or some variation thereof. It doesn’t matter as long as it has a UART to read the data stream and parse it. You can use a BASIC stamp.