Indholdsfortegnelse:
- Trin 1: Nødvendige komponenter
- Trin 2: Information om GPS
- Trin 3: Neo-6M GPS-modul
- Trin 4: Arduino Mega
- Trin 5: Arduino IDE
- Trin 6: Forbindelser
Video: Interface Arduino Mega Med GPS-modul (Neo-6M): 8 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
I dette projekt har jeg vist, hvordan man kobler et GPS-modul (Neo-6M) til Arduino Mega. TinyGPS -bibliotek bruges til at vise data for længdegrad og breddegrad, og TinyGPS ++ bruges til at vise breddegrad, længdegrad, højde, hastighed og antal satellitter på den serielle skærm.
Trin 1: Nødvendige komponenter
Hardware
- Arduino Mega ==> $ 30
- Neo-6M GPS-modul ==> $ 30
Software
Arduino IDE
De samlede omkostninger ved projektet er $ 60
Trin 2: Information om GPS
Hvad er GPS
Global Positioning System (GPS) er et satellitbaseret navigationssystem, der består af mindst 24 satellitter. GPS fungerer under alle vejrforhold, hvor som helst i verden, 24 timer i døgnet, uden abonnementsgebyrer eller opsætningsgebyrer.
Sådan fungerer GPS
GPS -satellitter cirkler jorden to gange om dagen i en præcis bane. Hver satellit sender et unikt signal og orbitale parametre, der gør det muligt for GPS -enheder at afkode og beregne satellitens præcise placering. GPS -modtagere bruger disse oplysninger og trilateration til at beregne en brugers nøjagtige placering. Grundlæggende måler GPS -modtageren afstanden til hver satellit med den tid, det tager at modtage et transmitteret signal. Med afstandsmålinger fra et par flere satellitter kan modtageren bestemme en brugers position og vise den.
For at beregne din 2-D-position (breddegrad og længdegrad) og sporbevægelse skal en GPS-modtager være låst til signalet fra mindst 3 satellitter. Med 4 eller flere satellitter i udsigt kan modtageren bestemme din 3D-position (breddegrad, længdegrad og højde). Generelt vil en GPS -modtager spore 8 eller flere satellitter, men det afhænger af tidspunktet på dagen og hvor du er på jorden. Når din position er blevet bestemt, kan GPS -enheden beregne andre oplysninger, f.eks
- Hastighed
- Leje
- Spore
- Trip dist
- Afstand til destination
Hvad er signal
GPS-satellitter sender mindst 2 laveffektradiosignaler. Signalerne bevæger sig efter sigtelinjen, hvilket betyder, at de vil passere gennem skyer, glas og plast, men vil ikke gå gennem de fleste faste genstande, såsom bygninger og bjerge. Moderne modtagere er imidlertid mere følsomme og kan normalt spore gennem huse. Et GPS -signal indeholder 3 forskellige typer information
Pseudos tilfældig kode
Det er en I. D. kode, der identificerer, hvilken satellit der sender information. Du kan se, hvilke satellitter du får signaler fra, på din enheds satellitside.
Ephemeris data
Ephemeris -data er nødvendige for at bestemme en satellits position og giver vigtige oplysninger om en satellits helbred, aktuelle dato og klokkeslæt.
Almanak data
Almanakdata fortæller GPS -modtageren, hvor hver GPS -satellit skal være når som helst i løbet af dagen og viser orbitale oplysninger for den satellit og hver anden satellit i systemet.
Trin 3: Neo-6M GPS-modul
NEO-6M GPS-modulet er vist i nedenstående figur. Den leveres med en ekstern antenne og leveres ikke med headerstifter. Så du skal lodde det.
Oversigt over NEO-6M GPS-modul
NEO-6M GPS-chip
Hjertet i modulet er en NEO-6M GPS-chip fra u-blox. Den kan spore op til 22 satellitter på 50 kanaler og opnår branchens højeste følsomhedsniveau, dvs. -161 dB tracking, mens den kun bruger 45 mA forsyningsstrøm. U-blox 6-positioneringsmotoren kan også prale af en Time-To-First-Fix (TTFF) på under 1 sekund. En af de bedste funktioner, chippen giver, er Power Save Mode (PSM). Det muliggør en reduktion i systemets strømforbrug ved selektivt at tænde og slukke dele af modtageren. Dette reducerer modulets strømforbrug dramatisk til kun 11mA, hvilket gør det velegnet til strømfølsomme applikationer som GPS -armbåndsur. De nødvendige datastifter af NEO-6M GPS-chip er brudt ud til en 0,1 ″ pitchhoveder. Dette inkluderer pins, der kræves til kommunikation med en mikrokontroller via UART.
Bemærk:- Modulet understøtter baudhastighed fra 4800bps til 230400bps med standard baud på 9600.
Position Fix LED -indikator
Der er en LED på NEO-6M GPS-modulet, der angiver status for Position Fix. Det blinker med forskellige hastigheder afhængigt af hvilken tilstand det er i
- Intet blinkende ==> betyder, at det søger efter satellitter
- Blink hver 1s - betyder, at Position Fix er fundet
3.3V LDO -regulator
Driftsspændingen for NEO-6M-chippen er fra 2,7 til 3,6V. Men modulet leveres med MIC5205 ultra-low dropout 3V3 regulator fra MICREL. Logikstifterne er også 5-volt-tolerante, så vi kan nemt tilslutte det til en Arduino eller en hvilken som helst 5V logisk mikrokontroller uden at bruge nogen logisk niveauomformer.
Batteri & EEPROM
Modulet er udstyret med en HK24C32 to -tråds seriel EEPROM. Det er 4KB i størrelse og forbundet til NEO-6M-chippen via I2C. Modulet indeholder også et genopladeligt knapbatteri, der fungerer som en super-kondensator.
En EEPROM sammen med batteri hjælper med at bevare den batteri -understøttede RAM (BBR). BBR indeholder urdata, seneste positionsdata (GNSS -bane -data) og modulkonfiguration. Men det er ikke beregnet til permanent datalagring.
Da batteriet bevarer uret og sidste position, reduceres tiden til første fix (TTFF) betydeligt til 1s. Dette tillader meget hurtigere positionslåse.
Uden batteriet koldstartes GPS'en altid, så den første GPS-lås tager mere tid. Batteriet oplades automatisk, når der tilføres strøm, og opbevarer data i op til to uger uden strøm.
Pinout
GND er Ground Pin og skal tilsluttes GND pin på Arduino
TxD (sender) pin bruges til seriel kommunikation
RxD (modtager) pin bruges til seriel kommunikation
VCC leverer strøm til modulet. Du kan tilslutte den direkte til 5V -stiften på Arduino
Trin 4: Arduino Mega
Arduino er en open-source elektronikplatform baseret på brugervenlig hardware og software. Arduino -tavler kan læse input - lys på en sensor, en finger på en knap eller en Twitter -besked - og omdanne den til en output - aktivere en motor, tænde en LED, publicere noget online. Du kan fortælle dit board, hvad de skal gøre ved at sende et sæt instruktioner til mikrokontrolleren på kortet. For at gøre dette bruger du programmeringssproget Arduino (baseret på ledninger) og Arduino -softwaren (IDE), der er baseret på behandling.
Arduino Mega
Arduino Mega 2560 er et Microcontroller -kort baseret på Atmega2560.
- Der er 54 digitale I/O -ben og 16 analoge stifter på kortet, der gør denne enhed unik og skiller sig ud fra andre. Ud af 54 digitale I/O bruges 15 til PWM (pulsbreddemodulation).
- En krystaloscillator med 16 MHz frekvens tilføjes på tavlen.
- Kortet leveres med USB -kabelport, der bruges til at tilslutte og overføre kode fra computeren til kortet.
- DC -stik er forbundet med det kort, der bruges til at drive kortet.
- Brættet leveres med to spændingsregulatorer, dvs. 5V og 3.3V, som giver fleksibiliteten til at regulere spændingen i henhold til kravene.
- Der er en nulstillingsknap og 4 hardware seriel port kaldet USART, der producerer en maksimal hastighed til opsætning af kommunikation.
- Der er tre måder at drive tavlen på. Du kan enten bruge et USB -kabel til at drive kortet og overføre kode til kortet, eller du kan tænde det ved hjælp af Vin på kortet eller via strømstik eller batter.
specifikationer
Pinout
Pin Beskrivelse
- 5V & 3.3V ==> Denne pin bruges til at levere output reguleret spænding omkring 5V. Denne regulerede strømforsyning driver controlleren og andre komponenter på kortet op. Det kan fås fra Vin på kortet eller USB -kablet eller en anden reguleret 5V spændingsforsyning. Mens en anden spændingsregulering leveres af 3,3V pin. Den maksimale effekt, den kan trække, er 50mA.
- GND ==> Der er 5 jordstift til rådighed på brættet, hvilket gør det nyttigt, når der kræves mere end en jordstift til projektet.
- Reset ==> Denne pin bruges til at nulstille kortet. Indstilling af denne pin til LOW vil nulstille kortet.
- Vin ==> Det er indgangsspændingen, der leveres til kortet, som spænder fra 7V til 20V. Spændingen fra strømstikket kan tilgås via denne pin. Udgangsspændingen gennem denne pin til kortet indstilles dog automatisk til 5V.
- Seriel kommunikation ==> RXD og TXD er de serielle ben, der bruges til at transmittere og modtage serielle data, dvs. Rx repræsenterer transmission af data, mens Tx bruges til at modtage data. Der er fire kombinationer af disse serielle ben bruges, hvor Serail 0 indeholder RX (0) og TX (1), Serial 1 indeholder TX (18) og RX (19), Serial 2 indeholder TX (16) og RX (17), og Serial 3 indeholder TX (14) og RX (15).
- Eksterne afbrydelser ==> Seks ben bruges til at oprette eksterne afbrydelser, dvs. afbrydelse 0 (0), afbrydelse 1 (3), afbrydelse 2 (21), afbrydelse 3 (20), afbrydelse 4 (19), afbrydelse 5 (18). Disse stifter producerer afbrydelser på en række måder, dvs. at tilvejebringe LAV værdi, stigende eller faldende kant eller ændre værdi til afbrydelsesstifterne.
- LED ==> Dette kort leveres med indbygget LED tilsluttet digital pin 13. HØJ værdi ved denne pin vil tænde LED'en og LOW værdi vil slukke den.
- AREF ==> AREF står for Analog Reference Voltage, som er en referencespænding for analoge indgange.
- Analoge stifter ==> Der er 16 analoge ben på kortet, der er mærket som A0 til A15. Det er vigtigt at bemærke, at alle disse analoge ben kan bruges som digitale I/O -ben. Hver analog pin leveres med 10-bit opløsning. Disse ben kan måle fra jorden til 5V. Den øvre værdi kan dog ændres ved hjælp af funktionen AREF og analogReference ().
- I2C ==> To ben 20 og 21 understøtter I2C -kommunikation, hvor 20 repræsenterer SDA (seriel datalinje, der hovedsageligt bruges til lagring af dataene) og 21 repræsenterer SCL (seriel urlinje, der hovedsageligt bruges til at levere datasynkronisering mellem enhederne)
- SPI Communication ==> SPI står for Serial Peripheral Interface, der bruges til overførsel af data mellem controlleren og andre eksterne enheder. Fire ben, dvs. 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) bruges til SPI -kommunikation.
Trin 5: Arduino IDE
Her går jeg ud fra, at du allerede har installeret Arduino IDE.
1. Download det påkrævede bibliotek nedenfor
TinyGPS lib
2. Efter download. Udpak den, og flyt den til mappe C: / Users / … / Documents / Arduino / libraries sørg for, at der ikke er (-).
3. Åbn Arduino IDE og kopier koden fra programsektionen.
4. Vælg derefter tavle til det, gå til Værktøjer ==> Tavler ==> vælg tavle her bruger vi Arduino Mega 2560
5. Efter valg af tavle skal du vælge port til det, gå til Værktøjer ==> Porte
6. Efter valg af tavle og port klik på upload.
7. Når koden er uploadet, åbnes den serielle terminal for at se output.
Trin 6: Forbindelser
Arduino MEGA ==> NEO-6M GPS
- 3.3V ==> VCC
- GND ==> GND
- Tx1 (18) ==> Rx
- Rx (19) ==> Tx
Du kan også bruge Serial2 eller Serial3 i stedet for Serial1
Anbefalede:
Mega RasPi - en Raspberry Pi i et Sega Mega Drive / Genesis: 13 trin (med billeder)
Mega RasPi - en Raspberry Pi i en Sega Mega Drive / Genesis: Denne guide tager dig gennem konverteringen af et gammelt Sega Mega Drive til en retro -spilkonsol ved hjælp af en Raspberry Pi. Jeg har brugt utallige timer i min barndom på at spille videospil på mit Sega Mega Drive. De fleste af mine venner havde også en, så vi ville
Tutorial til interface HMC5883L kompassensor med Arduino: 10 trin (med billeder)
Tutorial til Interface HMC5883L Kompassensor med Arduino: Beskrivelse HMC5883L er et 3-akset digitalt kompas, der bruges til to generelle formål: at måle magnetiseringen af et magnetisk materiale som en ferromagnet eller at måle styrken og i nogle tilfælde retningen af magnetfelt på et punkt i s
NEO -6M GPS forbundet til NodeMCU - OLED Displayposition - Visuino: 7 trin
NEO -6M GPS tilsluttet NodeMCU - OLED Displayposition - Visuino: I denne vejledning bruger vi NodeMCU Mini, OLED Lcd, NEO -6M GPS og Visuino til at vise live GPS -position på LCD'et. Se en demonstrationsvideo
Hjemmelavet GPS-tracker i realtid (SIM800L, Ublox NEO-6M, Arduino): 8 trin
Hjemmelavet GPS-tracker i realtid (SIM800L, Ublox NEO-6M, Arduino): Så du har et GSM-modul liggende som mig? Også en GPS-tracker? Vi tænker det samme! I denne instruktør vil jeg prøve at guide dig, hvordan du opnår dit mål fra en nybegynders perspektiv. Da jeg ikke havde nogen tidligere elektroteknisk viden (til
Manuel adgang til GPS Ublox Neo 6M med Raspberry Pi B+: 3 trin
Manuel adgang til GPS Ublox Neo 6M Med Raspberry Pi B+: Raspberry Pi er en meget kompatibel mini -pc til forskellige moduler, der er ret nemme at bruge. Grundlæggende er det næsten det samme som pc, men kan styres med GPIO fra Raspberry Pi. Raspberry Pi er også understøttet med flere kommunikationslinjer, en o