There are many GPS satellites around the Earth which are used to provide the exact location of any place. Along with the location coordinates (Latitude and Longitude), it also provide other data like time, date, altitude, direction tracking angle etc. We have already learned to read this GPS data from Satellite using Arduino. So we are going to make a GPS clock using the ‘Time and Date’ data from the GPS satellite. GPS Updated Clock is very accurate and provides the real time data with precision of milliseconds.
Components:
- Arduino Uno
- GPS Module
- 16×2 LCD
- Connecting wires
- Power supply
Working Explanation:
GPS module sends the data in NMEA format, see the output of GPS data in below screenshot. NMEA format consist several sentences, in which we need one sentence to extract the Date and Time. This sentence starts from $GPRMC and contains the coordinates, time and other useful information. This $GPRMC is referred to Recommended minimum specific GPS/Transit data, and the length of this string is about 70 characters. We have previously extracted $GPGGA string in Vehicle Tracking System to find the Latitude and Longitude Coordinates.
And $GPRMC string mainly contains velocity, time, date and position
$GPRMC,123519.000,A,7791.0381,N,06727.4434,E,022.4,084.4,230394,003.1,W*6A $GPRMC,HHMMSS.SSS,A,latitude,N,longitude,E,speed,angle,date,MV,W,CMD
Identifier |
Description |
RMC |
Recommended Minimum sentence C |
HHMMSS.SSS |
Time in hour minute seconds and milliseconds format. |
A |
Status // A=active and V= void |
Latitude |
Latitude 49 deg. 16.45 min. North |
N |
Direction N=North, S=South |
Longitude |
Longitude(Coordinate) |
E |
Direction E= East, W=West |
Speed |
speed in knots |
Angle |
Tracking angle in degrees |
Date |
DATE in UTC |
MV |
Magnetic Variation |
W |
Direction of variation E/W |
CMD (*6A) |
Checksum Data |