Përmbajtje:

Ndërfaqja Arduino Mega Me Modulin GPS (Neo-6M): 8 hapa
Ndërfaqja Arduino Mega Me Modulin GPS (Neo-6M): 8 hapa

Video: Ndërfaqja Arduino Mega Me Modulin GPS (Neo-6M): 8 hapa

Video: Ndërfaqja Arduino Mega Me Modulin GPS (Neo-6M): 8 hapa
Video: LDmicro 20: решен вопрос жидкокристаллического дисплея I2C (программирование ПЛК микроконтроллера с помощью LDmicro) 2024, Nëntor
Anonim
Ndërfaqja Arduino Mega me modul GPS (Neo-6M)
Ndërfaqja Arduino Mega me modul GPS (Neo-6M)

Në këtë projekt, unë kam treguar se si të ndërlidh një modul GPS (Neo-6M) me Arduino Mega. Biblioteka TinyGPS përdoret për të shfaqur të dhënat e Gjatësisë dhe Gjerësisë dhe TinyGPS ++ përdoret për të shfaqur gjerësinë, gjatësinë, lartësinë, shpejtësinë dhe numrin e satelitëve në monitorin serik.

Hapi 1: Përbërësit e nevojshëm

Hardware

  • Arduino Mega ==> 30 dollarë
  • Moduli GPS Neo-6M ==> 30 dollarë

Softuer

Arduino IDE

Kostoja totale e projektit është 60 dollarë

Hapi 2: Informacion rreth GPS

Çfarë është GPS

Sistemi i Pozicionimit Global (GPS) është një sistem navigimi i bazuar në satelit i përbërë nga të paktën 24 satelitë. GPS punon në çdo kusht moti, kudo në botë, 24 orë në ditë, pa tarifa abonimi ose tarifa konfigurimi.

Si funksionon GPS

Satelitët GPS rrethojnë Tokën dy herë në ditë në një orbitë të saktë. Çdo satelit transmeton një sinjal unik dhe parametra orbitale që lejojnë pajisjet GPS të deshifrojnë dhe llogaritin vendndodhjen e saktë të satelitit. Marrësit GPS përdorin këtë informacion dhe trilatërim për të llogaritur vendndodhjen e saktë të përdoruesit. Në thelb, marrësi GPS mat distancën nga secili satelit me sasinë e kohës që duhet për të marrë një sinjal të transmetuar. Me matjet e distancës nga disa satelitë të tjerë, marrësi mund të përcaktojë pozicionin e një përdoruesi dhe ta shfaqë atë.

Për të llogaritur pozicionin tuaj 2-D (gjerësi dhe gjatësi) dhe lëvizjen e gjurmëve, një marrës GPS duhet të kyçet në sinjalin e të paktën 3 satelitëve. Me 4 ose më shumë satelitë në pamje, marrësi mund të përcaktojë pozicionin tuaj 3-D (gjerësia, gjatësia dhe lartësia). Në përgjithësi, një marrës GPS do të gjurmojë 8 ose më shumë satelitë, por kjo varet nga koha e ditës dhe vendi ku jeni në tokë. Pasi të jetë përcaktuar pozicioni juaj, njësia GPS mund të llogarisë informacione të tjera, si p.sh

  • Shpejtësia
  • Duke mbajtur
  • Udhë
  • Udhëtim dist
  • Distanca në destinacion

Çfarë është sinjali

Satelitët GPS transmetojnë të paktën 2 sinjale radio me fuqi të ulët. Sinjalet udhëtojnë nga vija e shikimit, që do të thotë se do të kalojnë nëpër re, qelqi dhe plastikë, por nuk do të kalojnë nëpër shumicën e objekteve të ngurta, të tilla si ndërtesa dhe male. Sidoqoftë, marrësit modernë janë më të ndjeshëm dhe zakonisht mund të gjurmojnë nëpër shtëpi. Një sinjal GPS përmban 3 lloje të ndryshme informacioni

Kodi pseudorandomik

