What is GPS? The Global Positioning System (GPS) is a space-based global navigation satellite system that provides reliable location and time information
Who maintains it? It is maintained by the United States government and is freely accessible by anyone with a GPS receiver.
How many GPS satellite are there? A constellation of 27 Earth-orbiting satellites (24 in operation and three extras in case one fails)
How GPS receiver works? The GPS satellites transmit signals to a GPS receiver. These receivers passively receive satellite signals in form of NMEA statements (NMEA Sentence) with useful information like global position, time etc.. They do not transmit and require an unobstructed view of the sky, so they can only be used effectively outdoors.
Contd… Each GPS satellite transmits data that indicates its location and the current time. All GPS satellites synchronize operations so that these repeating signals are transmitted at the same instant. The signals, moving at the speed of light, arrive at a GPS receiver at slightly different times because some satellites are further away than others. The distance to the GPS satellites can be determined by estimating the amount of time it takes for their signals to reach the receiver. When the receiver estimates the distance to at least four GPS satellites, it can calculate its position in three dimensions.
What is NMEA? The NMEA Mission The National Marine Electronics Association (NMEA) is the unifying force behind the entire marine electronics industry, bringing together all aspects of the industry for the betterment of all in our business.
What is NMEA 0183? NMEA 0183 (or NMEA for short) is a combined electrical and data specification for communication between marine electronic devices such as echo sounder, sonar, anemometer (wind speed and direction), gyrocompass, autopilot, GPS receivers and many other types of instruments GPS receiver communication is defined within this specification
What is NMEA messages/statements?The NMEA messages or statements are the set of strings received by thereceiver which contain the set of information e.g. Latitude, Longitude , altitude,time etc.
Example of NMEA statement: $GPGGA,115220.000,2834.7690,N,07720.5587,E,1,6,1.43,199.1,M,-36.0,M,,*79<CR><LF>This is the statement received by the GPS module at Robosapiens India’s officeIn this statement: 28 degree 34.7690 minutes is the latitude 077 degree 20.5587 minutes is the longitude (Read PDFs given in your CD for detail description of this statement)
How to use this?• Give 3.3V VCC and GND supply, your modulewill start transmitting NMEA statements from TxPin.• Connect Tx pin with Rx Pin of MCU and readall these statements in MCU
What GPS Module will transmit?$GPVTG,163.31,T,,M,1.31,N,2.43,K,A*3D$GPGGA,115218.000,2834.7698,N,07720.5591,E,1,7,1.04,199.3,M,-36.0,M,,*7D$GPGSA,A,3,28,08,07,15,11,17,26,,,,,,1.35,1.04,0.85*0E$GPRMC,115218.000,A,2834.7698,N,07720.5591,E,1.03,174.01,160710,,,A*67$GPVTG,174.01,T,,M,1.03,N,1.90,K,A*34$GPGGA,115219.000,2834.7693,N,07720.5588,E,1,6,1.43,199.2,M,-36.0,M,,*7C$GPGSA,A,3,28,08,15,11,17,26,,,,,,,1.69,1.43,0.90*07$GPRMC,115219.000,A,2834.7693,N,07720.5588,E,1.00,191.81,160710,,,A*65$GPVTG,191.81,T,,M,1.00,N,1.85,K,A*30$GPGGA,115220.000,2834.7690,N,07720.5587,E,1,6,1.43,199.1,M,-36.0,M,,*79$GPGSA,A,3,28,08,15,11,17,26,,,,,,,1.69,1.43,0.90*07$GPRMC,115220.000,A,2834.7690,N,07720.5587,E,0.92,181.54,160710,,,A*60$GPVTG,181.54,T,,M,0.92,N,1.70,K,A*39$GPGGA,115221.000,2834.7690,N,07720.5582,E,1,6,1.43,198.9,M,-36.0,M,,*74$GPGSA,A,3,28,08,15,11,17,26,,,,,,,1.69,1.43,0.90*07$GPGSV,3,1,11,17,71,313,22,08,57,149,26,28,55,036,18,11,28,051,17*76.....................
How to filter out Latt. And Long. fromstatements? Receive these statements on Rx pin of the microcontroller by using UART with 9600 bps baud rate, 8 data bits, no parity, and 1 stop bit (default settings) Filter the information with normal string operation and save it in string/array variables
How to use filtered out information? Use this information to navigate your robot from one location to another location. Location can be compared by strcmp function.