Figure 16 - Interfacing the GPS module directly to a microcontroller
Figure 16 - Interfacing the GPS module directly to a microcontroller

With the evaluation board no longer included in the project, the size was greatly reduced as shown in Figure 16. I removed the LCD routines from the original source code and programmed a smaller Atmega88 microcontroller to receive the NMEA serial data strings from the GPS module. The heart beat LED was added from the "1PPS" line on the connector so that I could see that the GPS module was properly powered up and how long it took to get a valid location fix. This functionality is built into the GPS module, so only a current limiting resistor was needed between the "1PPS" IO line, ground, and the LED. The GPS module serial transmit line "TX" was connected directly to the serial receive pin on the microcontroller so that the hardware USART could be used to receive the serial data at 38400 baud. Once again, the "magic" crystal frequency of 14.7456 was chosen so that serial communications would be error free.

The program was modified so that when I pressed the pushbutton, the Latitude value form the GPGGA string was memorized. Each time the memorized Latitude value was found to match the current received value coming from the GPS module, an LED would be lit. I only took the first 7 digits of the Latitude data, so that my accuracy would be about 25 feet in any direction. A GPS is capable of higher accuracy, but only under ideal conditions such as being outdoors and stationary for some time. The goals of this test was to determine if the system could remember which room in the house I pressed the memorize button. After several tests around the house, it was determined that yes, this simple prototype could indeed remember which room I was in as long as I gave it a few seconds to gain a more accurate fix. While moving, the accuracy was limited to one end of the house or the other, but once stationary in a room, the accuracy seemed to be within 20 feet or so. Not bad at all!

This project proves that an inexpensive GPS module can certainly be used with a microcontroller to create a fairly accurate navigational system capable of determining Time, Latitude, Longitude, Direction, Height, and location within about 20 feet from just about any place on the planet. Along with basic machine vision, and an obstacle avoidance system a robot could be made navigate the outdoor environment using the data received from the GPS module. A small and accurate stealth tracking system could also be made that would allow the user to later visually inspect the route on Google Maps or Google Earth. The possibilities are endless when your projects are given the ability to know exactly where they are on the planet at any given time, and as GPS technologies become more and more accurate, indoor robotic navigation will be eventually be possible. Thanks for stopping by, I must now go back to my secret lab located at 296407.42mE, 5350996.54mN, 1080ft.

Back Home Last Next
You are Viewing... Page 9 of 9
Lucid Science Electronics from the Fringe AtomicZombie Hack-a-day SparkFun