Shtë një ID kod që identifikon se cili satelit transmeton informacion. Ju mund të shihni se nga cilët satelitë po merrni sinjale në faqen satelitore të pajisjes tuaj.

Të dhënat e Efermis

Të dhënat Ephemeris janë të nevojshme për të përcaktuar pozicionin e një sateliti dhe jep informacion të rëndësishëm në lidhje me shëndetin e një sateliti, datën dhe kohën aktuale.

Të dhënat e almanakut

Të dhënat e Almanakut i tregojnë marrësit GPS se ku duhet të jetë çdo satelit GPS në çdo kohë gjatë ditës dhe tregon informacionin orbital për atë satelit dhe çdo satelit tjetër në sistem.

Hapi 3: Moduli GPS Neo-6M

Moduli GPS NEO-6M është treguar në figurën më poshtë. Ajo vjen me një antenë të jashtme dhe nuk vjen me kunjat e kokës. Kështu që do t'ju duhet ta lidhni atë.

Pasqyrë e modulit GPS NEO-6M

Çip GPS NEO-6M

Zemra e modulit është një çip GPS NEO-6M nga u-blox. Mund të gjurmojë deri në 22 satelitë në 50 kanale dhe arrin nivelin më të lartë të ndjeshmërisë në industri, domethënë -161 ndjekje dB, ndërsa konsumon vetëm 45mA rrymë furnizimi. Motori i pozicionimit u-blox 6 gjithashtu krenohet me një rregullim të kohës deri në fillim (TTFF) nën 1 sekondë. Një nga karakteristikat më të mira që ofron çipi është Modaliteti i Kursimit të Energjisë (PSM). Lejon një reduktim të konsumit të energjisë të sistemit duke ndërruar në mënyrë selektive pjesët e marrësit ON dhe OFF. Kjo zvogëlon në mënyrë dramatike konsumin e energjisë të modulit në vetëm 11mA duke e bërë atë të përshtatshëm për aplikime të ndjeshme ndaj energjisë, si ora e dorës GPS. Kunjat e të dhënave të nevojshme të çipit GPS NEO-6M janë shpërthyer në një kokë me lartësi 0.1. Kjo përfshin kunjat e kërkuara për komunikim me një mikrokontrollues përmes UART.

Shënim:- Moduli mbështet shpejtësinë e baudit nga 4800bps në 230400bps me baud të paracaktuar prej 9600.

Treguesi LED i Fiksimit të Pozicionit

Ekziston një LED në Modulin GPS NEO-6M i cili tregon statusin e Piksimit të Pozicionit. Do të vezullojë me ritme të ndryshme në varësi të gjendjes në të cilën ndodhet

  1. Asnjë Pulsim ==> do të thotë Po kërkon satelitë
  2. Mbyll sytë çdo 1 sekondë - do të thotë që Pozicioni Fiks është gjetur

Rregullator 3.3V LDO

Tensioni i funksionimit të çipit NEO-6M është nga 2.7 në 3.6V. Por, moduli vjen me rregullatorin MIC5205 ultra të ulët të braktisjes 3V3 nga MICREL. Kunjat logjike janë gjithashtu toleruese 5 volt, kështu që ne mund ta lidhim lehtësisht me një Arduino ose ndonjë mikrokontrollues logjik 5V pa përdorur asnjë konvertues të nivelit logjik.

Bateria & EEPROM

Moduli është i pajisur me një seri serike EEPROM HK24C32. Sizeshtë 4KB në madhësi dhe lidhet me çipin NEO-6M nëpërmjet I2C. Moduli gjithashtu përmban një bateri me buton të rimbushshme e cila vepron si një super-kondensator.

Një EEPROM së bashku me baterinë ndihmon në mbajtjen e RAM -it të mbështetur në bateri (BBR). BBR përmban të dhënat e orës, të dhënat e pozicionit më të fundit (të dhënat e orbitës GNSS) dhe konfigurimin e modulit. Por nuk është menduar për ruajtje të përhershme të të dhënave.

