Geo Data Logger: Arduino + GPS + SD + Accelerometer att logga, tidsstämpel och geo-tag sensordata (3 / 10 steg)
Steg 3: GEO-TAGGNING DATA: LS20031 GPS-mottagaren
Jag använder LS20031 GPS-mottagaren i denna prototyp för att märka loggade data med både geografisk plats och datum/tid stämpel. LS20031 är en GPS-mottagare med bröd och smör. Det är mycket enkelt att fungera. Denna mottagare görs av LOCOSYS teknik. Jag har bifogat LS20031 databladet till detta avsnitt för dem intresserade av mer detaljerade specifikationer.
- Modell: LS20031
- Chip: MediaTek MT3329
- Spänning: 3.3V
- Frekvens: L1 1575.42 MHz, C/A kod
- Kanaler: Stöd 66 kanaler (22 spårning, 66 förvärv)
- Uppdateringsfrekvens: 1Hz standard upp till 10Hz
- Hot start: (öppen himmel) < 2 sekunder (medel)
- Förvärv tid: Kallstart (öppen himmel) 35 andra (medel)
- Autonoma 3m (2D RMS)
- Precisionen: SBAS 2,5 m (beror på exakthet korrigering)
- Datum: WGS-84 (standard)
- Max. Operativa höjd: < 18 Km
- Max. Operativa hastighet: < 515 m/s
GPS mottagare & NMEA meningar
När GPS-mottagaren drivs upp, börjar det överföra information via det seriella (TX) pin i form av standardiserade kommaavgränsad text linjer. Dessa standardiserade meddelanden kallas NMEA meningar innehåller latitud, longitud, datum/tid, bland andra användbara data.
NMEA står för National Marine Electronics Association. Detta är den industri som kommer med standardiserade meddelandeformat för GPS-mottagare att förenkla användningen av denna teknik.
NMEA meningar börjar med GP + en treställig identifierare som säger oss vilken sorts data som ingår i denna NMEA mening som överförs av GPS-mottagaren.
LS20031 skickar ut följande NMEA meningar.
- GGA Global positioning system fast data
- GLL geografiska position - latitud/longitud
- GSA GNSS DOP och aktiva satelliter
- GSV GNSS satelliter i vyn
- RMC rekommenderade minsta specifika GNSS data
- VTG kurs över grund och rusat slipat
Den jag hitta användbara för detta projekt är RMC ($GPRMC). Här är ett urval RMC straff och en förklaring av varje element:
$GPRMC, 053740.000, A, 2503.6319, N, 12136.0099, E, 2,69, 79.65, 100106,,, A * 53
- Meddelande ID: $GPRMC RMC protokoll header
- UTC-tid: 053740.000 hhmmss.sss
- Status A: A = data giltigt eller V = data inte är giltigt
- Latitud: 2503.6319 ddmm.mmmm
- N/S: Indikator N N = norra eller S = söder
- Longitud: 12136.0099 dddmm.mmmm
- E/W indikator: E E = öst eller W = väst
- Fart över grund: 2,69 knop True
- Kurs över grund: 79.65 grader
- Datum: 100106 ddmmåå
- Magnetisk variation: grader
- Variation känsla: E = öst eller W = väst (visas inte)
- Läget A: A = självständigt, D = DGPS, E = DR
- Kontrollsumma: * 53
- Slutet av meddelandet uppsägning
DRIVER OCH LEDNINGAR I LS20031
Jag nämnde tidigare att jag hade publicerat en guide för att konfigurera LS20031 GPS-mottagaren. LS20031 är en 3.3V modul vilket innebär att det drivs av en 3.3V källa. Detta innebär också vi kan inte ansluta utgångsstift Arduino, såsom TX pin (5V), till LS20031 RX stift (3.3V) utan att konvertera från 5V till 3.3V.
I denna prototyp använder jag SN74AHC125 som nivå-shifter från 5V till 3.3V. Vi bör kunna ta LS20031 GPS seriell utgångsstiftet, TX pin (3.3V) och tråd det direkt till den Arduino seriell RX motta PIN1 (5V). Den Arduino 5V stift kan hantera en 3,3 v signal och kommer att behandla det som en logisk hög.
KONFIGURERA LS20031
För denna prototyp använde jag MiniGPS 1.4 för att konfigurera LS20031 GPS-mottagaren som följer:
- Överföringshastighet: 4800
- Fix uppdateringshastighet: 5 per sekund
- NMEA utgångar: RMC utgång satt till 1 medan alla andra NMEA utgångar satt till noll (0). Med 5Hz innebär detta 5 RMC meddelanden per sekund.
Jag vet att detta kan låta förvirrande för vissa av er men vänligen hålla sig till mina inställningar. När du får din prototyp och kör du kan ändra parametrarna.