Talaan ng mga Nilalaman:
- Hakbang 1: Kailangan ng Mga Bahagi
- Hakbang 2: Impormasyon Tungkol sa GPS
- Hakbang 3: Neo-6M GPS Module
- Hakbang 4: Arduino Mega
- Hakbang 5: Arduino IDE
- Hakbang 6: Mga Koneksyon
Video: Interface Arduino Mega Sa Module ng GPS (Neo-6M): 8 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Sa proyektong ito, ipinakita ko kung paano i-interface ang isang module ng GPS (Neo-6M) sa Arduino Mega. Ginagamit ang library ng TinyGPS upang ipakita ang data ng Longitude at Latitude at ginagamit ang TinyGPS ++ upang ipakita ang Latitude, Longitude, Altitude, Bilis at bilang ng mga satellite sa serial monitor.
Hakbang 1: Kailangan ng Mga Bahagi
Hardware
- Arduino Mega ==> $ 30
- Neo-6M GPS module ==> $ 30
Software
Arduino IDE
Ang kabuuang halaga ng proyekto ay $ 60
Hakbang 2: Impormasyon Tungkol sa GPS
Ano ang GPS
Ang Global Positioning System (GPS) ay isang satellite-based na nabigasyon system na binubuo ng hindi bababa sa 24 satellite. Gumagana ang GPS sa anumang mga kundisyon ng panahon, kahit saan sa mundo, 24 na oras sa isang araw, na walang mga bayarin sa subscription o pagsingil sa mga pagsingil.
Paano gumagana ang GPS
Ang mga GPS satellite ay bilog ang Earth dalawang beses sa isang araw sa isang tumpak na orbit. Ang bawat satellite ay nagpapadala ng isang natatanging signal at orbital na mga parameter na nagpapahintulot sa mga aparato ng GPS na mag-decode at makalkula ang tumpak na lokasyon ng satellite. Ginagamit ng mga tatanggap ng GPS ang impormasyong ito at trilateration upang makalkula ang eksaktong lokasyon ng isang gumagamit. Mahalaga, sinusukat ng tagatanggap ng GPS ang distansya sa bawat satellite sa dami ng oras na kinakailangan upang makatanggap ng isang nailipat na signal. Sa mga pagsukat sa distansya mula sa ilan pang mga satellite, maaaring matukoy ng tatanggap ang posisyon ng isang gumagamit at ipakita ito.
Upang kalkulahin ang iyong posisyon na 2-D (latitude at longitude) at subaybayan ang paggalaw, ang isang GPS receiver ay dapat na naka-lock sa signal ng hindi bababa sa 3 satellite. Sa pagtingin ng 4 o higit pang mga satellite, matutukoy ng tatanggap ang iyong posisyon na 3-D (latitude, longitude at altitude). Pangkalahatan, susubaybayan ng isang tagatanggap ng GPS ang 8 o higit pang mga satellite, ngunit depende iyon sa oras ng araw at kung nasaan ka sa mundo. Kapag natukoy ang iyong posisyon, maaaring makalkula ng yunit ng GPS ang iba pang impormasyon, tulad ng
- Bilis
- Tindig
- Subaybayan
- Distansya ng biyahe
- Distansya sa patutunguhan
Ano ang signal
Naghahatid ang mga GPS satellite ng hindi bababa sa 2 mga signal ng radyo na may mababang lakas. Ang mga signal ay naglalakbay sa pamamagitan ng linya ng paningin, nangangahulugang dumadaan sila sa mga ulap, baso at plastik ngunit hindi dumaan sa karamihan ng mga solidong bagay, tulad ng mga gusali at bundok. Gayunpaman, ang mga modernong tagatanggap ay mas sensitibo at karaniwang maaaring subaybayan ang mga bahay. Naglalaman ang isang senyas ng GPS ng 3 magkakaibang uri ng impormasyon
Pseudorandom na code
Ito ay isang I. D. code na tumutukoy sa aling satellite ang nagpapadala ng impormasyon. Maaari mong makita kung aling mga satellite ka nakakakuha ng mga signal mula sa pahina ng satellite ng iyong aparato.
Data ng Ephemeris
Ang data ng Ephemeris ay kinakailangan upang matukoy ang posisyon ng satellite at nagbibigay ng mahalagang impormasyon tungkol sa kalusugan ng isang satellite, kasalukuyang petsa at oras.
Data ng Almanac
Sinasabi ng data ng Almanac sa tatanggap ng GPS kung saan ang bawat GPS satellite ay dapat na anumang oras sa buong araw at ipinapakita ang impormasyon ng orbital para sa satellite na iyon at bawat iba pang satellite sa system.
Hakbang 3: Neo-6M GPS Module
Ang module ng NEO-6M GPS ay ipinapakita sa figure sa ibaba. Ito ay may isang panlabas na antena at hindi kasama ang mga header pin. Kaya kakailanganin mong maghinang ito.
Pangkalahatang-ideya ng NEO-6M GPS Module
NEO-6M GPS Chip
Ang puso ng module ay isang NEO-6M GPS chip mula sa u-blox. Maaari itong subaybayan hanggang sa 22 mga satellite sa 50 mga channel at makamit ang pinakamataas na antas ng pagiging sensitibo sa industriya ie -161 dB pagsubaybay, habang kumakain lamang ng kasalukuyang 45mA na supply. Ipinagmamalaki din ng u-blox 6 na pagpoposisyon ang isang Time-To-First-Fix (TTFF) na mas mababa sa 1 segundo. Ang isa sa mga pinakamahusay na tampok na ibinibigay ng maliit na tilad ay ang Power Save Mode (PSM). Pinapayagan ang pagbawas sa pagkonsumo ng kuryente ng system sa pamamagitan ng pili na paglipat ng mga bahagi ng tatanggap na ON at OFF. Ganap na binabawasan nito ang pagkonsumo ng kuryente ng module sa 11mA lamang na ginagawang angkop para sa mga application na sensitibo sa kuryente tulad ng GPS wristwatch. Ang kinakailangang mga data pin ng NEO-6M GPS chip ay nasira sa isang 0.1 ″ pitch header. Kasama dito ang mga pin na kinakailangan para sa komunikasyon sa isang microcontroller sa paglipas ng UART.
Tandaan: - Sinusuportahan ng module ang rate ng baud mula sa 4800bps hanggang 230400bps na may default na baud na 9600.
Pag-ayos ng Posisyon ng Tagapahiwatig ng LED
Mayroong isang LED sa NEO-6M GPS Module na nagpapahiwatig ng katayuan ng Pag-ayos ng Posisyon. Makakurap ito sa iba't ibang mga rate depende sa kung anong estado ito
- Walang Blinking ==> nangangahulugang Naghahanap ito ng mga satellite
- Blink bawat 1s - nangangahulugang ang Position Fix ay matatagpuan
3.3V LDO Regulator
Ang operating boltahe ng NEO-6M chip ay mula 2.7 hanggang 3.6V. Ngunit, ang module ay may MIC5205 ultra-low dropout 3V3 regulator mula sa MICREL. Ang mga pin ng lohika ay 5-volt tolerant din, kaya madali naming maiugnay ito sa isang Arduino o anumang 5V logic microcontroller nang hindi gumagamit ng anumang converter ng antas ng lohika.
Baterya at EEPROM
Ang module ay nilagyan ng isang HK24C32 dalawang wire serial EEPROM. Ito ay ang laki ng 4KB at konektado sa NEO-6M chip sa pamamagitan ng I2C. Naglalaman din ang module ng isang rechargeable button na baterya na kumikilos bilang isang super-capacitor.
Ang isang EEPROM kasama ang baterya ay tumutulong na mapanatili ang bateryang nai-back RAM (BBR). Naglalaman ang BBR ng data ng orasan, pinakabagong data ng posisyon (data ng orbit ng GNSS) at pagsasaayos ng module. Ngunit hindi ito inilaan para sa permanenteng pag-iimbak ng data.
Habang pinapanatili ng baterya ang orasan at huling posisyon, ang oras upang unang ayusin (TTFF) ay makabuluhang binabawasan sa 1s. Pinapayagan nito ang mas mabilis na mga kandado ng posisyon.
Nang walang baterya laging GPS ang cold-start kaya't ang paunang lock ng GPS ay tumatagal ng mas maraming oras. Awtomatikong sisingilin ang baterya kapag inilapat ang kuryente at nagpapanatili ng data hanggang sa dalawang linggo nang walang lakas.
Pinout
Ang GND ay ang Ground Pin at kailangang maiugnay sa GND pin sa Arduino
Ginagamit ang TxD (Transmitter) pin para sa serial na komunikasyon
Ang pin na RxD (Receiver) ay ginagamit para sa serial na komunikasyon
Ang VCC ay nagbibigay ng lakas para sa modyul. Maaari mong direktang ikonekta ito sa 5V pin sa Arduino
Hakbang 4: Arduino Mega
Ang Arduino ay isang open-source electronics platform batay sa madaling gamiting hardware at software. Nabasa ng mga board ng Arduino ang mga input - ilaw sa isang sensor, isang daliri sa isang pindutan, o isang mensahe sa Twitter - at ginawang isang output - pinapagana ang isang motor, binubuksan ang isang LED, naglathala ng isang bagay sa online. Maaari mong sabihin sa iyong board kung ano ang gagawin sa pamamagitan ng pagpapadala ng isang hanay ng mga tagubilin sa microcontroller sa board. Upang magawa mo ito, ginagamit mo ang wika ng programa ng Arduino (batay sa Mga Kable), at ang Arduino Software (IDE), batay sa Pagproseso.
Arduino Mega
Ang Arduino Mega 2560 ay isang board ng Microcontroller batay sa Atmega2560.
- Mayroong 54 digital I / O pin at 16 analog pin na isinasama sa board na ginagawang natatangi ang aparatong ito at nakikilala mula sa iba. Sa labas ng 54 digital I / O, 15 ang ginagamit para sa PWM (modulate ng pulse width).
- Ang isang kristal oscillator na 16MHz dalas ay idinagdag sa board.
- Ang board ay may kasamang USB cable port na ginagamit upang kumonekta at ilipat ang code mula sa computer patungo sa board.
- Ang DC power jack ay isinama sa board na ginagamit upang i-power ang board.
- Ang board ay may dalawang voltage regulator ibig sabihin, 5V at 3.3V na nagbibigay ng kakayahang umangkop upang makontrol ang boltahe ayon sa mga kinakailangan.
- Mayroong isang pindutan ng pag-reset at 4 hardware serial port na tinatawag na USART na gumagawa ng isang maximum na bilis para sa pag-set up ng komunikasyon.
- Mayroong tatlong mga paraan upang mapalakas ang board. Maaari kang gumamit ng isang USB cable upang mapagana ang board at ilipat ang code sa board o maaari mo itong paandarin gamit ang Vin ng board o sa pamamagitan ng Power jack o batter.
Mga pagtutukoy
Pinout
Paglalarawan ng Pin
- 5V & 3.3V ==> Ang pin na ito ay ginagamit upang magbigay ng kinokontrol na boltahe ng output sa paligid ng 5V. Ang kinokontrol na supply ng kuryente ay nagpapagana ng taga-kontrol at iba pang mga bahagi sa pisara. Maaari itong makuha mula sa Vin ng board o USB cable o ibang kinokontrol na supply ng boltahe na 5V. Habang ang isa pang regulasyon ng boltahe ay ibinibigay ng 3.3V pin. Ang maximum na lakas na maaari nitong iguhit ay 50mA.
- GND ==> Mayroong 5 mga ground pin na magagamit sa board na ginagawang kapaki-pakinabang kapag higit sa isang mga ground pin ang kinakailangan para sa proyekto.
- I-reset ==> Ang pin na ito ay ginagamit upang i-reset ang board. Ang pagtatakda ng pin na ito sa LOW ay i-reset ang board.
- Vin ==> Ito ang input boltahe na ibinigay sa board na saklaw mula 7V hanggang 20V. Ang boltahe na ibinigay ng power jack ay maaaring ma-access sa pamamagitan ng pin na ito. Gayunpaman, ang boltahe ng output sa pamamagitan ng pin na ito sa board ay awtomatikong maitatakda sa 5V.
- Serial Communication ==> Ang RXD at TXD ay ang mga serial pin na ginamit upang magpadala at makatanggap ng serial data ibig sabihin Rx ay kumakatawan sa paghahatid ng data habang ginamit ng Tx upang makatanggap ng data. Mayroong apat na mga kumbinasyon ng mga serial pin na ito kung saan ang Serail 0 ay naglalaman ng RX (0) at TX (1), ang Serial 1 ay naglalaman ng TX (18) at RX (19), ang Serial 2 ay naglalaman ng TX (16) at RX (17), at ang Serial 3 ay naglalaman ng TX (14) at RX (15).
- Mga Panlabas na Pagkagambala ==> Anim na mga pin ang ginagamit para sa paglikha ng mga panlabas na pagkagambala ie makagambala sa 0 (0), makagambala 1 (3), makagambala 2 (21), makagambala 3 (20), makagambala 4 (19), makagambala 5 (18). Ang mga pin na ito ay gumagawa ng mga nakakagambala sa pamamagitan ng isang bilang ng mga paraan hal hal. Pagbibigay ng mababang halaga, pagtaas o pagbagsak gilid o pagbabago ng halaga sa mga nakakagambala na mga pin.
- LED ==> Ang board na ito ay may built-in na LED na konektado sa digital pin 13. Ang mataas na halaga sa pin na ito ay magpapasara sa LED at MABABANG halaga ay papatayin ito.
- AREF ==> Ang AREF ay nangangahulugang Analog Reference Voltage na isang boltahe ng sanggunian para sa mga input ng analog.
- Mga analog na Pins ==> Mayroong 16 na mga analog na pin na isinasama sa board na may label na A0 hanggang A15. Mahalagang tandaan na ang lahat ng mga analog na pin na ito ay maaaring magamit bilang mga digital I / O na pin. Ang bawat analog pin ay may kasamang 10-bit na resolusyon. Ang mga pin na ito ay maaaring masukat mula sa lupa hanggang 5V. Gayunpaman, ang mas mataas na halaga ay maaaring mabago gamit ang pagpapaandar ng AREF at analogReferensi ().
- I2C ==> Dalawang pin 20 at 21 ang sumusuporta sa komunikasyon sa I2C kung saan ang 20 ay kumakatawan sa SDA (Serial Data Line na pangunahing ginagamit para sa paghawak ng data) at ang 21 ay kumakatawan sa SCL (Serial Clock Line na pangunahing ginagamit para sa pagbibigay ng data ng pagsabay sa pagitan ng mga aparato)
- SPI Communication ==> Ang SPI ay nangangahulugang Serial Peripheral Interface na ginagamit para sa paghahatid ng data sa pagitan ng controller at iba pang mga sangkap ng peripheral. Apat na mga pin ibig sabihin 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) ay ginagamit para sa komunikasyon ng SPI.
Hakbang 5: Arduino IDE
Narito ipinapalagay ko na na-install mo na ang Arduino IDE.
1. I-download ang kinakailangang library na ibinigay sa ibaba
TinyGPS lib
2. Pagkatapos i-download ito. I-extract ito at ilipat ito sa folder C: / Users / … / Mga Dokumento / Arduino / library na tiyakin na walang (-).
3. Buksan ang Arduino IDE at kopyahin ang code mula sa seksyon ng programa.
4. Pagkatapos piliin ang board para sa na pumunta sa Tools ==> Boards ==> piliin ang board dito ginagamit namin ang Arduino Mega 2560
5. Matapos ang pagpili ng board piliin ang port para sa na pumunta sa Tools ==> Mga Port
6. Matapos piliin ang upload ng board at port click.
7. Kapag na-upload ang code bukas na serial terminal upang makita ang output.
Hakbang 6: Mga Koneksyon
Arduino MEGA ==> NEO-6M GPS
- 3.3V ==> VCC
- GND ==> GND
- Tx1 (18) ==> Rx
- Rx (19) ==> Tx
Maaari mo ring gamitin ang Serial2 o Serial3 sa halip na Serial1
Inirerekumendang:
Pag-interface ng Module ng GPS Sa Raspberry Pi: 10 Hakbang
Pag-interfacing ng Modyul ng GPS Sa Raspberry Pi: Hey Guys !! Nais mo bang mag-interface ng isang module ng GPS sa Raspberry Pi? Ngunit nahaharap sa ilang kahirapan upang gawin ito? "Huwag Mag-alala, narito ako upang tulungan ka! Maaari kang magsimula sa pamamagitan ng paggamit ng mga sumusunod na bahagi:
Arduino GPS Clock Na May Lokal na Oras Gamit ang NEO-6M Module: 9 Mga Hakbang
Arduino GPS Clock Na May Lokal na Oras Gamit ang NEO-6M Modyul: Sa tutorial na ito matututunan natin kung paano makakuha ng isang kasalukuyang oras mula sa mga satellite gamit ang arduino. Panoorin ang video
Pagsisimula Sa I2C Sensor Interface ?? - I-interface ang Iyong MMA8451 Paggamit ng mga ESP32: 8 Mga Hakbang
Pagsisimula Sa I2C Sensor Interface ?? - I-interface ang Iyong MMA8451 Paggamit ng ESP32s: Sa tutorial na ito, malalaman mo ang lahat tungkol sa Paano magsimula, kumonekta at makakuha ng I2C device (Accelerometer) na gumagana sa controller (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Pag-interface ng Module ng GPS Sa Arduino Uno: 7 Mga Hakbang
Interfacing GPS Module Sa Arduino Uno: Kumusta! Nais mo bang ikonekta ang isang module ng GPS sa iyong Arduino Uno Board, ngunit hindi mo alam kung paano ito gawin? Narito ako upang tulungan ka! Kakailanganin mo ang mga sumusunod na bahagi upang makapagsimula
Paano Mag-interface ng Modyul ng GPS (NEO-6m) Sa Arduino: 7 Mga Hakbang (na may Mga Larawan)
Paano Mag-interface ng GPS Module (NEO-6m) Sa Arduino: Sa proyektong ito, ipinakita ko kung paano i-interface ang isang module ng GPS sa Arduino UNO. Ang data para sa longitude at latitude ay ipinapakita sa LCD at ang lokasyon ay maaaring makita sa app.List ng materyal Arduino Uno == > $ 8 Ublox NEO-6m GPS module == > $ 15 16x