How to Use GPS with Arduino
GPS Interfacing with Computer
Using Arduino
GPS is
a very useful device which is used in many electronics projects and
applications like vehicle
tracking system, GPS
Clock, Accident Detection Alert System, traffic navigation
and surveillance system etc. But
question is how to use the GPS and read the data from GPS? We can
easily get the GPS data directly into our computer using Arduino.
GPS stands for Global Positioning System and
used to detect the Latitude and Longitude of any location on the Earth, with
exact UTC time (Universal Time Coordinated). This device receives the coordinates from the
satellite for each and every second, with time and date. GPS offers great accuracy and also provides other
data besides position coordinates, we will into look it shortly.
In
this arduino GPS tutorial, we are going to explain that how
to Test or Interface GPS module using Computer and Arduino. For interfacing GSM with computer we either need
USB to Serial Converter or Arduino Board. Here we are using Arduino board to interface GPS. We only need Arduino Board, GPS module,
computer and 12v/3.3v adaptor for power supply. Here we have used GPS receiver Module SKG13BL (shown in above figure).
Before
connecting it to the computer, we first need to remove the Arduino IC (Atmega chip) from the Arduino Board, as we only need the serial circuitry of
the Arduino.
This is called the Gateway
mode.
Removing the IC is shown in
below figures:
Now do
the connection like given in below picture:
- GPS TX pin to Digital PIN 1 of Arduino (TXD)
- GPS Ground Pin to GND PIN of Arduino
- GPS Power (3.3v) Pin to 3.3v
PIN of Arduino
After
connections, connect the USB cable to the computer, open your Arduino IDE
software in computer, select com port and open serial monitor to listen the
serial port and Power up the Arduino and GPS module.
Now
you will see GPS data on Arduino Serial Monitor Window like below. Below are two snapshots, first one is, when GPS is
not in range and second one is, when GPS in range.
GPS Data When GPS Receiver is out of range:
GPS Data When GPS Receiver is in Range:
In
serial Window, you can see some sentences that start from $ sign. These are NMEA sentences.GPS module sends the Real time tracking position
data in NMEA format (see the screenshot above). NMEA format consist several sentences, in which
four important sentences are given below. More detail about the NMEA sentence and its data format can be
found here.
·
$GPGGA: Global Positioning System Fix Data
·
$GPGSV: GPS satellites in view
·
$GPGSA: GPS DOP and active satellites
·
$GPRMC: Recommended minimum specific GPS/Transit data
These
strings contain many GPS parameters like: Time, Date, Longitude, Latitude, speed, no. of satellites in used, altitude and many other
things.
For
any location coordinates and time, we can use $GPGGA and $GPRMC.
For
Date and time we can use $GPRMC string.
When
we use GPS module for tracking any location, we only need coordinates
and we can find this in $GPGGA string. Only $GPGGA (Global
Positioning System Fix Data) String
is mostly used in programs and other strings are ignored. This string consist fix data as below:
$GPGGA,104534.000,7791.0381,N,06727.4434,E,1,08,0.9,510.4,M,43.9,M,,*47
$GPGGA,HHMMSS.SSS,latitude,N,longitude,E,FQ,NOS,HDP,altitude,M,height,M,,checksum
data
Identifier
|
Description
|
$GPGGA
|
Global
Positioning system fix data
|
HHMMSS.SSS
|
Time
in hour minute seconds and milliseconds format.
|
Latitude
|
Latitude
(Coordinate)
|
N
|
Direction
N=North, S=South
|
Longitude
|
Longitude(Coordinate)
|
E
|
Direction
E= East, W=West
|
FQ
|
Fix
Quality Data
|
NOS
|
No. of Satellites being Used
|
HDP
|
Horizontal
Dilution of Precision
|
Altitude
|
Altitude
(meters above from
sea level)
|
M
|
Meter
|
Height
|
Height
|
Checksum
|
Checksum
Data
|
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
|
Time
stamp (Date in UTC)
|
MV
|
Magnetic
Variation
|
W
|
Direction
of variation E/W
|
CMD
(*6A)
|
Checksum
Data
|
Demo & Code
How to Use GPS with Arduino
Reviewed by XXX
on
สิงหาคม 27, 2560
Rating:
ไม่มีความคิดเห็น