Ndërsa bateria ruan orën dhe pozicionin e fundit, koha për të rregulluar së pari (TTFF) zvogëlohet ndjeshëm në 1s. Kjo lejon kyçje të pozicionit shumë më të shpejtë.

Pa bateri GPS-ja fillon gjithmonë në mënyrë të ftohtë, kështu që kyçja fillestare GPS kërkon më shumë kohë. Bateria ngarkohet automatikisht kur aplikohet energjia dhe ruan të dhënat deri në dy javë pa energji.

Pinout

GND është Pin Ground dhe duhet të lidhet me pin GND në Arduino

Px TxD (Transmetues) përdoret për komunikim serik

Px RxD (Marrësi) përdoret për komunikim serik

VCC furnizon me energji për modulin. Mund ta lidhni drejtpërdrejt me pinin 5V në Arduino

Hapi 4: Arduino Mega

Arduino është një platformë elektronike me burim të hapur e bazuar në pajisje dhe softuer të lehtë për t’u përdorur. Tabelat Arduino janë në gjendje të lexojnë hyrje - dritë në një sensor, një gisht në një buton ose një mesazh në Twitter - dhe ta kthejnë atë në një dalje - duke aktivizuar një motor, duke ndezur një LED, duke publikuar diçka në internet. Ju mund t'i tregoni bordit tuaj se çfarë të bëni duke dërguar një sërë udhëzimesh te mikrokontrolluesi në tabelë. Për ta bërë këtë, përdorni gjuhën e programimit Arduino (bazuar në Wiring) dhe Arduino Software (IDE), bazuar në Përpunimin.

Arduino Mega

Arduino Mega 2560 është një bord Mikrokontrollues i bazuar në Atmega2560.

  • Ka 54 kunja dixhitale I/O dhe 16 kunja analoge të përfshira në tabelë që e bëjnë këtë pajisje unike dhe dallohen nga të tjerat. Nga 54 I/O dixhitale, 15 përdoren për PWM (modulimi i gjerësisë së pulsit).
  • Një oshilator kristal me frekuencë 16MHz shtohet në tabelë.
  • Bordi vjen me portë kabllo USB që përdoret për të lidhur dhe transferuar kodin nga kompjuteri në tabelë.
  • Foleja e rrymës DC shoqërohet me tabelën që përdoret për të fuqizuar bordin.
  • Bordi vjen me dy rregullatorë të tensionit dmth 5V dhe 3.3V i cili siguron fleksibilitet për të rregulluar tensionin sipas kërkesave.
  • Ekziston një buton rivendosjeje dhe 4 porte serike të harduerit të quajtur USART e cila prodhon një shpejtësi maksimale për vendosjen e komunikimit.
  • Ekzistojnë tre mënyra për të fuqizuar bordin. Ju ose mund të përdorni një kabllo USB për të fuqizuar bordin dhe për të transferuar kodin në tabelë, ose mund ta ndizni duke përdorur Vin të bordit ose përmes prizës Power ose brumit.

Specifikimet

Pinout

