Kazalo:
- Korak: Potrebne komponente
- 2. korak: Informacije o GPS -u
- 3. korak: Neo-6M GPS modul
- 4. korak: Arduino Mega
- 5. korak: Arduino IDE
- 6. korak: Povezave
Video: Vmesnik Arduino Mega z modulom GPS (Neo-6M): 8 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
V tem projektu sem pokazal, kako povezati modul GPS (Neo-6M) z Arduino Mega. Knjižnica TinyGPS se uporablja za prikaz podatkov o zemljepisni dolžini in širini, TinyGPS ++ pa za prikaz zemljepisne širine, dolžine, nadmorske višine, hitrosti in števila satelitov na serijskem monitorju.
Korak: Potrebne komponente
Strojna oprema
- Arduino Mega ==> 30 USD
- GPS-modul Neo-6M ==> 30 USD
Programska oprema
Arduino IDE
Skupni stroški projekta znašajo 60 USD
2. korak: Informacije o GPS -u
Kaj je GPS
Globalni sistem za določanje položaja (GPS) je satelitski navigacijski sistem, sestavljen iz najmanj 24 satelitov. GPS deluje v vseh vremenskih razmerah, kjer koli na svetu, 24 ur na dan, brez naročnine ali nastavitev.
Kako deluje GPS
Sateliti GPS dvakrat na dan krožijo po Zemlji po natančni orbiti. Vsak satelit oddaja edinstven signal in orbitalne parametre, ki omogočajo napravam GPS, da dekodirajo in izračunajo natančno lokacijo satelita. Sprejemniki GPS uporabljajo te podatke in trilateracijo za izračun natančne lokacije uporabnika. V bistvu sprejemnik GPS meri razdaljo do vsakega satelita glede na čas, ki je potreben za sprejem oddanega signala. Z meritvami razdalje še nekaj satelitov lahko sprejemnik določi uporabnikov položaj in ga prikaže.
Za izračun vašega 2-D položaja (zemljepisne širine in dolžine) in premikanja sledi mora biti sprejemnik GPS pritrjen na signal najmanj 3 satelitov. S pogledom na 4 ali več satelitov lahko sprejemnik določi vaš 3-D položaj (zemljepisno širino, dolžino in nadmorsko višino). Na splošno bo sprejemnik GPS sledil 8 ali več satelitom, vendar je to odvisno od časa dneva in od tega, kje ste na zemlji. Ko je vaš položaj določen, lahko enota GPS izračuna druge podatke, na primer
- Hitrost
- Ležaj
- Sled
- Trip dist
- Razdalja do cilja
Kaj je signal
Sateliti GPS oddajajo vsaj 2 radijska signala majhne moči. Signali potujejo po vidnem polju, kar pomeni, da bodo šli skozi oblake, steklo in plastiko, ne bodo pa skozi večino trdnih predmetov, kot so zgradbe in gore. Sodobni sprejemniki pa so bolj občutljivi in običajno sledijo hišam. Signal GPS vsebuje 3 različne vrste informacij
Psevdonaključna koda
Gre za I. D. koda, ki določa, kateri satelit prenaša informacije. Na satelitski strani naprave lahko vidite, s katerih satelitov prejemate signale.
Podatki o efemeridah
Podatki iz efemerida so potrebni za določitev položaja satelita in dajejo pomembne informacije o zdravju satelita, trenutnem datumu in uri.
Podatki almanaha
Podatki almanaha GPS sprejemniku povejo, kje naj bo vsak satelit GPS, kadar koli čez dan, in prikažejo orbitalne podatke za ta satelit in vse druge satelite v sistemu.
3. korak: Neo-6M GPS modul
GPS modul NEO-6M je prikazan na spodnji sliki. Na voljo je z zunanjo anteno in nima zatičev za glavo. Zato ga boste morali spajkati.
Pregled GPS modula NEO-6M
GPS-čip NEO-6M
Srce modula je NEO-6M GPS čip iz u-bloxa. Lahko spremlja do 22 satelitov na 50 kanalih in doseže najvišjo stopnjo občutljivosti v industriji, to je -161 dB sledenje, hkrati pa porabi le 45 mA napajalnega toka. Motor za pozicioniranje u-blox 6 se ponaša tudi s časom do prvega popravka (TTFF), ki je krajši od 1 sekunde. Ena najboljših lastnosti, ki jih ponuja čip, je način varčevanja z energijo (PSM). Omogoča zmanjšanje porabe energije sistema z selektivnim vklopom in izklopom delov sprejemnika. To dramatično zmanjša porabo energije modula na samo 11 mA, zaradi česar je primeren za aplikacije, občutljive na moč, kot je ročna ura GPS. Potrebni podatkovni zatiči NEO-6M GPS čipa so razčlenjeni na glave z nagibom 0,1 ″. To vključuje zatiče, potrebne za komunikacijo z mikrokrmilnikom prek UART.
Opomba:- Modul podpira hitrost prenosa od 4800bps do 230400bps s privzeto hitrostjo 9600.
LED -kazalnik Fix Fix
Na GPS-modulu NEO-6M je LED, ki označuje stanje popravka položaja. Utripal bo z različnimi hitrostmi, odvisno od tega, v kakšnem stanju je
- Brez utripanja ==> pomeni, da išče satelite
- Utripajte vsakih 1 s - pomeni, da je odpravljen položaj
3.3V LDO regulator
Delovna napetost čipa NEO-6M je od 2,7 do 3,6 V. Modul pa prihaja z regulatorjem 3V3 ultra nizkega izpada MIC5205 podjetja MICREL. Logični zatiči so tudi 5-voltni, zato jih lahko enostavno povežemo z Arduino ali katerim koli 5V logičnim mikrokrmilnikom brez uporabe pretvornika logične ravni.
Baterija in EEPROM
Modul je opremljen z dvožičnim serijskim EEPROM -om HK24C32. Je velik 4 KB in je povezan z čipom NEO-6M prek I2C. Modul vsebuje tudi gumbno baterijo za ponovno polnjenje, ki deluje kot super-kondenzator.
EEPROM skupaj z baterijo pomaga ohraniti RAM (BBR), ki podpira baterijo. BBR vsebuje podatke o uri, najnovejše podatke o položaju (podatki o orbiti GNSS) in konfiguracijo modula. Ni pa namenjeno trajnemu shranjevanju podatkov.
Ker baterija ohranja uro in zadnji položaj, se čas do prve popravke (TTFF) znatno skrajša na 1 s. To omogoča veliko hitrejše zaklepanje položaja.
Brez baterije se GPS vedno hladno zažene, zato začetna ključavnica GPS vzame več časa. Baterija se ob napajanju samodejno napolni in hrani podatke do dva tedna brez napajanja.
Pinout
GND je ozemljitveni pin in ga je treba priključiti na pin GND na Arduinu
TxD (oddajnik) pin se uporablja za serijsko komunikacijo
RxD (sprejemnik) pin se uporablja za serijsko komunikacijo
VCC napaja modul. Lahko ga neposredno priključite na 5V pin na Arduinu
4. korak: Arduino Mega
Arduino je odprtokodna elektronska platforma, ki temelji na enostavni strojni in programski opremi. Arduino plošče lahko preberejo vhode - luč na senzorju, prst na gumbu ali sporočilo v Twitterju - in ga spremenijo v izhod - aktivirajo motor, vklopijo LED, objavijo nekaj na spletu. Plošči lahko poveste, kaj naj stori, tako da mikrokrmilniku na plošči pošljete niz navodil. Če želite to narediti, uporabite programski jezik Arduino (na osnovi ožičenja) in programsko opremo Arduino (IDE), ki temelji na obdelavi.
Arduino Mega
Arduino Mega 2560 je mikrokrmilna plošča, ki temelji na Atmega2560.
- Na plošči je 54 digitalnih vhodno/izhodnih zatičev in 16 analognih zatičev, zaradi katerih je ta naprava edinstvena in izstopa od drugih. Od 54 digitalnih V/I se 15 uporablja za PWM (pulzno širinsko modulacijo).
- Na ploščo je dodan kristalni oscilator s frekvenco 16 MHz.
- Plošča ima vrata USB za kabel, ki se uporablja za povezavo in prenos kode iz računalnika na ploščo.
- Vtičnica za enosmerni tok je povezana s ploščo, ki se uporablja za napajanje plošče.
- Plošča ima dva regulatorja napetosti, to je 5V in 3.3V, ki omogočata prilagodljivost napetosti glede na zahteve.
- Obstaja gumb za ponastavitev in 4 serijska vrata strojne opreme, imenovana USART, ki proizvajajo največjo hitrost za vzpostavitev komunikacije.
- Obstajajo trije načini za napajanje plošče. Za napajanje plošče in prenos kode na ploščo lahko uporabite kabel USB ali pa jo vklopite z vinom Vin na plošči ali prek priključka za napajanje ali baterije.
Specifikacije
Pinout
Opis pin
- 5V in 3.3V ==> Ta pin se uporablja za zagotavljanje izhodne regulirane napetosti okoli 5V. Ta regulirani napajalnik napaja krmilnik in druge komponente na plošči. Lahko ga dobite iz Vin plošče ali kabla USB ali drugega reguliranega 5 -voltnega napajalnika. Druga napetostna regulacija pa je zagotovljena z vtičem 3.3V. Največja moč, ki jo lahko črpa, je 50 mA.
- GND ==> Na plošči je na voljo 5 ozemljitvenih zatičev, zaradi česar je uporabna, kadar je za projekt potrebnih več kot ena ozemljitvena zatiča.
- Reset ==> Ta pin se uporablja za ponastavitev plošče. Če ta pin nastavite na LOW, bo plošča ponastavljena.
- Vin ==> To je vhodna napetost, ki se napaja na plošči in se giblje od 7V do 20V. Prek tega zatiča lahko dostopate do napetosti, ki jo zagotavlja vtičnica. Vendar bo izhodna napetost preko tega zatiča na ploščo samodejno nastavljena na 5 V.
- Serijska komunikacija ==> RXD in TXD sta zaporedna zatiča, ki se uporabljata za prenos in sprejem serijskih podatkov, tj. Rx predstavlja prenos podatkov, medtem ko se Tx uporablja za sprejem podatkov. Uporabljajo se štiri kombinacije teh zaporednih zatičev, kjer Serail 0 vsebuje RX (0) in TX (1), Serija 1 vsebuje TX (18) in RX (19), Serija 2 vsebuje TX (16) in RX (17), Serijski 3 pa vsebuje TX (14) in RX (15).
- Zunanji prekinitve ==> Šest zatičev se uporablja za ustvarjanje zunanjih prekinitev, to je prekinitev 0 (0), prekinitev 1 (3), prekinitev 2 (21), prekinitev 3 (20), prekinitev 4 (19), prekinitev 5 (18). Ti zatiči povzročajo prekinitve na več načinov, tj. Zagotavljajo NIZKO vrednost, naraščajoč ali padajoč rob ali spreminjajo vrednost prekinitvenim zatičem.
- LED ==> Ta plošča ima vgrajeno LED, priključeno na digitalni zatič 13. VELIKA vrednost na tem zatiču bo vklopila LED, NISKA pa jo bo izklopila.
- AREF ==> AREF pomeni analogna referenčna napetost, ki je referenčna napetost za analogne vhode.
- Analogni zatiči ==> Na plošči je vključenih 16 analognih zatičev, označenih kot A0 do A15. Pomembno je omeniti, da se vsi ti analogni zatiči lahko uporabljajo kot digitalni V/I zatiči. Vsak analogni pin ima 10-bitno ločljivost. Ti zatiči lahko merijo od tal do 5V. Zgornjo vrednost pa lahko spremenite s funkcijo AREF in analogReference ().
- I2C ==> Dva zatiča 20 in 21 podpirata komunikacijo I2C, kjer 20 predstavlja SDA (zaporedna podatkovna linija, ki se večinoma uporablja za shranjevanje podatkov) in 21 predstavlja SCL (serijska linija ure, ki se večinoma uporablja za zagotavljanje sinhronizacije podatkov med napravami)
- SPI Communication ==> SPI pomeni serijski periferni vmesnik, ki se uporablja za prenos podatkov med krmilnikom in drugimi zunanjimi komponentami. Za komunikacijo SPI se uporabljajo štirje zatiči, tj. 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).
5. korak: Arduino IDE
Predvidevam, da ste že namestili Arduino IDE.
1. Prenesite spodaj zahtevano knjižnico
TinyGPS lib
2. Po prenosu. Izvlecite ga in ga premaknite v mapo C: / Users / … / Documents / Arduino / libraries in se prepričajte, da ni (-).
3. Odprite Arduino IDE in kopirajte kodo iz razdelka programa.
4. Nato izberite ploščo, pojdite na Orodja ==> Plošče ==> tukaj izberite ploščo, ki jo uporabljamo Arduino Mega 2560
5. Ko izberete ploščo, izberite vrata za to, pojdite na Orodja ==> Pristanišča
6. Po izbiri plošče in vrat kliknite naloži.
7. Ko je koda naložena, odprite serijski terminal in si oglejte izhod.
6. korak: Povezave
Arduino MEGA ==> NEO-6M GPS
- 3.3V ==> VCC
- GND ==> GND
- Tx1 (18) ==> Rx
- Rx (19) ==> Tx
Namesto Serial1 lahko uporabite tudi Serial2 ali Serial3
Priporočena:
Arduino PS/2 vmesnik USB: 7 korakov (s slikami)
Adapter Arduino PS/2 na USB: Ste kdaj želeli uporabiti svojo staro tipkovnico PS/2 s prenosnikom ali novim namiznim računalnikom in ugotovili, da nimajo več vrat PS/2? In potem, namesto da bi šel kupiti poceni adapter PS/2 na USB, kot bi to naredil navaden človek, je hotel uporabiti tvoj Arduin
Domača avtomatizacija z infrardečim modulom in relejskim modulom, ki ga upravlja Bluetooth: 10 korakov
Domača avtomatizacija z infrardečim modulom in relejnim modulom, ki ga nadzira Bluetooth: V tem projektu avtomatizacije doma sem pokazal, kako lahko nadzorujemo svetlobo, ventilator in druge gospodinjske aparate iz aplikacije za pametni telefon in daljinskega upravljalnika z vezjem modula krmilnega releja Arduino. vezje ima dva načina, Inf
Arduino LCD 16x2 Vadnica - Vmesnik 1602 LCD zaslona z Arduino Uno: 5 korakov
Arduino LCD 16x2 Vadnica | Vmesnik LCD zaslona 1602 z Arduino Uno: Pozdravljeni, fantje, saj mnogi projekti potrebujejo zaslon za prikaz podatkov, pa naj gre za kakšen sam merilnik ali prikaz števila naročnikov na YouTube ali kalkulator ali zaklepanje tipkovnice z zaslonom in če so vse te vrste projektov narejene z arduino bodo definitivno
ESP32 z E32-433T LoRa modulom Vadnica - LoRa Arduino vmesnik: 8 korakov
ESP32 z E32-433T LoRa modulom Vadnica | LoRa Arduino Interfacing: Hej, kaj je, fantje! Akarsh tukaj iz CETech-a. Ta moj projekt povezuje modul E32 LoRa iz eByte, ki je 1-vatni oddajniški modul velike moči z ESP32 z uporabo Arduino IDE. Delovanje E32 smo razumeli v naši zadnji vadnici
Arduino za začetnike: Vmesnik Arduino s 16x2 LCD Razloženo: 5 korakov
Arduino za začetnike: Vmesnik Arduino z LCD zaslonom 16x2 Pojasnilo: Pozdravljeni, Arduino je danes zaradi enostavnosti kodiranja postal zelo priljubljen in vsi ga tudi sprejemajo. Ustvaril sem serijo osnov Arduina, ki pomagajo začetnikom, novincem in celo razvijalci, da bi modul deloval. To je