Obsah:
- Krok 1: Potřebné součásti
- Krok 2: Informace o GPS
- Krok 3: GPS modul Neo-6M
- Krok 4: Arduino Mega
- Krok 5: Arduino IDE
- Krok 6: Připojení
Video: Rozhraní Arduino Mega s modulem GPS (Neo-6M): 8 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:19
V tomto projektu jsem ukázal, jak propojit modul GPS (Neo-6M) s Arduino Mega. Knihovna TinyGPS slouží k zobrazení dat zeměpisné délky a šířky a TinyGPS ++ slouží k zobrazení zeměpisné šířky, délky, nadmořské výšky, rychlosti a počtu satelitů na sériovém monitoru.
Krok 1: Potřebné součásti
Hardware
- Arduino Mega ==> 30 $
- GPS modul Neo-6M ==> 30 $
Software
Arduino IDE
Celkové náklady na projekt činí 60 USD
Krok 2: Informace o GPS
Co je GPS
Global Positioning System (GPS) je satelitní navigační systém tvořený nejméně 24 satelity. GPS funguje za jakýchkoli povětrnostních podmínek, kdekoli na světě, 24 hodin denně, bez poplatků za předplatné nebo instalačních poplatků.
Jak funguje GPS
Satelity GPS krouží kolem Země dvakrát denně na přesné oběžné dráze. Každý satelit vysílá jedinečný signál a orbitální parametry, které umožňují zařízením GPS dekódovat a vypočítat přesnou polohu satelitu. Přijímače GPS používají tyto informace a trilateraci k výpočtu přesné polohy uživatele. Přijímač GPS v zásadě měří vzdálenost každého satelitu podle času, který je zapotřebí k přijetí vysílaného signálu. Při měření vzdálenosti z několika dalších satelitů může přijímač určit polohu uživatele a zobrazit ji.
Pro výpočet vaší 2-D polohy (zeměpisné šířky a délky) a pohybu stopy musí být přijímač GPS uzamčen na signál alespoň 3 satelitů. Při pohledu na 4 nebo více satelitů může přijímač určit vaši 3-D polohu (zeměpisná šířka, zeměpisná délka a nadmořská výška). Přijímač GPS bude obecně sledovat 8 nebo více satelitů, ale to závisí na denní době a na tom, kde se na Zemi nacházíte. Jakmile je vaše poloha určena, jednotka GPS může vypočítat další informace, jako například
- Rychlost
- Ložisko
- Dráha
- Trip dist
- Vzdálenost do cíle
Co je signál
Satelity GPS vysílají alespoň 2 rádiové signály s nízkým výkonem. Signály se pohybují podle zorného pole, což znamená, že projdou mraky, sklem a plastem, ale neprojdou většinou pevných předmětů, jako jsou budovy a hory. Moderní přijímače jsou však citlivější a mohou obvykle sledovat domy. Signál GPS obsahuje 3 různé typy informací
Pseudonáhodný kód
Jedná se o I. D. kód, který identifikuje, který satelit vysílá informace. Na satelitní stránce vašeho zařízení můžete zjistit, ze kterých satelitů přijímáte signály.
Údaje o efemeridě
Údaje o efemeridách jsou potřebné k určení polohy satelitu a poskytují důležité informace o stavu satelitu, aktuálním datu a čase.
Data z almanachu
Data Almanacu sdělují přijímači GPS, kde by měl být každý satelit GPS kdykoli během dne, a ukazují orbitální informace pro tento satelit a každý další satelit v systému.
Krok 3: GPS modul Neo-6M
GPS modul NEO-6M je zobrazen na obrázku níže. Dodává se s externí anténou a není dodáván se záhlavími. Takže to budete muset pájet.
Přehled GPS modulu NEO-6M
GPS čip NEO-6M
Srdcem modulu je GPS čip NEO-6M od společnosti u-blox. Dokáže sledovat až 22 satelitů na 50 kanálech a dosahuje nejvyšší úrovně citlivosti v oboru, tj. Sledování -161 dB, přičemž spotřebovává pouze napájecí proud 45 mA. Polohovací motor u-blox 6 se může pochlubit také Time-To-First-Fix (TTFF) pod 1 sekundu. Jednou z nejlepších funkcí, které čip poskytuje, je Power Save Mode (PSM). Umožňuje snížení spotřeby energie systému selektivním zapínáním a vypínáním částí přijímače. Tím se dramaticky sníží spotřeba energie modulu na pouhých 11 mA, takže je vhodný pro aplikace citlivé na energii, jako jsou náramkové hodinky GPS. Potřebné datové piny GPS čipu NEO-6M jsou rozděleny na 0,1 rozteč záhlaví. To zahrnuje piny potřebné pro komunikaci s mikrokontrolérem přes UART.
Poznámka:- Modul podporuje přenosovou rychlost od 4800bps do 230400bps s výchozí přenosovou rychlostí 9600.
Indikátor LED Fixace polohy
Na GPS modulu NEO-6M je LED dioda, která indikuje stav Fixace polohy. Bude blikat různou rychlostí v závislosti na stavu, ve kterém se nachází
- Žádné blikání ==> znamená, že hledá satelity
- Mrknutí každých 1 s - znamená, že byla nalezena oprava polohy
3.3V LDO regulátor
Provozní napětí čipu NEO-6M je od 2,7 do 3,6V. Modul je však dodáván s ultratenkým regulátorem 3V3 MIC5205 od společnosti MICREL. Logické piny jsou také tolerantní k 5 voltům, takže je můžeme snadno připojit k logickému mikrokontroléru Arduino nebo 5V bez použití jakéhokoli převodníku logické úrovně.
Baterie a EEPROM
Modul je vybaven dvouvodičovou sériovou EEPROM HK24C32. Má velikost 4KB a je připojen k čipu NEO-6M přes I2C. Modul také obsahuje dobíjecí knoflíkovou baterii, která funguje jako superkondenzátor.
EEPROM spolu s baterií pomáhá zachovat RAM (BBR) zálohovanou baterií. BBR obsahuje data hodin, nejnovější údaje o poloze (data oběžné dráhy GNSS) a konfiguraci modulu. Není to však určeno pro trvalé ukládání dat.
Protože si baterie zachovává hodiny a poslední pozici, doba do první opravy (TTFF) se výrazně snižuje na 1 s. To umožňuje mnohem rychlejší polohové zámky.
Bez baterie se GPS vždy spustí studeně, takže počáteční zámek GPS zabere více času. Baterie se automaticky nabíjí po připojení napájení a udržuje data až dva týdny bez napájení.
Pinout
GND je uzemňovací kolík a musí být připojen ke kolíku GND na Arduinu
Pin TxD (Transmitter) slouží k sériové komunikaci
Pin RxD (Receiver) se používá pro sériovou komunikaci
VCC dodává energii pro modul. Můžete jej přímo připojit k 5V pinu na Arduinu
Krok 4: Arduino Mega
Arduino je open-source elektronická platforma založená na snadno použitelném hardwaru a softwaru. Desky Arduino jsou schopné číst vstupy - světlo na senzoru, prst na tlačítku nebo zprávu na Twitteru - a proměnit je na výstup - aktivace motoru, rozsvícení LED, zveřejnění něčeho online. Můžete své desce sdělit, co má dělat, a to zasláním sady pokynů mikrokontroléru na desce. K tomu použijete programovací jazyk Arduino (na základě zapojení) a software Arduino (IDE) na základě zpracování.
Arduino Mega
Arduino Mega 2560 je deska mikrokontroléru založená na Atmega2560.
- Na desce je integrováno 54 digitálních I/O pinů a 16 analogových pinů, díky nimž je toto zařízení jedinečné a odlišuje se od ostatních. Z 54 digitálních I/O je 15 použito pro PWM (pulzně šířková modulace).
- Na desku je přidán krystalový oscilátor o frekvenci 16 MHz.
- Deska je dodávána s kabelem USB, který slouží k připojení a přenosu kódu z počítače na desku.
- DC napájecí konektor je spojen s deskou, která slouží k napájení desky.
- Deska je dodávána se dvěma regulátory napětí, tj. 5V a 3,3V, které poskytují flexibilitu pro regulaci napětí podle požadavků.
- K dispozici je tlačítko reset a 4 hardwarový sériový port s názvem USART, který produkuje maximální rychlost pro nastavení komunikace.
- Existují tři způsoby napájení desky. K napájení desky a přenosu kódu na desku můžete použít buď kabel USB, nebo ji můžete zapnout pomocí Vin desky nebo pomocí napájecího konektoru nebo baterie.
Specifikace
Pinout
Popis kolíku
- 5V a 3,3V ==> Tento pin slouží k zajištění výstupního regulovaného napětí kolem 5V. Toto regulované napájení napájí ovladač a další komponenty na desce. Lze jej získat od Vin desky nebo kabelu USB nebo jiného regulovaného 5V napájecího zdroje. Další regulaci napětí zajišťuje pin 3,3V. Maximální výkon, který může čerpat, je 50mA.
- GND ==> Na desce je k dispozici 5 zemních kolíků, což je užitečné, když je pro projekt zapotřebí více než jeden zemnící kolík.
- Reset ==> Tento pin slouží k resetování desky. Nastavením tohoto pinu na LOW se deska resetuje.
- Vin ==> Je to vstupní napětí dodávané na desku, které se pohybuje od 7V do 20V. K napětí poskytovanému napájecím konektorem lze přistupovat prostřednictvím tohoto kolíku. Výstupní napětí přes tento pin na desku však bude automaticky nastaveno až na 5V.
- Sériová komunikace ==> RXD a TXD jsou sériové piny používané k přenosu a přijímání sériových dat, tj. Rx představuje přenos dat, zatímco Tx slouží k příjmu dat. Existují čtyři kombinace těchto sériových pinů, kde Serail 0 obsahuje RX (0) a TX (1), Serial 1 obsahuje TX (18) a RX (19), Serial 2 obsahuje TX (16) a RX (17), a Serial 3 obsahuje TX (14) a RX (15).
- Externí přerušení ==> Šest pinů slouží k vytváření externích přerušení, tj. Přerušení 0 (0), přerušení 1 (3), přerušení 2 (21), přerušení 3 (20), přerušení 4 (19), přerušení 5 (18). Tyto kolíky vytvářejí přerušení několika způsoby, tj. Poskytováním NÍZKÉ hodnoty, stoupající nebo sestupné hrany nebo změnou hodnoty přerušovacích kolíků.
- LED ==> Tato deska je dodávána s vestavěnou LED připojenou k digitálnímu pinu 13. HIGH hodnota na tomto pinu rozsvítí LED a LOW hodnota vypne.
- AREF ==> AREF znamená analogové referenční napětí, což je referenční napětí pro analogové vstupy.
- Analogové piny ==> Na desce je integrováno 16 analogových pinů označených jako A0 až A15. Je důležité si uvědomit, že všechny tyto analogové piny lze použít jako digitální I/O piny. Každý analogový pin má 10bitové rozlišení. Tyto kolíky lze měřit od země do 5V. Horní hodnotu však lze změnit pomocí funkce AREF a analogReference ().
- I2C ==> Dva piny 20 a 21 podporují komunikaci I2C, kde 20 představuje SDA (sériová datová linka používaná hlavně pro uchovávání dat) a 21 představuje SCL (sériová hodinová linka používaná hlavně pro synchronizaci dat mezi zařízeními)
- SPI Communication ==> SPI je zkratka pro Serial Peripheral Interface používané pro přenos dat mezi ovladačem a dalšími periferními komponentami. Pro komunikaci SPI se používají čtyři piny, tj. 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).
Krok 5: Arduino IDE
Zde předpokládám, že jste již nainstalovali Arduino IDE.
1. Stáhněte si níže uvedenou požadovanou knihovnu
TinyGPS lib
2. Po stažení. Rozbalte jej a přesuňte do složky C: / Users \… / Documents / Arduino / libraries, ujistěte se, že neexistuje (-).
3. Otevřete Arduino IDE a zkopírujte kód z programové sekce.
4. Poté vyberte desku a přejděte na Nástroje ==> Desky ==> zde vyberte desku, používáme Arduino Mega 2560
5. Po výběru desky vyberte port, pro který přejděte na Nástroje ==> Porty
6. Po výběru desky a portu klikněte na nahrát.
7. Jakmile je kód nahrán, otevřete sériový terminál a uvidíte výstup.
Krok 6: Připojení
Arduino MEGA ==> GPS NEO-6M
- 3,3 V ==> VCC
- GND ==> GND
- Tx1 (18) ==> Rx
- Rx (19) ==> Tx
Místo Serial1 můžete také použít Serial2 nebo Serial3
Doporučuje:
Hra na samohlásky s modulem Arduino a modulem MP3 YX5300 Catalex: 13 kroků
Hra se samohláskami s modulem Arduino a modulem MP3 YX5300 Catalex: Dokážete přečíst tuto otázku? To je divné! Tuto otázku jsem položil schválně. Pokud dokážete přečíst tento text, je to proto, že znáte celou abecedu a samozřejmě jste se dozvěděli o všech samohláskách. Samohlásky jsou přítomny ve všech slovech. Není možné
HiFive1 Arduino s modulem Bluetooth HC-05 Výukový program: 7 kroků
HiFive1 Arduino s modulem Bluetooth HC-05 Výukový program: HiFive1 je první deska kompatibilní s Arduino RISC-V postavená na procesoru FE310 od SiFive. Deska je asi 20krát rychlejší než Arduino UNO a protože UNO postrádá jakékoli bezdrátové připojení. Naštěstí existuje několik levných modulů
Výukový program ESP32 s modulem E32-433T LoRa - Rozhraní LoRa Arduino: 8 kroků
Výukový program ESP32 s modulem E32-433T LoRa | Rozhraní LoRa Arduino: Hej, co se děje, lidi! Akarsh zde od CETech. Tento můj projekt propojuje modul E32 LoRa od společnosti eByte, což je vysoce výkonný 1wattový transceiverový modul s ESP32 pomocí Arduino IDE. Chápali jsme fungování E32 v naší poslední tutorii
Arduino s modulem teploty a vlhkosti DHT 11: 7 kroků
Arduino s modulem teploty a vlhkosti DHT 11: „Mars táhne do lidské představivosti jako žádná jiná planeta. Se silou silnější než gravitace přitahuje oko k třpytivé červené přítomnosti na jasné noční obloze. “Naše třída fyziky dostala za úkol sestrojit kostku o rozměrech 10 x 10 x 10 cm
Začínáme s modulem Bluetooth HC05 a Arduino [návod]: 6 kroků
Začínáme s modulem Bluetooth HC05 a Arduino [Tutorial]: Tento a další úžasné návody si můžete přečíst na oficiálních webových stránkách společnosti ElectroPeak. V tomto tutoriálu se naučíte, jak komunikovat a odesílat data pomocí Bluetooth pomocí modulu Bluetooth HC05 a desky Arduino. Na konci tohoto článku se dozvíte