Orodha ya maudhui:

Interface Arduino Mega Pamoja na Moduli ya GPS (Neo-6M): Hatua 8
Interface Arduino Mega Pamoja na Moduli ya GPS (Neo-6M): Hatua 8

Video: Interface Arduino Mega Pamoja na Moduli ya GPS (Neo-6M): Hatua 8

Video: Interface Arduino Mega Pamoja na Moduli ya GPS (Neo-6M): Hatua 8
Video: #126 ARDUINO 06 Передача информации с помощью NRF24L01 2024, Juni
Anonim
Interface Arduino Mega Pamoja na Moduli ya GPS (Neo-6M)
Interface Arduino Mega Pamoja na Moduli ya GPS (Neo-6M)

Katika mradi huu, nimeonyesha jinsi ya kuunganisha moduli ya GPS (Neo-6M) na Arduino Mega. Maktaba ya TinyGPS hutumiwa kuonyesha data ya Longitude na Latitudo na TinyGPS ++ hutumiwa kuonyesha Latitudo, Urefu, Urefu, Kasi na idadi ya setilaiti kwenye mfuatiliaji wa serial.

Hatua ya 1: Vipengele vinahitajika

Vifaa

  • Arduino Mega ==> $ 30
  • Moduli ya GPS ya Neo-6M ==> $ 30

Programu

Arduino IDE

Gharama ya jumla ya mradi ni $ 60

Hatua ya 2: Habari kuhusu GPS

GPS ni nini

Mfumo wa Kuweka Nafasi Ulimwenguni (GPS) ni mfumo wa urambazaji unaotegemea satellite unaoundwa na satelaiti angalau 24. GPS inafanya kazi katika hali yoyote ya hali ya hewa, mahali popote ulimwenguni, masaa 24 kwa siku, bila ada ya usajili au malipo ya usanidi.

Jinsi GPS inavyofanya kazi

Satelaiti za GPS huzunguka Dunia mara mbili kwa siku katika obiti sahihi. Kila setilaiti hupitisha ishara ya kipekee na vigezo vya orbital ambavyo vinaruhusu vifaa vya GPS kuamua na kuhesabu eneo sahihi la setilaiti. Wapokeaji wa GPS hutumia habari hii na trilateration kuhesabu eneo halisi la mtumiaji. Kimsingi, mpokeaji wa GPS hupima umbali wa kila setilaiti kwa kiwango cha muda inachukua kupokea ishara inayosambazwa. Kwa vipimo vya umbali kutoka kwa satelaiti chache zaidi, mpokeaji anaweza kuamua msimamo wa mtumiaji na kuionyesha.

Ili kuhesabu msimamo wako wa 2-D (latitudo na longitudo) na ufuatiliaji wa harakati, mpokeaji wa GPS lazima afungiwe kwenye ishara ya angalau satelaiti 3. Kwa kutazama satelaiti 4 au zaidi, mpokeaji anaweza kuamua msimamo wako wa 3-D (latitudo, longitudo na urefu). Kwa ujumla, mpokeaji wa GPS atafuatilia satelaiti 8 au zaidi, lakini hiyo inategemea wakati wa siku na mahali ulipo duniani. Mara tu msimamo wako umedhamiriwa, kitengo cha GPS kinaweza kuhesabu habari zingine, kama vile

  • Kasi
  • Kuzaa
  • Fuatilia
  • Safari dist
  • Umbali wa kufika

Ishara ni nini

Satelaiti za GPS hupitisha angalau ishara 2 za nguvu ya chini ya redio. Ishara zinasafiri kwa njia ya kuona, ikimaanisha zitapita kwenye mawingu, glasi na plastiki lakini hazitapita vitu vikali, kama vile majengo na milima. Walakini, wapokeaji wa kisasa ni nyeti zaidi na kawaida wanaweza kufuatilia nyumba. Ishara ya GPS ina aina tatu tofauti za habari

Nambari ya bandia

