Innholdsfortegnelse:
- Trinn 1: Komponenter som trengs
- Trinn 2: Informasjon om GPS
- Trinn 3: Neo-6M GPS-modul
- Trinn 4: Arduino Mega
- Trinn 5: Arduino IDE
- Trinn 6: Tilkoblinger
Video: Grensesnitt Arduino Mega Med GPS-modul (Neo-6M): 8 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
I dette prosjektet har jeg vist hvordan du kobler en GPS-modul (Neo-6M) til Arduino Mega. TinyGPS -biblioteket brukes til å vise dataene for lengdegrad og breddegrad, og TinyGPS ++ brukes til å vise breddegrad, lengdegrad, høyde, hastighet og antall satellitter på den serielle skjermen.
Trinn 1: Komponenter som trengs
Maskinvare
- Arduino Mega ==> $ 30
- Neo-6M GPS-modul ==> $ 30
Programvare
Arduino IDE
Den totale kostnaden for prosjektet er $ 60
Trinn 2: Informasjon om GPS
Hva er GPS
Global Positioning System (GPS) er et satellittbasert navigasjonssystem som består av minst 24 satellitter. GPS fungerer under alle værforhold, hvor som helst i verden, 24 timer i døgnet, uten abonnementsavgifter eller oppsettskostnader.
Hvordan GPS fungerer
GPS -satellitter sirkler jorden to ganger om dagen i en presis bane. Hver satellitt sender et unikt signal og orbitale parametere som lar GPS -enheter dekode og beregne den nøyaktige plasseringen av satellitten. GPS -mottakere bruker denne informasjonen og trilaterasjonen til å beregne en brukers nøyaktige plassering. I hovedsak måler GPS -mottakeren avstanden til hver satellitt med tiden det tar å motta et overført signal. Med avstandsmålinger fra noen flere satellitter kan mottakeren bestemme brukerens posisjon og vise den.
For å beregne din 2-D-posisjon (breddegrad og lengdegrad) og spore bevegelse, må en GPS-mottaker være låst på signalet fra minst 3 satellitter. Med 4 eller flere satellitter i sikte, kan mottakeren bestemme din 3D-posisjon (breddegrad, lengdegrad og høyde). Vanligvis vil en GPS -mottaker spore 8 eller flere satellitter, men det avhenger av tidspunktet på dagen og hvor du er på jorden. Når posisjonen din er bestemt, kan GPS -enheten beregne annen informasjon, for eksempel
- Hastighet
- Peiling
- Spor
- Tur dist
- Avstand til destinasjon
Hva er signal
GPS-satellitter sender minst 2 laveffektradiosignaler. Signalene beveger seg etter siktlinjen, noe som betyr at de vil passere gjennom skyer, glass og plast, men vil ikke gå gjennom de fleste faste gjenstander, for eksempel bygninger og fjell. Moderne mottakere er imidlertid mer følsomme og kan vanligvis spore gjennom hus. Et GPS -signal inneholder 3 forskjellige typer informasjon
Pseudoslettkode
Det er en I. D. kode som identifiserer hvilken satellitt som sender informasjon. Du kan se hvilke satellitter du får signaler fra på enhetens satellittside.
Ephemeris data
Ephemeris -data er nødvendig for å bestemme satellittens posisjon og gir viktig informasjon om helsen til en satellitt, gjeldende dato og klokkeslett.
Almanakkdata
Almanakkdata forteller GPS -mottakeren hvor hver GPS -satellitt skal være når som helst i løpet av dagen og viser banelinformasjonen for den satellitten og alle andre satellitter i systemet.
Trinn 3: Neo-6M GPS-modul
NEO-6M GPS-modulen er vist i figuren nedenfor. Den kommer med en ekstern antenne og kommer ikke med toppnål. Så du må lodde den.
Oversikt over NEO-6M GPS-modul
NEO-6M GPS-brikke
Hjertet i modulen er en NEO-6M GPS-brikke fra u-blox. Den kan spore opptil 22 satellitter på 50 kanaler og oppnår bransjens høyeste følsomhetsnivå, dvs. -161 dB sporing, samtidig som den bruker bare 45 mA strøm. U-blox 6-posisjoneringsmotoren har også en Time-To-First-Fix (TTFF) på under 1 sekund. En av de beste funksjonene brikken gir, er Power Save Mode (PSM). Det tillater en reduksjon i systemets strømforbruk ved å selektivt slå deler av mottakeren PÅ og AV. Dette reduserer strømforbruket til modulen dramatisk til bare 11mA, noe som gjør den egnet for strømfølsomme applikasjoner som GPS -armbåndsur. De nødvendige datapinnene på NEO-6M GPS-brikken brytes ut til en 0,1 ″ tonehøyde. Dette inkluderer pins som kreves for kommunikasjon med en mikrokontroller via UART.
Merk:- Modulen støtter baud rate fra 4800bps til 230400bps med standard baud på 9600.
Position Fix LED -indikator
Det er en LED på NEO-6M GPS-modulen som indikerer statusen til Position Fix. Den blinker med forskjellige hastigheter, avhengig av hvilken tilstand den er i
- Ingen blinking ==> betyr at den søker etter satellitter
- Blink hver 1s - betyr at Position Fix er funnet
3.3V LDO -regulator
Driftsspenningen til NEO-6M-brikken er fra 2,7 til 3,6V. Men modulen kommer med MIC5205 ultra-low dropout 3V3 regulator fra MICREL. Logikkpinnene er også 5 volt tolerante, så vi kan enkelt koble den til en Arduino eller hvilken som helst 5V logisk mikrokontroller uten å bruke noen logisk nivåomformer.
Batteri og EEPROM
Modulen er utstyrt med en HK24C32 to -leders seriell EEPROM. Den er 4KB i størrelse og koblet til NEO-6M-brikken via I2C. Modulen inneholder også et oppladbart knappebatteri som fungerer som en superkondensator.
En EEPROM sammen med batteri hjelper til med å beholde batteribacked RAM (BBR). BBR inneholder klokkedata, siste posisjonsdata (GNSS bane data) og modulkonfigurasjon. Men det er ikke ment for permanent datalagring.
Siden batteriet beholder klokken og siste posisjon, reduseres tiden til første reparasjon (TTFF) betydelig til 1 sekunder. Dette gir mye raskere posisjonslåser.
Uten batteri starter GPS-en alltid kaldstart, så den første GPS-låsen tar mer tid. Batteriet lades automatisk når strøm er på, og beholder data i opptil to uker uten strøm.
Pinout
GND er Ground Pin og må kobles til GND pin på Arduino
TxD (sender) pin brukes til seriell kommunikasjon
RxD (mottaker) pin brukes til seriell kommunikasjon
VCC leverer strøm til modulen. Du kan koble den direkte til 5V -pinnen på Arduino
Trinn 4: Arduino Mega
Arduino er en elektronisk plattform med åpen kildekode basert på brukervennlig maskinvare og programvare. Arduino -kort kan lese innganger - lys på en sensor, en finger på en knapp eller en Twitter -melding - og gjøre den til en utgang - aktivere en motor, slå på en LED, publisere noe på nettet. Du kan fortelle styret ditt hva du skal gjøre ved å sende et sett med instruksjoner til mikrokontrolleren på kortet. For å gjøre det bruker du programmeringsspråket Arduino (basert på ledninger) og Arduino -programvaren (IDE), basert på prosessering.
Arduino Mega
Arduino Mega 2560 er et mikrokontrollerkort basert på Atmega2560.
- Det er 54 digitale I/O -pinner og 16 analoge pinner på kortet som gjør denne enheten unik og skiller seg ut fra andre. Av 54 digitale I/O brukes 15 til PWM (pulsbreddemodulering).
- En krystalloscillator med 16 MHz frekvens er lagt til på brettet.
- Brettet leveres med USB -kabelport som brukes til å koble til og overføre kode fra datamaskin til bord.
- DC -kontakt er koblet til kortet som brukes til å drive kortet.
- Brettet leveres med to spenningsregulatorer, dvs. 5V og 3.3V, som gir fleksibilitet til å regulere spenningen i henhold til kravene.
- Det er en tilbakestillingsknapp og 4 maskinvare seriell port kalt USART som produserer en maksimal hastighet for å konfigurere kommunikasjon.
- Det er tre måter å drive styret på. Du kan enten bruke en USB -kabel til å drive kortet og overføre koden til kortet, eller du kan slå den på ved hjelp av Vin of the board eller gjennom strømkontakt eller batter.
Spesifikasjoner
Pinout
Pin Beskrivelse
- 5V & 3.3V ==> Denne pinnen brukes til å gi utgangsregulert spenning rundt 5V. Denne regulerte strømforsyningen driver kontrolleren og andre komponenter på kortet. Det kan fås fra Vin på kortet eller USB -kabelen eller en annen regulert 5V spenningsforsyning. Mens en annen spenningsregulering er gitt av 3.3V pin. Maksimal effekt den kan trekke er 50mA.
- GND ==> Det er 5 bakkepinner tilgjengelig på brettet, noe som gjør det nyttig når det kreves mer enn en jordpinne for prosjektet.
- Reset ==> Denne pinnen brukes til å tilbakestille brettet. Hvis du setter denne pinnen til LOW, vil kortet nullstilles.
- Vin ==> Det er inngangsspenningen som leveres til kortet som varierer fra 7V til 20V. Spenningen fra strømkontakten kan nås via denne pinnen. Utgangsspenningen gjennom denne pinnen til kortet vil imidlertid automatisk bli satt til 5V.
- Seriell kommunikasjon ==> RXD og TXD er de serielle pinnene som brukes til å overføre og motta serielle data, dvs. Rx representerer overføring av data mens Tx brukes til å motta data. Det er fire kombinasjoner av disse serielle pinnene som brukes der Serail 0 inneholder RX (0) og TX (1), Serial 1 inneholder TX (18) og RX (19), Serial 2 inneholder TX (16) og RX (17), og serie 3 inneholder TX (14) og RX (15).
- Eksterne avbrudd ==> Seks pinner brukes til å lage eksterne avbrudd, dvs. avbrudd 0 (0), avbrudd 1 (3), avbryt 2 (21), avbryt 3 (20), avbryt 4 (19), avbryt 5 (18). Disse pinnene produserer avbrudd på en rekke måter, dvs. å gi LAV verdi, stigende eller fallende kant eller endring av verdi til avbryterpinnene.
- LED ==> Dette kortet leveres med innebygd LED koblet til digital pin 13. HØY verdi på denne pin vil slå på LED og LOW verdi vil slå den av.
- AREF ==> AREF står for Analog Reference Voltage som er en referansespenning for analoge innganger.
- Analoge pinner ==> Det er 16 analoge pinner på kortet som er merket som A0 til A15. Det er viktig å merke seg at alle disse analoge pinnene kan brukes som digitale I/O -pinner. Hver analog pin har 10-biters oppløsning. Disse pinnene kan måle fra bakken til 5V. Den øvre verdien kan imidlertid endres med funksjonen AREF og analogReference ().
- I2C ==> To pinner 20 og 21 støtter I2C -kommunikasjon der 20 representerer SDA (seriell datalinje hovedsakelig brukt til å lagre dataene) og 21 representerer SCL (seriell klokke linje hovedsakelig brukt for å levere datasynkronisering mellom enhetene)
- SPI Communication ==> SPI står for Serial Peripheral Interface som brukes for overføring av data mellom kontrolleren og andre eksterne enheter. Fire pinner, dvs. 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) brukes til SPI -kommunikasjon.
Trinn 5: Arduino IDE
Her antar jeg at du allerede har installert Arduino IDE.
1. Last ned det nødvendige biblioteket nedenfor
TinyGPS lib
2. Etter nedlasting. Pakk den ut og flytt den til mappe C: / Users / … / Documents / Arduino / biblioteker sørg for at det ikke er (-).
3. Åpne Arduino IDE og kopier koden fra programdelen.
4. Velg deretter brett for det, gå til Verktøy ==> Tavler ==> velg brett her bruker vi Arduino Mega 2560
5. Etter å ha valgt brett, velg port for det, gå til Verktøy ==> Porter
6. Etter å ha valgt tavle og port klikker du på Last opp.
7. Når koden er lastet opp, åpner du den serielle terminalen for å se utgangen.
Trinn 6: Tilkoblinger
Arduino MEGA ==> NEO-6M GPS
- 3.3V ==> VCC
- GND ==> GND
- Tx1 (18) ==> Rx
- Rx (19) ==> Tx
Du kan også bruke Serial2 eller Serial3 i stedet for Serial1
Anbefalt:
Opplæring i grensesnitt HMC5883L kompassensor med Arduino: 10 trinn (med bilder)
Opplæring for grensesnitt HMC5883L kompasssensor med Arduino: Beskrivelse HMC5883L er et 3-akset digitalt kompass som brukes til to generelle formål: å måle magnetiseringen av et magnetisk materiale som en ferromagnet, eller for å måle styrken og i noen tilfeller retningen på magnetfelt på et punkt i s
Enkel RFID MFRC522 -grensesnitt med Arduino Nano: 4 trinn (med bilder)
Enkel RFID MFRC522 -grensesnitt med Arduino Nano: Adgangskontroll er mekanismen innen fysisk sikkerhet og informasjonssikkerhet, for å begrense anonym tilgang/tilgang til ressursene til en organisasjon eller et geografisk område. Handlingen med tilgang kan bety å spise, gå inn eller bruke
Grensesnitt børsteløs likestrømsmotor (BLDC) med Arduino: 4 trinn (med bilder)
Grensesnitt børsteløs likestrømsmotor (BLDC) med Arduino: Dette er en opplæring om hvordan du grensesnitt og kjører en børsteløs likestrømsmotor ved hjelp av Arduino. Hvis du har spørsmål eller kommentarer, vennligst svar i kommentarer eller e -post til rautmithil [at] gmail [dot] com. Du kan også komme i kontakt med meg @mithilraut på twitter.To
Grensesnitt for enhver Arduino med mobiltelefon: 6 trinn (med bilder)
Grensesnitt for enhver Arduino med mobiltelefon: Når du bruker en Arduino, kan det være ganske irriterende å ikke kunne bruke den bare fordi du ikke har en datamaskin tilgjengelig. Kanskje Windows eller Mac OS ikke er kompatibelt, du har ingen datamaskin i det hele tatt, eller du vil bare ha mer frihet for int
Grensesnitt RFID-RC522 Med Arduino MEGA en enkel skisse: 4 trinn
Grensesnitt RFID-RC522 Med Arduino MEGA en enkel skisse: Hei i denne opplæringen skal jeg hjelpe deg med grensesnitt mellom RFID-RC522 og Arduino Mega 2560 for å lese RFID og vise dataene på serieovervåking. slik at du kan utvide den på egen hånd Du trenger: Arduino Mega eller Arduino Uno