INHOUDSOPGAWE:
- Stap 1: Komponente benodig
- Stap 2: Inligting oor GPS
- Stap 3: Neo-6M GPS-module
- Stap 4: Arduino Mega
- Stap 5: Arduino IDE
- Stap 6: Verbindings
Video: Interface Arduino Mega Met GPS-module (Neo-6M): 8 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
In hierdie projek het ek getoon hoe u 'n GPS-module (Neo-6M) met Arduino Mega kan koppel. TinyGPS -biblioteek word gebruik om die data van lengtegraad en breedtegraad te vertoon, en TinyGPS ++ word gebruik om breedtegraad, lengte, hoogte, snelheid en aantal satelliete op die seriële monitor te vertoon.
Stap 1: Komponente benodig
Hardeware
- Arduino Mega ==> $ 30
- Neo-6M GPS-module ==> $ 30
Sagteware
Arduino IDE
Die totale koste van die projek is $ 60
Stap 2: Inligting oor GPS
Wat is GPS
Die Global Positioning System (GPS) is 'n satellietgebaseerde navigasiestelsel wat uit ten minste 24 satelliete bestaan. GPS werk 24 uur per dag onder alle weersomstandighede, oral in die wêreld, sonder inskrywingsfooie of opstellingskoste.
Hoe GPS werk
GPS -satelliete sirkel twee keer per dag om die aarde in 'n presiese baan. Elke satelliet stuur 'n unieke sein en baanparameters uit waarmee GPS -toestelle die presiese ligging van die satelliet kan dekodeer en bereken. GPS -ontvangers gebruik hierdie inligting en trilaterasie om die presiese ligging van 'n gebruiker te bereken. In wese meet die GPS -ontvanger die afstand na elke satelliet aan die tyd wat dit neem om 'n gestuurde sein te ontvang. Met afstandmetings van nog 'n paar satelliete kan die ontvanger 'n gebruiker se posisie bepaal en dit vertoon.
Om u 2-D-posisie (breedtegraad en lengtegraad) en spoorbeweging te bereken, moet 'n GPS-ontvanger op die sein van ten minste 3 satelliete gesluit word. Met 4 of meer satelliete in sig, kan die ontvanger u 3D-posisie (breedtegraad, lengte en hoogte) bepaal. Oor die algemeen sal 'n GPS -ontvanger 8 of meer satelliete opspoor, maar dit hang af van die tyd van die dag en waar u op die aarde is. Sodra u posisie bepaal is, kan die GPS -eenheid ander inligting bereken, soos
- Spoed
- Peiling
- Snit
- Reis dist
- Afstand tot bestemming
Wat is sein
GPS-satelliete stuur ten minste 2 lae-krag radioseine uit. Die seine beweeg volgens siglyn, wat beteken dat dit deur wolke, glas en plastiek gaan, maar nie deur die meeste vaste voorwerpe, soos geboue en berge nie. Moderne ontvangers is egter meer sensitief en kan gewoonlik deur huise spoor. 'N GPS -sein bevat 3 verskillende tipes inligting
Pseudowillekeurige kode
Dit is 'n I. D. kode wat identifiseer watter satelliet inligting oordra. Op die satellietbladsy van u toestel kan u sien van watter satelliete u seine kry.
Ephemeris data
Ephemeris -data is nodig om die posisie van 'n satelliet te bepaal en gee belangrike inligting oor die gesondheid van 'n satelliet, huidige datum en tyd.
Almanak data
Almanak -data vertel die GPS -ontvanger waar elke GPS -satelliet te eniger tyd gedurende die dag moet wees, en toon die baaninligting vir die satelliet en elke ander satelliet in die stelsel.
Stap 3: Neo-6M GPS-module
Die NEO-6M GPS-module word in die onderstaande figuur getoon. Dit het 'n eksterne antenna en geen kopstukke nie. U moet dit dus soldeer.
Oorsig van die NEO-6M GPS-module
NEO-6M GPS-chip
Die hart van die module is 'n NEO-6M GPS-chip van u-blox. Dit kan tot 22 satelliete op 50 kanale opspoor en bereik die hoogste sensitiwiteitsvlak in die bedryf, naamlik -161 dB -dop, terwyl dit slegs 45mA toevoerstroom verbruik. Die u-blox 6-posisioneringsenjin spog ook met 'n Time-To-First-Fix (TTFF) van minder as 1 sekonde. Een van die beste funksies wat die chip bied, is die kragbesparingsmodus (PSM). Dit laat 'n vermindering in die kragverbruik van die stelsel toe deur dele van die ontvanger selektief AAN en UIT te skakel. Dit verminder die kragverbruik van die module dramaties tot slegs 11mA, wat dit geskik maak vir kraggevoelige toepassings soos GPS -polshorlosie. Die nodige datapennetjies van die NEO-6M GPS-chip word uitgebreek na 'n 0,1 ″ toonhoogte-opskrif. Dit bevat penne wat benodig word vir kommunikasie met 'n mikrobeheerder oor UART.
Let wel:- Die module ondersteun baud rate van 4800bps tot 230400bps met 'n standaard baud van 9600.
Posisie Fix LED -aanwyser
Daar is 'n LED op die NEO-6M GPS-module wat die status van Position Fix aandui. Dit sal met verskillende snelhede knip, afhangende van in watter toestand dit is
- Geen knipper ==> beteken dat dit op soek is na satelliete
- Knip elke 1e - dit beteken dat posisieoplossing gevind word
3.3V LDO -reguleerder
Die werkspanning van die NEO-6M-chip is van 2,7 tot 3,6V. Die module kom egter met die MIC5205 ultra-lae uitval 3V3-reguleerder van MICREL. Die logiese penne is ook verdraagsaam teen 5 volt, sodat ons dit maklik kan koppel aan 'n Arduino of 'n 5V-logika-mikrokontroleerder sonder om 'n logiese vlakomskakelaar te gebruik.
Battery en EEPROM
Die module is toegerus met 'n HK24C32 tweedraads seriële EEPROM. Dit is 4KB groot en is via I2C. gekoppel aan die NEO-6M-chip. Die module bevat ook 'n herlaaibare knoppiebattery wat as 'n superkondensator dien.
'N EEPROM tesame met die battery help om die RAM (BBR) met batterye te behou. Die BBR bevat klokdata, nuutste posisiesdata (GNSS -baandata) en module -opset. Maar dit is nie bedoel vir permanente stoor van data nie.
Aangesien die battery die klok en die laaste posisie behou, verminder die tyd tot die eerste herstel (TTFF) aansienlik tot 1s. Dit laat baie vinniger posisieslotte toe.
Sonder die battery begin die GPS altyd koud, sodat die aanvanklike GPS-slot langer neem. Die battery word outomaties gelaai wanneer krag aangeskakel word en hou data vir tot twee weke sonder krag.
Pinout
GND is die grondpen en moet aan die GND -pen op die Arduino gekoppel word
TxD (sender) -pen word gebruik vir seriële kommunikasie
RxD (ontvanger) pen word gebruik vir seriële kommunikasie
VCC verskaf krag vir die module. U kan dit direk aan die 5V -pen op die Arduino koppel
Stap 4: Arduino Mega
Arduino is 'n open source elektroniese platform wat gebaseer is op hardeware en sagteware wat maklik is om te gebruik. Arduino -borde kan insette lees - lig op 'n sensor, 'n vinger op 'n knoppie of 'n Twitter -boodskap - en dit in 'n uitset verander - 'n motor aktiveer, 'n LED aanskakel, iets aanlyn publiseer. U kan u bord vertel wat u moet doen deur 'n stel instruksies aan die mikrobeheerder op die bord te stuur. Om dit te kan doen, gebruik u die Arduino -programmeertaal (gebaseer op bedrading) en die Arduino -sagteware (IDE), gebaseer op verwerking.
Arduino Mega
Arduino Mega 2560 is 'n mikrokontrollerbord gebaseer op Atmega2560.
- Daar is 54 digitale I/O -penne en 16 analoog penne op die bord, wat hierdie toestel uniek maak en van ander onderskei. Uit 54 digitale I/O word 15 gebruik vir PWM (polswydte modulasie).
- 'N Kristal ossillator met 'n frekwensie van 16 MHz word op die bord gevoeg.
- Die bord het 'n USB -poort wat gebruik word om die kode van 'n rekenaar na 'n bord te koppel en oor te dra.
- DC -aansluiting word gekoppel aan die bord wat gebruik word om die bord aan te dryf.
- Die bord het twee spanningsreguleerders, naamlik 5V en 3.3V, wat die buigsaamheid bied om die spanning volgens vereistes te reguleer.
- Daar is 'n reset -knoppie en 4 hardeware -seriële poort genaamd USART, wat 'n maksimum snelheid vir die opstel van kommunikasie lewer.
- Daar is drie maniere om die bord aan te dryf. U kan 'n USB -kabel gebruik om die bord aan te dryf en die kode na die bord oor te dra, of u kan dit aanskakel met Vin van die bord of deur 'n kragaansluiting of beslag.
Spesifikasies
Pinout
Speldbeskrywing
- 5V & 3.3V ==> Hierdie pen word gebruik om die uitset gereguleerde spanning rondom 5V te verskaf. Hierdie gereguleerde kragtoevoer dryf die beheerder en ander komponente op die bord aan. Dit kan verkry word vanaf Vin van die bord of USB -kabel of 'n ander gereguleerde 5V -spanningsbron. Terwyl 'n ander spanningsregeling deur 'n 3.3V -pen voorsien word. Die maksimum krag wat dit kan trek, is 50mA.
- GND ==> Daar is 5 grondpenne op die bord beskikbaar, wat dit handig maak as meer as een grondpen vir die projek benodig word.
- Reset ==> Hierdie speld word gebruik om die bord terug te stel. As u hierdie pen op LOW stel, sal die bord teruggestel word.
- Vin ==> Dit is die ingangsspanning wat aan die bord verskaf word, wat wissel van 7V tot 20V. Die spanning wat deur die kragaansluiting verskaf word, is verkrygbaar via hierdie pen. Die uitgangsspanning deur hierdie pen na die bord word egter outomaties ingestel op 5V.
- Seriële kommunikasie ==> RXD en TXD is die seriële penne wat gebruik word om seriële data te stuur en te ontvang, dws Rx verteenwoordig die oordrag van data terwyl Tx gebruik word om data te ontvang. Daar is vier kombinasies van hierdie seriële penne wat gebruik word waar Serail 0 RX (0) en TX (1) bevat, Serial 1 bevat TX (18) en RX (19), Serial 2 bevat TX (16) en RX (17), en reeks 3 bevat TX (14) en RX (15).
- Eksterne onderbrekings ==> Ses penne word gebruik vir die skep van eksterne onderbrekings, d.w.s. onderbreking 0 (0), onderbreking 1 (3), onderbreking 2 (21), onderbreking 3 (20), onderbreking 4 (19), onderbreking 5 (18). Hierdie penne produseer onderbrekings op 'n aantal maniere, dws die verskaffing van 'n LAE waarde, 'n stygende of dalende rand of die verandering van waarde aan die onderbrekingspenne.
- LED ==> Hierdie bord het 'n ingeboude LED wat gekoppel is aan 'n digitale pen 13. HOOG waarde by hierdie pen sal die LED aanskakel en 'n LAE waarde sal dit afskakel.
- AREF ==> AREF staan vir Analog Reference Voltage wat 'n verwysingspanning is vir analoog insette.
- Analoog penne ==> Daar is 16 analoog penne op die bord geïntegreer met die etiket A0 tot A15. Dit is belangrik om daarop te let dat al hierdie analoog penne as digitale I/O -penne gebruik kan word. Elke analoog pen het 'n resolusie van 10 bis. Hierdie penne kan van grond tot 5V meet. Die boonste waarde kan egter verander word met die funksie AREF en analogReference ().
- I2C ==> Twee penne 20 en 21 ondersteun I2C -kommunikasie waar 20 SDA voorstel (Serial Data Line word hoofsaaklik gebruik vir die bewaring van die data) en 21 verteenwoordig SCL (Serial Clock Line word hoofsaaklik gebruik vir die verskaffing van datasinkronisering tussen die toestelle)
- SPI Communication ==> SPI staan vir Serial Peripheral Interface wat gebruik word vir die oordrag van data tussen die kontroleerder en ander randapparatuurkomponente. Vier penne, d.w.s. 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) word gebruik vir SPI -kommunikasie.
Stap 5: Arduino IDE
Hier neem ek aan dat u reeds Arduino IDE geïnstalleer het.
1. Laai die vereiste biblioteek hieronder af
TinyGPS lib
2. Nadat u dit afgelaai het. Pak dit uit en skuif dit na die vouer C: / Users / … / Documents / Arduino / biblioteke, maak seker dat daar geen (-) is nie.
3. Maak die Arduino IDE oop en kopieer die kode uit die programafdeling.
4. Kies dan die bord daarvoor, gaan na Tools ==> Boards ==> kies 'n bord hier gebruik ons Arduino Mega 2560
5. Nadat u die bord gekies het, kies die poort daarvoor, na Tools ==> Ports
6. Nadat u die bord en poort gekies het, klik op oplaai.
7. Sodra die kode opgelaai is, maak die seriële terminaal oop om die uitset te sien.
Stap 6: Verbindings
Arduino MEGA ==> NEO-6M GPS
- 3.3V ==> VCC
- GND ==> GND
- Tx1 (18) ==> Rx
- Rx (19) ==> Tx
U kan ook Serial2 of Serial3 gebruik in plaas van Serial1
Aanbeveel:
Mega RasPi - 'n Framboos Pi in 'n Sega Mega Drive / Genesis: 13 stappe (met foto's)
Mega RasPi - 'n Raspberry Pi in 'n Sega Mega Drive / Genesis: Hierdie gids lei jou deur die omskakeling van 'n ou Sega Mega Drive na 'n retro -spelkonsole, met 'n Raspberry Pi. my Sega Mega Drive. Die meeste van my vriende het ook een gehad, so ons sou
Dot Matrix 32x8 Max7219 Interface met Ardiuno: 5 stappe (met foto's)
Dot Matrix 32x8 Max7219 Interface met Ardiuno: Hallo almal, Dot Matrix gebaseer op Max7219 is nie nuut in 2020 nie, tot onlangs was die opstelproses goed gedokumenteer, 'n mens sou die hardeware biblioteek van MajicDesigns aflaai. en 'n paar reëls in die koptekstlêers verander en FC16 werk soos 'n sjarme. Dit was tot
Tuisgemaakte intydse GPS-spoorsnyer (SIM800L, Ublox NEO-6M, Arduino): 8 stappe
Tuisgemaakte intydse GPS-spoorsnyer (SIM800L, Ublox NEO-6M, Arduino): het u 'n GSM-module soos ek? Ook 'n GPS-spoorsnyer? Ons dink dieselfde! In hierdie instruksies, sal ek probeer om u te lei hoe u u doel vanuit 'n nuweling se perspektief kan bereik
Tutoriaal vir interface RGB Led WS2812B met Arduino UNO: 7 stappe (met foto's)
Tutoriaal vir koppelvlak RGB Led WS2812B Met Arduino UNO: Hierdie handleiding gaan u 'n paar basiese beginsels leer oor die gebruik van Sparkfun RGB Led WS2812B met Arduino UNO
Handmatige toegang tot GPS Ublox Neo 6M met Framboos Pi B+: 3 stappe
Handmatige toegang tot GPS Ublox Neo 6M Met Raspberry Pi B+: Raspberry Pi is 'n baie versoenbare mini -rekenaar vir verskillende modules wat redelik maklik is om te gebruik. Eintlik is dit byna dieselfde as 'n rekenaar, maar kan beheer word met GPIO van Raspberry Pi. Raspberry Pi word ook ondersteun deur verskeie kommunikasiekanale, een van