Ni I. D. nambari inayotambulisha ni satellite ipi inapitisha habari. Unaweza kuona ni setilaiti zipi unapata ishara kutoka kwenye ukurasa wa setilaiti ya kifaa chako.

Takwimu za Ephemeris

Takwimu za Ephemeris zinahitajika kuamua msimamo wa setilaiti na inatoa habari muhimu juu ya afya ya setilaiti, tarehe na wakati wa sasa.

Takwimu za Almanac

Takwimu za Almanac zinaambia mpokeaji wa GPS ambapo kila satellite ya GPS inapaswa kuwa wakati wowote kwa siku na inaonyesha habari ya orbital ya satelaiti hiyo na kila setilaiti nyingine katika mfumo.

Hatua ya 3: Moduli ya GPS ya Neo-6M

Moduli ya GPS ya NEO-6M imeonyeshwa kwenye takwimu hapa chini. Inakuja na antena ya nje na haiji na pini za kichwa. Kwa hivyo utahitaji kuiunganisha.

Maelezo ya jumla ya Moduli ya GPS ya NEO-6M

Neo-6M GPS Chip

Moyo wa moduli ni chip ya GPS ya NEO-6M kutoka u-blox. Inaweza kufuatilia hadi satelaiti 22 kwenye vituo 50 na kufikia kiwango cha juu zaidi cha utaftaji wa tasnia yaani -161 dB kufuatilia, huku ikitumia ugavi wa sasa wa 45mA tu. Injini ya nafasi ya u-blox 6 pia inajivunia Muda-Kwa-Kwanza-Kurekebisha (TTFF) ya chini ya sekunde 1. Moja ya huduma bora ambazo chip hutoa ni Njia ya Kuokoa Nguvu (PSM). Inaruhusu kupunguzwa kwa matumizi ya nguvu ya mfumo kwa kuchagua kwa kuchagua sehemu za mpokeaji ON na OFF. Hii inapunguza kwa kasi matumizi ya nguvu ya moduli hadi 11mA tu na kuifanya ifaa kwa matumizi nyeti ya nguvu kama saa ya saa ya GPS. Pini za data zinazohitajika za chip ya GPS ya NEO-6M imegawanywa kwa vichwa vya lami vya 0.1 ″. Hii ni pamoja na pini zinazohitajika kwa mawasiliano na mdhibiti mdogo juu ya UART.

Kumbuka: - Moduli inasaidia kiwango cha baud kutoka 4800bps hadi 230400bps na baud default ya 9600.

Nafasi Rekebisha Kiashiria cha LED

Kuna mwangaza kwenye Moduli ya GPS ya NEO-6M ambayo inaonyesha hali ya Nafasi Rekebisha. Itang'aa kwa viwango anuwai kulingana na hali gani iko

  1. Hakuna kupepesa = => inamaanisha Inatafuta satelaiti
  2. Blink kila 1s - inamaanisha Kurekebisha Nafasi kunapatikana

Mdhibiti wa 3.3V LDO

Voltage ya kufanya kazi ya chip NEO-6M ni kutoka 2.7 hadi 3.6V. Lakini, moduli hiyo inakuja na mdhibiti wa MIC5205 Ultra-low dropout 3V3 kutoka MICREL. Pini za mantiki pia zina uvumilivu wa volt 5, kwa hivyo tunaweza kuiunganisha kwa urahisi kwa Arduino au microcontroller yoyote ya mantiki ya 5V bila kutumia ubadilishaji wowote wa kiwango cha mantiki.

Betri & EEPROM

Moduli hiyo ina vifaa vya waya vya HK24C32 mbili EEPROM. Ni saizi ya 4KB na imeunganishwa kwenye chip ya NEO-6M kupitia I2C. Moduli hiyo pia ina betri ya kifungo inayoweza kuchajiwa ambayo hufanya kama super-capacitor.

EEPROM pamoja na betri husaidia kuhifadhi RAM inayoungwa mkono na betri (BBR). BBR ina data ya saa, data ya nafasi ya hivi karibuni (data ya obiti ya GNSS) na usanidi wa moduli. Lakini sio maana ya kuhifadhi data ya kudumu.