Përshkrimi i kunjit

  • 5V & 3.3V ==> Ky kunj përdoret për të siguruar tension të rregulluar të daljes rreth 5V. Ky furnizim me energji i rregulluar fuqizon kontrolluesin dhe përbërësit e tjerë në tabelë. Mund të merret nga Vin e bordit ose kabllit USB ose një furnizim tjetër të rregulluar të tensionit 5V. Ndërsa një rregullim tjetër i tensionit sigurohet nga pin 3.3V. Fuqia maksimale që mund të tërheqë është 50mA.
  • GND ==> Ekzistojnë 5 kunja tokësore të disponueshme në tabelë, gjë që e bën të dobishme kur kërkohen më shumë se një kunja për projektin.
  • Reset ==> Ky pin përdoret për të rivendosur bordin. Vendosja e këtij pin në LOW do të rivendosë tabelën.
  • Vin ==> voltageshtë tensioni i hyrjes i furnizuar në tabelë i cili varion nga 7V në 20V. Tensioni i siguruar nga priza e rrymës mund të arrihet përmes këtij pin. Sidoqoftë, voltazhi i daljes përmes këtij kunji në tabelë do të vendoset automatikisht në 5V.
  • Komunikimi Serial ==> RXD dhe TXD janë kunjat serik të përdorur për të transmetuar dhe marrë të dhëna serike dmth Rx përfaqëson transmetimin e të dhënave ndërsa Tx përdoret për të marrë të dhëna. Ekzistojnë katër kombinime të këtyre kunjave serikë që përdoren ku Serail 0 përmban RX (0) dhe TX (1), Seriali 1 përmban TX (18) dhe RX (19), Seriali 2 përmban TX (16) dhe RX (17), dhe Seriali 3 përmban TX (14) dhe RX (15).
  • Ndërprerje të Jashtme ==> Gjashtë kunja përdoren për krijimin e ndërprerjeve të jashtme dmth ndërprerje 0 (0), ndërprerje 1 (3), ndërprerje 2 (21), ndërprerje 3 (20), ndërprerje 4 (19), ndërprerje 5 (18). Këto kunja prodhojnë ndërprerje në një numër mënyrash, domethënë duke siguruar vlerë të ulët, rritje ose ulje të skajit ose ndryshim të vlerës në kunjat e ndërprerjes.
  • LED ==> Kjo tabelë vjen me LED të integruar të lidhur me pinin digjital 13. Vlera e lartë në këtë kunj do të ndezë LED-in dhe vlera LOW do ta fikë.
  • AREF ==> AREF qëndron për Tensionin Referues Analog i cili është një tension reference për hyrjet analoge.
  • Kunjat Analog ==> Janë 16 kunja analoge të përfshira në tabelë të etiketuar si A0 deri A15. Isshtë e rëndësishme të theksohet se të gjitha këto kunja analoge mund të përdoren si kunja dixhitale të hyrjes/daljes. Çdo pin analog vjen me rezolucion 10-bit. Këto kunja mund të maten nga toka në 5V. Sidoqoftë, vlera e sipërme mund të ndryshohet duke përdorur funksionin AREF dhe analogReference ().
  • I2C ==> Dy kunjat 20 dhe 21 mbështesin komunikimin I2C ku 20 përfaqëson SDA (Linja Seriale e të Dhënave përdoret kryesisht për mbajtjen e të dhënave) dhe 21 përfaqëson SCL (Linja Seriale e Sahatit e përdorur kryesisht për të siguruar sinkronizimin e të dhënave midis pajisjeve)
  • SPI Communication ==> SPI qëndron për Serial Periferike Ndërfaqe e përdorur për transmetimin e të dhënave midis kontrolluesit dhe komponentëve të tjerë periferikësh. Katër kunja dmth 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) përdoren për komunikimin SPI.

Hapi 5: Arduino IDE

Këtu po supozoj se keni instaluar tashmë Arduino IDE.

1. Shkarkoni bibliotekën e kërkuar të dhënë më poshtë

Lib TinyGPS

2. Pas shkarkimit të tij. Nxirreni atë dhe zhvendoseni në dosjen C: / Users \… / Documents / Arduino / bibliotekat sigurohuni që nuk ka (-).

3. Hapni Arduino IDE dhe kopjoni kodin nga pjesa e programit.

4. Pastaj zgjidhni tabelën për atë shkoni te Tools ==> Boards ==> zgjidhni bordin këtu ne po përdorim Arduino Mega 2560

5. Pas zgjedhjes së bordit, zgjidhni portin për të cilin shkoni te Tools ==> Portet

6 Pasi të zgjidhni bordin dhe portin, klikoni ngarkimin.

7. Pasi të ngarkohet kodi, hapni terminalin serik për të parë daljen.

Hapi 6: Lidhjet

Arduino MEGA ==> GPS NEO-6M

  • 3.3V ==> KQV
  • GND ==> GND
  • Tx1 (18) ==> Rx
  • Rx (19) ==> Tx

Ju gjithashtu mund të përdorni Serial2 ose Serial3 në vend të Serial1

Recommended: