Sadržaj:
- Korak 1: Potrebne komponente
- Korak 2: Informacije o GPS -u
- Korak 3: Neo-6M GPS modul
- Korak 4: Arduino Mega
- Korak 5: Arduino IDE
- Korak 6: Veze
Video: Sučelje Arduino Mega s GPS modulom (Neo-6M): 8 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
U ovom projektu sam pokazao kako spojiti GPS modul (Neo-6M) s Arduino Mega. Knjižnica TinyGPS koristi se za prikaz podataka o zemljopisnoj dužini i širini, a TinyGPS ++ za prikaz zemljopisne širine, dužine, nadmorske visine, brzine i broja satelita na serijskom monitoru.
Korak 1: Potrebne komponente
Hardver
- Arduino Mega ==> 30 USD
- Neo-6M GPS modul ==> 30 USD
Softver
Arduino IDE
Ukupna vrijednost projekta je 60 USD
Korak 2: Informacije o GPS -u
Što je GPS
Globalni sustav pozicioniranja (GPS) satelitski je navigacijski sustav sastavljen od najmanje 24 satelita. GPS radi u svim vremenskim uvjetima, bilo gdje u svijetu, 24 sata dnevno, bez pretplate ili naknade za postavljanje.
Kako GPS funkcionira
GPS sateliti kruže Zemljom dva puta dnevno u preciznoj orbiti. Svaki satelit odašilje jedinstveni signal i orbitalne parametre koji omogućuju GPS uređajima dekodiranje i izračunavanje točne lokacije satelita. GPS prijemnici koriste ove informacije i trilateraciju za izračun točne lokacije korisnika. U osnovi, GPS prijamnik mjeri udaljenost do svakog satelita prema količini vremena koje je potrebno za prijem primljenog signala. Mjerenjem udaljenosti od još nekoliko satelita, prijemnik može odrediti položaj korisnika i prikazati ga.
Za izračun vašeg 2-D položaja (zemljopisne širine i dužine) i kretanja traga, GPS prijemnik mora biti zaključan na signal najmanje 3 satelita. S 4 ili više satelita na vidiku, prijemnik može odrediti vaš 3-D položaj (zemljopisna širina, dužina i nadmorska visina). Općenito, GPS prijamnik će pratiti 8 ili više satelita, ali to ovisi o dobu dana i gdje se nalazite na zemlji. Nakon što je vaš položaj određen, GPS jedinica može izračunati druge podatke, npr
- Ubrzati
- Ležaj
- Staza
- Trip dist
- Udaljenost do odredišta
Što je signal
GPS sateliti emitiraju najmanje 2 radio signala male snage. Signali putuju vidnom linijom, što znači da će prolaziti kroz oblake, staklo i plastiku, ali neće proći kroz većinu čvrstih objekata, poput zgrada i planina. Međutim, moderni prijemnici su osjetljiviji i obično mogu pratiti kuće. GPS signal sadrži 3 različite vrste informacija
Pseudoslučajni kod
To je I. D. kôd koji identificira koji satelit prenosi informacije. Na satelitskoj stranici uređaja možete vidjeti s kojih satelita primate signale.
Podaci o efemeridama
Efemeridi su potrebni za određivanje položaja satelita i daju važne informacije o zdravlju satelita, trenutnom datumu i vremenu.
Podaci almanaha
Podaci almanaha govore GPS prijemniku gdje bi svaki GPS satelit trebao biti u bilo koje doba dana i prikazuju orbitalne podatke za taj satelit i svaki drugi satelit u sustavu.
Korak 3: Neo-6M GPS modul
GPS modul NEO-6M prikazan je na donjoj slici. Dolazi s vanjskom antenom i ne dolazi sa zaglavljima. Zato ćete ga morati lemiti.
Pregled GPS modula NEO-6M
NEO-6M GPS čip
Srce modula je NEO-6M GPS čip iz u-bloxa. Može pratiti do 22 satelita na 50 kanala i postiže najvišu razinu osjetljivosti u industriji, tj. -161 dB praćenje, dok troši samo 45mA struju napajanja. Motor za pozicioniranje u-blox 6 također se može pohvaliti Time-To-First-Fix (TTFF) vremenom manjim od 1 sekunde. Jedna od najboljih značajki koje čip pruža je Power Save Mode (PSM). Omogućuje smanjenje potrošnje energije sustava selektivnim uključivanjem i isključivanjem dijelova prijemnika. Time se dramatično smanjuje potrošnja energije modula na samo 11mA što ga čini pogodnim za aplikacije osjetljive na energiju poput GPS ručnog sata. Potrebni podatkovni pinovi NEO-6M GPS čipa razbijeni su na zaglavlja visine 0,1 ″. To uključuje pinove potrebne za komunikaciju s mikrokontrolerom preko UART -a.
Napomena:- Modul podržava brzinu prijenosa od 4800bps do 230400bps sa zadanim protokom od 9600.
LED indikator fiksiranja položaja
Na GPS modulu NEO-6M nalazi se LED dioda koja pokazuje status Fix Fix. Treptat će različitim brzinama, ovisno o tome u kojem se stanju nalazi
- Bez treptanja ==> znači da traži satelite
- Treptati svakih 1 s - znači da je pronađena ispravka položaja
3.3V LDO regulator
Radni napon čipa NEO-6M je od 2,7 do 3,6V. No, modul dolazi s MICREL-ovim 3V3 regulatorom ultra niskog ispadanja. Logički pinovi su također tolerantni na 5 volti, pa ih možemo jednostavno spojiti na Arduino ili bilo koji 5V logički mikrokontroler bez korištenja pretvarača logičke razine.
Baterija i EEPROM
Modul je opremljen dvožilnim serijskim EEPROM -om HK24C32. Veličina je 4 KB i povezan je s NEO-6M čipom putem I2C. Modul također sadrži punjivu bateriju s gumbom koja djeluje kao super-kondenzator.
EEPROM zajedno s baterijom pomaže u zadržavanju RAM -a (BBR) podržanog baterijom. BBR sadrži podatke o satu, najnovije podatke o položaju (podaci o orbiti GNSS -a) i konfiguraciju modula. Ali nije namijenjeno trajnoj pohrani podataka.
Kako baterija zadržava sat i posljednji položaj, vrijeme do prvog popravljanja (TTFF) značajno se smanjuje na 1 s. To omogućuje mnogo brže zaključavanje položaja.
Bez baterije GPS se uvijek hladno pokreće pa početno zaključavanje GPS-a oduzima više vremena. Baterija se automatski puni pri uključivanju i održava podatke do dva tjedna bez napajanja.
Prikaz izvoda
GND je uzemljeni pin i potrebno ga je spojiti na GND pin na Arduinu
TxD (odašiljač) pin koristi se za serijsku komunikaciju
RxD (prijemnik) pin koristi se za serijsku komunikaciju
VCC napaja modul. Možete ga izravno spojiti na 5V pin na Arduinu
Korak 4: Arduino Mega
Arduino je elektronička platforma otvorenog koda koja se temelji na hardveru i softveru koji je jednostavan za korištenje. Arduino ploče mogu čitati ulaze - svjetlo na senzoru, prst na gumbu ili poruku na Twitteru - i pretvoriti ga u izlaz - aktivirati motor, uključiti LED, objaviti nešto na internetu. Ploči možete reći što učiniti slanjem skupa uputa mikrokontroleru na ploči. Da biste to učinili, koristite programski jezik Arduino (na temelju ožičenja) i Arduino softver (IDE), na temelju obrade.
Arduino Mega
Arduino Mega 2560 je ploča za mikrokontroler zasnovana na Atmega2560.
- Na ploči su ugrađena 54 digitalna I/O pina i 16 analognih pinova koji ovaj uređaj čine jedinstvenim i izdvajaju se od ostalih. Od 54 digitalna I/O, 15 se koristi za PWM (pulsno -širinska modulacija).
- Na ploču je dodan kristalni oscilator frekvencije 16MHz.
- Ploča dolazi s priključkom za USB kabel koji se koristi za povezivanje i prijenos koda s računala na ploču.
- Utičnica za istosmjerno napajanje povezana je s pločom koja se koristi za napajanje ploče.
- Ploča dolazi s dva regulatora napona, odnosno 5V i 3.3V, što pruža fleksibilnost za regulaciju napona prema zahtjevima.
- Postoji gumb za resetiranje i 4 hardverska serijska porta pod nazivom USART koji proizvode maksimalnu brzinu za postavljanje komunikacije.
- Postoje tri načina za napajanje ploče. Možete koristiti USB kabel za napajanje ploče i prijenos koda na ploču ili ga možete napajati pomoću Vin ploče ili putem priključka za napajanje ili tijesta.
Tehnički podaci
Prikaz izvoda
Opis igle
- 5V i 3.3V ==> Ovaj pin se koristi za osiguravanje izlaznog reguliranog napona oko 5V. Ovo regulirano napajanje napaja regulator i ostale komponente na ploči. Može se nabaviti putem Vin ploče ili USB kabela ili drugog reguliranog napona od 5 V. Dok je druga regulacija napona osigurana pinom od 3,3 V. Maksimalna snaga koju može izvući je 50mA.
- GND ==> Na ploči je dostupno 5 uzemljenih igala što ga čini korisnim kada je za projekt potrebno više od jedne uzemljene igle.
- Reset ==> Ovaj pin se koristi za resetiranje ploče. Postavljanje ovog pina na LOW poništiće ploču.
- Vin ==> To je ulazni napon napajan na ploči koji se kreće od 7V do 20V. Ovom priključku može se pristupiti naponu koji daje utičnica za napajanje. Međutim, izlazni napon kroz ovaj pin na ploču automatski će se postaviti na 5V.
- Serijska komunikacija ==> RXD i TXD su serijski pinovi koji se koriste za prijenos i prijem serijskih podataka, tj. Rx predstavlja prijenos podataka, dok se Tx koristi za primanje podataka. Postoje četiri kombinacije ovih serijskih pinova gdje Serail 0 sadrži RX (0) i TX (1), Serijski 1 sadrži TX (18) i RX (19), Serijski 2 sadrži TX (16) i RX (17), a serijski broj 3 sadrži TX (14) i RX (15).
- Vanjski prekidi ==> Šest pinova koristi se za stvaranje vanjskih prekida, tj. Prekid 0 (0), prekid 1 (3), prekid 2 (21), prekid 3 (20), prekid 4 (19), prekid 5 (18). Ovi pinovi stvaraju prekide na više načina, tj. Pružaju NISKU vrijednost, rastući ili padajući rub ili mijenjaju vrijednost prekidačima.
- LED ==> Ova ploča dolazi s ugrađenom LED diodom spojenom na digitalni pin 13. VISOKA vrijednost na ovom pinu će uključiti LED, a NISKA će je isključiti.
- AREF ==> AREF označava analogni referentni napon koji je referentni napon za analogne ulaze.
- Analogni pinovi ==> Na ploči je ugrađeno 16 analognih pinova označenih kao A0 do A15. Važno je napomenuti da se svi ti analogni pinovi mogu koristiti kao digitalni I/O pinovi. Svaki analogni pin dolazi s 10-bitnom rezolucijom. Ovi pinovi mogu mjeriti od zemlje do 5V. No gornja se vrijednost može promijeniti korištenjem funkcije AREF i analogReference ().
- I2C ==> Dva pina 20 i 21 podržavaju I2C komunikaciju gdje 20 predstavlja SDA (serijska podatkovna linija koja se uglavnom koristi za čuvanje podataka), a 21 predstavlja SCL (serijska linija sata koja se uglavnom koristi za pružanje sinkronizacije podataka između uređaja)
- SPI komunikacija ==> SPI označava serijsko periferno sučelje koje se koristi za prijenos podataka između kontrolera i drugih komponenti perifernih uređaja. Četiri pina, tj. 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) koriste se za SPI komunikaciju.
Korak 5: Arduino IDE
Pretpostavljam da ste već instalirali Arduino IDE.
1. Preuzmite dolje navedenu potrebnu biblioteku
TinyGPS lib
2. Nakon preuzimanja. Raspakirajte ga i premjestite u mapu C: / Users \… / Documents / Arduino / libraries pazite da nema (-).
3. Otvorite Arduino IDE i kopirajte kôd iz odjeljka programa.
4. Zatim odaberite ploču za to idite na Alati ==> Ploče ==> ovdje odaberite ploču koju koristimo Arduino Mega 2560
5. Nakon odabira ploče odaberite port za to idite na Alati ==> Portovi
6. Nakon odabira ploče i porta kliknite upload.
7. Nakon učitavanja koda otvorite serijski terminal kako biste vidjeli izlaz.
Korak 6: Veze
Arduino MEGA ==> NEO-6M GPS
- 3.3V ==> VCC
- GND ==> GND
- Tx1 (18) ==> Rx
- Rx (19) ==> Tx
Također možete koristiti Serial2 ili Serial3 umjesto Serial1
Preporučeni:
Sučelje svemirskog broda Arduino: 3 koraka
Sučelje Arduino svemirskog broda: Zdravo, poučna zajednica, ovaj put sam napravio jedan od najjednostavnijih projekata koje treba upotpuniti Arduino Uno: krug svemirskog broda. Naziva se tako jer je to vrsta programiranja i sklopova koja bi se koristila u prvim znanstvenofantastičnim TV emisijama i filmovima
Arduino GPS sat s lokalnim vremenom pomoću modula NEO-6M: 9 koraka
Arduino GPS sat s lokalnim vremenom pomoću NEO-6M modula: U ovom ćemo vodiču naučiti kako dobiti aritino trenutno vrijeme sa satelita. Pogledajte video
Laptop Touchpad kontrolirani model željeznice - PS/2 Arduino sučelje: 14 koraka
Model željeznice za prijenosno računalo s dodirnom podlogom | PS/2 Arduino sučelje: Touchpad prijenosnog računala jedan je od sjajnih uređaja koji se može koristiti kao ulaz za projekte mikrokontrolera. Stoga danas, implementirajmo ovaj uređaj s Arduino mikrokontrolerom za upravljanje modelom željeznice. Pomoću dodirne podloge PS/2 moći ćemo kontrolirati 3 t
Arduino za početnike: Arduino sučelje sa 16x2 LCD pojašnjenjem: 5 koraka
Arduino za početnike: Arduino sučelje sa 16x2 LCD-om Objašnjeno: Pozdrav svima, Danas je Arduino postao vrlo popularan i svi su ga prihvatili zbog jednostavnosti kodiranja. Napravio sam niz Arduino osnova koje pomažu početnicima, početnicima i čak i programeri kako bi modul mogao raditi. Ovo je
Domaći GPS tracker u stvarnom vremenu (SIM800L, Ublox NEO-6M, Arduino): 8 koraka
Domaći GPS tracker u stvarnom vremenu (SIM800L, Ublox NEO-6M, Arduino): Dakle, imate GSM modul koji leži poput mene? Također GPS-tragač? I mi mislimo isto! U ovim uputama pokušat ću vas uputiti kako ostvariti svoj cilj iz perspektive početnika. Kako nisam imao prethodno znanje iz elektrotehnike (do