Wakati betri inabaki na saa na nafasi ya mwisho, wakati wa kurekebisha kwanza (TTFF) hupunguza kwa 1s. Hii inaruhusu kufuli kwa nafasi ya haraka zaidi.

Bila betri GPS huanza baridi kila wakati kwa hivyo kufuli la awali la GPS inachukua muda zaidi. Betri huchajiwa kiatomati wakati nguvu inatumiwa na ina data hadi wiki mbili bila umeme.

Kujifunga

GND ni Pini ya chini na inahitaji kushikamana na pini ya GND kwenye Arduino

Pini ya TxD (Transmitter) hutumiwa kwa mawasiliano ya serial

Pini ya RxD (Mpokeaji) hutumiwa kwa mawasiliano ya serial

VCC hutoa nguvu kwa moduli. Unaweza kuiunganisha moja kwa moja na pini ya 5V kwenye Arduino

Hatua ya 4: Arduino Mega

Arduino ni jukwaa la elektroniki lenye chanzo wazi kulingana na vifaa rahisi kutumia na programu. Bodi za Arduino zina uwezo wa kusoma pembejeo - taa kwenye sensa, kidole kwenye kitufe, au ujumbe wa Twitter - na kuibadilisha kuwa pato - kuamsha motor, kuwasha LED, kuchapisha kitu mkondoni. Unaweza kuiambia bodi yako nini cha kufanya kwa kutuma seti ya maagizo kwa mdhibiti mdogo kwenye ubao. Ili kufanya hivyo unatumia lugha ya programu ya Arduino (kulingana na Wiring), na Programu ya Arduino (IDE), kulingana na Usindikaji.

Arduino Mega

Arduino Mega 2560 ni bodi ya Microcontroller kulingana na Atmega2560.

  • Kuna pini 54 za I / O za dijiti na pini 16 za analog zilizoingizwa kwenye ubao ambazo hufanya kifaa hiki kuwa cha kipekee na kujitokeza kutoka kwa wengine. Kati ya I / O ya dijiti 54, 15 hutumiwa kwa PWM (upimaji wa mpigo wa mpigo).
  • Oscillator ya kioo ya mzunguko wa 16MHz imeongezwa kwenye ubao.
  • Bodi inakuja na bandari ya kebo ya USB ambayo hutumiwa kuunganisha na kuhamisha nambari kutoka kwa kompyuta kwenda kwa bodi.
  • Nguvu ya umeme ya DC imeunganishwa na bodi ambayo hutumiwa kuiwezesha bodi.
  • Bodi inakuja na mdhibiti wa voltage mbili yaani 5V na 3.3V ambayo hutoa kubadilika kudhibiti voltage kulingana na mahitaji.
  • Kuna kitufe cha kuweka upya na bandari 4 ya serial inayoitwa USART ambayo hutoa kasi ya juu ya kuanzisha mawasiliano.
  • Kuna njia tatu za kuiwezesha bodi. Unaweza kutumia kebo ya USB kuwezesha bodi na kuhamisha nambari kwenye bodi au unaweza kuitumia kwa kutumia Vin ya bodi au kupitia Power jack au batter.

Ufafanuzi

Kujifunga

