GPS is een zeer nuttig apparaat dat wordt gebruikt in veel elektronicaprojecten en toepassingen zoals voertuigvolgsysteem, GPS-klok, waarschuwingssysteem voor ongevalsdetectie, verkeersnavigatie- en bewakingssysteem enz. Maar de vraag is hoe de GPS te gebruiken en de gegevens van GPS te lezen ? We kunnen de GPS-gegevens gemakkelijk rechtstreeks in onze computer krijgen met Arduino.
GPS staat voor Global Positioning System en wordt gebruikt om de lengte- en breedtegraad van elke locatie op aarde te detecteren, met de exacte UTC-tijd (Universal Time Coordinated). Dit apparaat ontvangt voor elke seconde de coördinaten van de satelliet, met tijd en datum. GPS biedt een grote nauwkeurigheid en biedt naast positiecoördinaten ook andere gegevens, we zullen het binnenkort bekijken.
In deze arduino GPS-zelfstudie gaan we uitleggen hoe u de GPS-module kunt testen of koppelen met behulp van Computer en Arduino. Om de GSM met de computer te verbinden, hebben we ofwel een USB-naar-seriële converter of een Arduino-bord nodig. Hier gebruiken we Arduino-bord om GPS te koppelen. We hebben alleen een Arduino-bord, GPS-module, computer en 12v / 3.3v-adapter nodig voor voeding. Hier hebben we de GPS-ontvangermodule SKG13BL gebruikt (weergegeven in bovenstaande afbeelding).
Voordat we hem op de computer aansluiten, moeten we eerst de Arduino IC (Atmega-chip) van het Arduino-bord verwijderen, omdat we alleen het seriële circuit van de Arduino nodig hebben. Dit wordt de Gateway-modus genoemd. Het verwijderen van het IC wordt getoond in onderstaande afbeeldingen:
Doe nu de verbinding zoals weergegeven in de onderstaande afbeelding:
- GPS TX-pin naar digitale PIN 1 van Arduino (TXD)
- GPS-grondpin naar GND-PIN van Arduino
- GPS Power (3.3v) Pin naar 3.3v PIN van Arduino
Sluit na het aansluiten de USB-kabel aan op de computer, open uw Arduino IDE-software op de computer, selecteer de com-poort en open de seriële monitor om naar de seriële poort te luisteren en de Arduino en GPS-module aan te zetten.
Nu ziet u GPS-gegevens op het Arduino Serial Monitor-venster zoals hieronder. Hieronder staan twee momentopnames, de eerste is wanneer GPS niet binnen bereik is en de tweede is wanneer GPS binnen bereik is.
GPS-gegevens als de GPS-ontvanger buiten bereik is:
GPS-gegevens als de GPS-ontvanger binnen bereik is:
In serieel venster kunt u enkele zinnen zien die beginnen met het $ -teken. Dit zijn NMEA-zinnen. GPS-module verzendt de real-time tracking positiegegevens in NMEA-formaat (zie de bovenstaande schermafbeelding). Het NMEA-formaat bestaat uit meerdere zinnen, waarin hieronder vier belangrijke zinnen worden gegeven. Meer informatie over de NMEA-zin en het gegevensformaat vindt u hier.
- $ GPGGA: herstelgegevens voor Global Positioning System
- $ GPGSV: GPS-satellieten in zicht
- $ GPGSA: GPS DOP en actieve satellieten
- $ GPRMC: aanbevolen minimale specifieke GPS / Transit-gegevens
Deze strings bevatten veel GPS-parameters zoals: tijd, datum, lengtegraad, breedtegraad, snelheid, nr. van gebruikte satellieten, hoogte en vele andere dingen.
Voor elke locatiecoördinaten en tijd kunnen we $ GPGGA en $ GPRMC gebruiken.
Voor Datum en tijd kunnen we $ GPRMC string gebruiken.
Wanneer we een GPS-module gebruiken om een locatie te volgen, hebben we alleen coördinaten nodig en kunnen we deze vinden in de $ GPGGA-string. Alleen $ GPGGA (Global Positioning System Fix Data) String wordt meestal in programma's gebruikt en andere strings worden genegeerd. Deze string bevat fix-gegevens zoals hieronder:
$ GPGGA, 104534.000,7791.0381, N, 06727.4434, E, 1,08,0.9,510.4, M, 43,9, M`` * 47 $ GPGGA, HHMMSS.SSS, breedtegraad, N, lengtegraad, E, FQ, NOS, HDP, hoogte, M, hoogte, M,, checksum data
ID |
Omschrijving |
$ GPGGA |
Gegevens van het Global Positioning-systeem |
HHMMSS.SSS |
Tijd in uur minuten seconden en milliseconden formaat. |
Breedtegraad |
Breedtegraad (coördinaat) |
N |
Richting N = Noord, S = Zuid |
Lengtegraad |
Lengtegraad (coördinaat) |
E. |
Richting E = Oost, W = West |
FQ |
Kwaliteitsgegevens repareren |
NOS |
Aantal gebruikte satellieten |
HDP |
Horizontale verdunning van precisie |
Hoogte |
Hoogte (meter boven zeeniveau) |
M. |
Meter |
Hoogte |
Hoogte |
Checksum |
Checksum-gegevens |
En de tekenreeks $ GPRMC bevat voornamelijk snelheid, tijd, datum en positie
$ GPRMC, 123519.000, A, 7791.0381, N, 06727.4434, E, 022.4,084.4,230394,003.1, W * 6A $ GPRMC, HHMMSS.SSS, A, breedtegraad, N, lengtegraad, E, snelheid, hoek, datum, MV, W, CMD
ID |
Omschrijving |
RMC |
Aanbevolen minimumzin C |
HHMMSS.SSS |
Tijd in uur minuten seconden en milliseconden formaat. |
EEN |
Status // A = actief en V = ongeldig |
Breedtegraad |
Breedtegraad 49 graden. 16.45 min. noorden |
N |
Richting N = Noord, S = Zuid |
Lengtegraad |
Lengtegraad (coördinaat) |
E. |
Richting E = Oost, W = West |
Snelheid |
snelheid in knopen |
Hoek |
Volghoek in graden |
Datum |
Tijdstempel (datum in UTC) |
MV |
Magnetische variatie |
W. |
Variatierichting E / W |
CMD (* 6A) |
Checksum-gegevens |
Meestal wordt deze string gebruikt voor het opnemen van tijd, datum en snelheid.