Maelezo ya Pini

  • 5V & 3.3V ==> Pini hii hutumiwa kutoa voltage iliyosimamiwa kwa pato karibu na 5V. Ugavi huu wa umeme unaodhibitiwa humpa mtawala na vifaa vingine kwenye ubao. Inaweza kupatikana kutoka kwa Vin ya bodi au kebo ya USB au usambazaji mwingine wa voltage wa 5V. Wakati kanuni nyingine ya voltage hutolewa na pini ya 3.3V. Nguvu ya juu inayoweza kuteka ni 50mA.
  • GND ==> Kuna pini 5 za ardhini zinazopatikana kwenye ubao ambayo inafanya kuwa muhimu wakati pini zaidi ya moja zinahitajika kwa mradi huo.
  • Weka upya ==> Pini hii hutumiwa kuweka upya bodi. Kuweka pini hii kuwa LOW kutaweka upya bodi.
  • Vin ==> Ni voltage ya pembejeo inayotolewa kwa bodi ambayo ni kati ya 7V hadi 20V. Voltage inayotolewa na jack ya nguvu inaweza kupatikana kupitia pini hii. Walakini, voltage ya pato kupitia pini hii kwenye ubao itawekwa kiatomati hadi 5V.
  • Mawasiliano ya Serial ==> RXD na TXD ni pini za serial zinazotumiwa kusambaza na kupokea data ya serial yaani Rx inawakilisha upelekaji wa data wakati Tx ilitumia kupokea data. Kuna mchanganyiko nne wa pini hizi za serial hutumiwa ambapo Serail 0 ina RX (0) na TX (1), Serial 1 ina TX (18) na RX (19), Serial 2 ina TX (16) na RX (17), na Serial 3 ina TX (14) na RX (15).
  • Usumbufu wa nje ==> Pini sita hutumiwa kuunda usumbufu wa nje, yaani, kukatiza 0 (0), kukatiza 1 (3), kukatiza 2 (21), kukatiza 3 (20), kukatiza 4 (19), kukatiza 5 (18). Pini hizi hutengeneza usumbufu kwa njia kadhaa, yaani, kutoa thamani ya chini, kupanda au kushuka au kubadilisha thamani kwa pini za kukatiza.
  • LED ==> Bodi hii inakuja na LED iliyojengwa ndani iliyounganishwa na pini ya dijiti 13. Thamani ya juu kwenye pini hii itawasha LED na thamani ya chini itaizima.
  • AREF ==> AREF inasimama kwa Voltage Analog Reference ambayo ni voltage ya kumbukumbu ya pembejeo za analog.
  • Pini za Analog ==> Kuna pini 16 za analog zilizoingizwa kwenye ubao ulioitwa A0 hadi A15. Ni muhimu kutambua kuwa pini hizi zote za analog zinaweza kutumika kama pini za I / O za dijiti. Kila pini ya analogi inakuja na azimio la 10-bit. Pini hizi zinaweza kupima kutoka ardhini hadi 5V. Walakini, thamani ya juu inaweza kubadilishwa kwa kutumia kazi ya AREF na AnalogReference ().
  • Pini mbili 20 na 21 inasaidia mawasiliano ya I2C ambapo 20 inawakilisha SDA (Serial Data Line inayotumiwa sana kushika data) na 21 inawakilisha SCL (Serial Clock Line haswa inayotumiwa kutoa usawazishaji wa data kati ya vifaa)
  • Mawasiliano ya SPI ==> SPI inasimama kwa Maingiliano ya Pembeni ya Serial yanayotumika kwa usafirishaji wa data kati ya mtawala na vifaa vingine vya pembezoni. Pini nne yaani 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) hutumiwa kwa mawasiliano ya SPI.

Hatua ya 5: Arduino IDE

Hapa nadhani tayari umesakinisha Arduino IDE.

1. Pakua maktaba inayohitajika iliyopewa hapa chini

TinyGPS lib

2. Baada ya kuipakua. Chomoa na uihamishe kwenda kwenye folda C: Watumiaji… / Nyaraka / maktaba ya Arduino hakikisha kuwa hakuna (-).

3. Fungua Arduino IDE na unakili nambari kutoka sehemu ya programu.

4. Kisha chagua bodi kwa hiyo nenda kwenye Zana ==> Bodi ==> chagua bodi hapa tunatumia Arduino Mega 2560

5. Baada ya kuchagua bodi chagua bandari kwa hiyo nenda kwenye Zana ==> Bandari

6. Baada ya kuchagua bodi na bandari bonyeza pakia.

7. Mara baada ya nambari kupakiwa wazi ya serial terminal kuona pato.

Hatua ya 6: Uunganisho

Arduino MEGA ==> GPS ya NEO-6M

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

Unaweza pia kutumia Serial2 au Serial3 badala ya Serial1

Ilipendekeza: