Агуулгын хүснэгт:

GPS модултай Arduino Mega интерфэйс (Neo-6M): 8 алхам
GPS модултай Arduino Mega интерфэйс (Neo-6M): 8 алхам

Видео: GPS модултай Arduino Mega интерфэйс (Neo-6M): 8 алхам

Видео: GPS модултай Arduino Mega интерфэйс (Neo-6M): 8 алхам
Видео: NEO 6m GPS модуль подключение к Ардуино. Ардуино проекты. 2024, Оны зургадугаар сарын
Anonim
GPS модультай Arduino Mega интерфэйс (Neo-6M)
GPS модультай Arduino Mega интерфэйс (Neo-6M)

Энэ төсөлд би GPS модулийг (Neo-6M) Arduino Mega-тай хэрхэн холбохыг харуулсан. TinyGPS номын сан нь Уртраг ба Өргөргийн өгөгдлийг харуулахад ашиглагддаг бөгөөд TinyGPS ++ нь Өргөрөг, Уртраг, Өндөр, Хурд, хиймэл дагуулын тоог цуваа дэлгэц дээр харуулахад ашиглагддаг.

Алхам 1: Шаардлагатай бүрэлдэхүүн хэсгүүд

Техник хангамж

  • Arduino Mega ==> 30 доллар
  • Neo-6M GPS модуль ==> 30 доллар

Програм хангамж

Arduino IDE

Төслийн нийт өртөг нь 60 доллар

Алхам 2: GPS -ийн талаархи мэдээлэл

GPS гэж юу вэ

Global Positioning System (GPS) нь хамгийн багадаа 24 хиймэл дагуулаас бүрдсэн хиймэл дагуул дээр суурилсан навигацийн систем юм. GPS нь цаг агаарын ямар ч нөхцөлд, дэлхийн хаана ч хамаагүй, 24 цагийн турш, захиалгын төлбөр, тохируулгын төлбөргүйгээр ажилладаг.

GPS хэрхэн ажилладаг

GPS -ийн хиймэл дагуулууд дэлхийг тойрох тойрог замд өдөрт хоёр удаа тойрдог. Хиймэл дагуул бүр өвөрмөц дохио, тойрог замын параметрүүдийг дамжуулдаг бөгөөд энэ нь GPS төхөөрөмжүүдийг хиймэл дагуулын байршлыг тайлах, тооцоолох боломжийг олгодог. GPS хүлээн авагч нь энэхүү мэдээлэл, трилатерацийг ашиглан хэрэглэгчийн яг байршлыг тооцдог. Үндсэндээ GPS хүлээн авагч нь хиймэл дагуул бүрт хүрэх зайг дамжуулсан дохиог хүлээн авах хугацаанд хэмждэг. Цөөн хэдэн хиймэл дагуулаас зайны хэмжилт хийснээр хүлээн авагч нь хэрэглэгчийн байрлалыг тодорхойлж харуулах боломжтой.

2 хэмжээст байрлал (өргөрөг, уртраг) болон хөдөлгөөнийг хянахын тулд GPS хүлээн авагчийг дор хаяж 3 хиймэл дагуулын дохиогоор түгжих ёстой. 4 ба түүнээс дээш хиймэл дагуулыг харж байгаа тохиолдолд хүлээн авагч нь таны 3 хэмжээст байрлалыг (өргөрөг, уртраг, өндөр) тодорхойлох боломжтой. Ерөнхийдөө GPS хүлээн авагч нь 8 ба түүнээс дээш хиймэл дагуулыг хянах боломжтой боловч энэ нь өдрийн цаг, дэлхийн хаана байгаагаас хамаарна. Таны байр суурийг тодорхойлсны дараа GPS нэгж нь бусад мэдээллийг тооцоолох боломжтой

  • Хурд
  • Холхивч
  • Мөр
  • Аялалын зай
  • Очих газар хүртэлх зай

Дохио гэж юу вэ

GPS хиймэл дагуул нь хамгийн багадаа 2 бага чадалтай радио дохио дамжуулдаг. Дохио нь харааны шугамаар дамждаг бөгөөд энэ нь үүл, шил, хуванцараар дамжин өнгөрөх боловч барилга байгууламж, уул гэх мэт ихэнх хатуу биетээр дамждаггүй. Гэсэн хэдий ч орчин үеийн хүлээн авагчид илүү мэдрэмтгий байдаг бөгөөд ихэвчлэн байшингуудыг хянах боломжтой байдаг. GPS дохио нь 3 төрлийн мэдээллийг агуулдаг

Хуурамч санамсаргүй код

Энэ бол ID. мэдээлэл нь ямар хиймэл дагуул дамжуулж байгааг тодорхойлдог код юм. Та ямар хиймэл дагуулаас дохио хүлээн авч байгаагаа төхөөрөмжийнхөө хиймэл дагуулын хуудаснаас харах боломжтой.

Эфемерисийн өгөгдөл

Эпемерисийн өгөгдөл нь хиймэл дагуулын байрлалыг тодорхойлоход шаардлагатай бөгөөд хиймэл дагуулын эрүүл мэнд, одоогийн огноо, цагийн талаар чухал мэдээлэл өгдөг.

Германы мэдээлэл

Алманах өгөгдөл нь GPS хүлээн авагчид өдрийн турш хэзээ ч GPS хиймэл дагуул хаана байх ёстойг хэлж, тухайн хиймэл дагуул болон системийн бусад хиймэл дагуулын тойрог замын мэдээллийг харуулдаг.

Алхам 3: Neo-6M GPS модуль

NEO-6M GPS модулийг доорх зурагт үзүүлэв. Энэ нь гаднах антентай ирдэг бөгөөд толгойн тээглүүртэй байдаггүй. Тиймээс та үүнийг гагнах хэрэгтэй болно.

NEO-6M GPS модулийн тойм

NEO-6M GPS чип

Модулийн зүрх нь u-blox-ийн NEO-6M GPS чип юм. Энэ нь 50 суваг дээрх 22 хиймэл дагуулыг хянах боломжтой бөгөөд салбарын хамгийн өндөр мэдрэмтгий байдлыг хангадаг --161 дБ хянах, зөвхөн 45мА тэжээлийн гүйдэл зарцуулдаг. U-blox 6 байршуулах хөдөлгүүр нь 1 секундын дотор Time-to-First-Fix (TTFF) -тэй. Чипийн өгдөг хамгийн сайн боломжуудын нэг бол Power Save Mode (PSM) юм. Энэ нь хүлээн авагчийн хэсгүүдийг сонгон асаах, унтраах замаар системийн эрчим хүчний хэрэглээг бууруулах боломжийг олгодог. Энэ нь модулийн эрчим хүчний хэрэглээг ердөө 11 мА хүртэл бууруулж, GPS -ийн бугуйн цаг гэх мэт цахилгаан мэдрэмтгий хэрэглээнд тохиромжтой. NEO-6M GPS чипийн шаардлагатай өгөгдлийн хавчуургуудыг 0.1 инчийн толгойн толгой болгон хуваасан. Үүнд UART -ээр дамжуулан микроконтроллертой холбогдоход шаардлагатай зүү орно.

Тэмдэглэл:- Модуль нь 4800bps-аас 230400bps хүртэлх дамжуулах хурдыг дэмждэг бөгөөд өгөгдмөл 9600 байна.

Байрлалыг засах LED индикатор

NEO-6M GPS модуль дээр Position Fix статусыг харуулсан LED байдаг. Энэ нь ямар байдалд байгаагаас хамааран янз бүрийн хэмжээгээр анивчих болно

  1. Нүдээ анивчихгүй ==> гэдэг нь хиймэл дагуул хайж байгаа гэсэн үг юм
  2. 1 секунд тутамд анивчих - энэ нь албан тушаалын засварыг олсон гэсэн үг юм

3.3V LDO зохицуулагч

NEO-6M чипний ажиллах хүчдэл 2.7-аас 3.6 В хүртэл байна. Гэсэн хэдий ч модуль нь MICREL-ийн MIC5205 хэт бага уналт 3V3 зохицуулагчтай ирдэг. Логик тээглүүр нь 5 вольт тэсвэртэй тул бид үүнийг ямар ч логик түвшний хөрвүүлэгч ашиглахгүйгээр Arduino эсвэл 5V логик микроконтроллерт хялбархан холбох боломжтой.

Батерей ба EEPROM

Модуль нь HK24C32 хоёр утастай EEPROM төхөөрөмжөөр тоноглогдсон. Энэ нь 4KB хэмжээтэй бөгөөд I2C-ээр NEO-6M чиптэй холбогддог бөгөөд модуль нь супер конденсаторын үүргийг гүйцэтгэдэг цэнэглэдэг товчлууртай батерейтай.

EEPROM нь батерейтай хамт батерейгаар дэмжигдсэн RAM (BBR) хадгалахад тусалдаг. BBR нь цагийн мэдээлэл, хамгийн сүүлийн байрлалын мэдээлэл (GNSS тойрог замын өгөгдөл) болон модулийн тохиргоог агуулдаг. Гэхдээ энэ нь өгөгдлийг байнгын хадгалахад зориулагдаагүй болно.

Батерей нь цаг болон сүүлийн байрлалыг хадгалж үлддэг тул эхлээд засах хугацаа (TTFF) нь 1 сек хүртэл буурдаг. Энэ нь байрлалыг илүү хурдан түгжих боломжийг олгодог.

Батерейгүйгээр GPS үргэлж хүйтэн асдаг тул анхны GPS түгжээ нь илүү их цаг хугацаа шаарддаг. Батерейг цэнэглэж байх үед автоматаар цэнэглэж, өгөгдлийг хоёр долоо хоног хүртэл тэжээлгүй байлгадаг.

Pinout

GND бол Ground Pin бөгөөд Arduino дээрх GND зүүтэй холбогдох шаардлагатай

TxD (дамжуулагч) зүү нь цуваа холболт хийхэд ашиглагддаг

RxD (Хүлээн авагч) зүү нь цуваа холболт хийхэд ашиглагддаг

VCC нь модульд тэжээл өгдөг. Та үүнийг Arduino дээрх 5V зүү рүү шууд холбож болно

Алхам 4: Arduino Mega

Arduino бол ашиглахад хялбар техник хангамж, програм хангамж дээр суурилсан нээлттэй эхийн электроникийн платформ юм. Arduino самбар нь мэдрэгч дээрх гэрэл, товчлуур дээрх хуруу эсвэл твиттер мессежийг оруулан уншиж, гаралт болгон хувиргах - моторыг идэвхжүүлэх, LED -ийг асаах, онлайнаар ямар нэгэн зүйл нийтлэх боломжтой. Та самбар дээрх микроконтроллер руу зааварчилгаа илгээж юу хийхээ самбартаа хэлж болно. Үүнийг хийхийн тулд та Arduino програмчлалын хэлийг (утас холболт дээр суурилсан), мөн боловсруулалтад суурилсан Arduino програм хангамжийг (IDE) ашигладаг.

Ардуино мега

Arduino Mega 2560 бол Atmega2560 дээр суурилсан микроконтроллерийн самбар юм.

  • Самбар дээр 54 дижитал I/O зүү, 16 аналог тээглүүр байдаг бөгөөд энэ төхөөрөмжийг өвөрмөц болгож, бусдаас ялгаруулдаг. 54 дижитал I/O -ийн 15 -ийг PWM (импульсийн өргөн модуляц) -д ашигладаг.
  • 16MHz давтамжтай болор осцилляторыг самбар дээр нэмж оруулсан болно.
  • Уг самбар нь компьютерээс самбар руу код холбох, дамжуулах зориулалттай USB кабелийн порттой ирдэг.
  • DC цахилгаан залгуур нь самбарыг тэжээх зориулалттай самбартай холбогддог.
  • Энэхүү самбар нь 5V ба 3.3V гэсэн хоёр хүчдэлийн зохицуулагчтай бөгөөд шаардлагын дагуу хүчдэлийг зохицуулах уян хатан байдлыг хангадаг.
  • Дахин тохируулах товчлуур болон 4 тоног төхөөрөмжийн цуваа порт байдаг бөгөөд харилцаа холбоог тохируулах хамгийн дээд хурдыг гаргадаг.
  • Самбарыг тэжээх гурван арга бий. Та USB кабель ашиглан самбарыг асааж, кодыг самбар руу шилжүүлэх боломжтой, эсвэл Vin хавтанг ашиглан эсвэл Power jack эсвэл batter ашиглан асааж болно.

Үзүүлэлтүүд

Pinout

Pin тодорхойлолт

  • 5V & 3.3V ==> Энэхүү зүү нь 5V орчимд гаралтын зохицуулалттай хүчдэлийг хангахад хэрэглэгддэг. Энэхүү зохицуулалттай цахилгаан хангамж нь хянагч болон самбар дээрх бусад бүрэлдэхүүн хэсгүүдийг идэвхжүүлдэг. Үүнийг Вин хавтан эсвэл USB кабель эсвэл өөр 5V хүчдэлийн тэжээлээс авах боломжтой. Өөр нэг хүчдэлийн зохицуулалтыг 3.3V зүүгээр хангадаг. Түүний татах хамгийн их хүч нь 50 мА байна.
  • GND ==> Тавцан дээр 5 газардуулгатай байдаг бөгөөд энэ нь төсөлд нэгээс олон газардуулгатай байх шаардлагатай үед ашиглагддаг.
  • Дахин тохируулах ==> Энэ зүү нь самбарыг дахин тохируулахад хэрэглэгддэг. Энэ зүүг LOW болгож тохируулснаар самбарыг дахин тохируулах болно.
  • Vin ==> Энэ нь 7V -аас 20V хооронд хэлбэлздэг самбар дээр нийлүүлсэн оролтын хүчдэл юм. Цахилгаан залгуураар хангагдсан хүчдэлийг энэ зүүгээр дамжуулан авах боломжтой. Гэсэн хэдий ч энэ зүүгээр дамжуулан самбар руу гарах гаралтын хүчдэл автоматаар 5V хүртэл тохируулагдах болно.
  • Цуваа холбоо ==> RXD ба TXD нь цуваа өгөгдөл дамжуулах, хүлээн авахад хэрэглэгддэг цуваа зүү юм, өөрөөр хэлбэл Rx нь өгөгдлийг хүлээн авахад ашигладаг бол Tx нь өгөгдөл дамжуулалтыг илэрхийлдэг. Serail 0 нь RX (0) ба TX (1), 1 -р цувралд TX (18) ба RX (19), 2 -р цувралд TX (16) ба RX (17) агуулсан тохиолдолд эдгээр цуваа тээглүүрийн дөрвөн хослолыг ашигладаг. болон Цуврал 3 нь TX (14) ба RX (15) агуулдаг.
  • Гадны тасалдал ==> Зургаан тээгчийг гадны тасалдал үүсгэхэд ашигладаг: 0 (0), 1 (3), 2 (21), 3 (20), 4 (19), 5 (18) тасалдал. Эдгээр тээглүүр нь тасалдлыг хэд хэдэн аргаар гаргадаг, өөрөөр хэлбэл LOW утгыг өгөх, ирмэг буурах эсвэл буурах эсвэл таслах гол руу үнэ цэнийг өөрчлөх.
  • LED ==> Энэхүү самбар нь дижитал 13-т холбогдсон LED-тэй хамт ирдэг. Энэ зүү дээрх өндөр утга нь LED-ийг асааж, LOW-ийг унтраах болно.
  • AREF ==> AREF нь аналог оролтын лавлах хүчдэл болох аналог лавлагааны хүчдэл гэсэн үг юм.
  • Аналог тээглүүр ==> А0 -аас А15 гэсэн шошготой самбар дээр 16 аналог пин байдаг. Эдгээр бүх аналог тээглүүрийг дижитал I/O зүү болгон ашиглаж болохыг анхаарах нь чухал юм. Аналог зүү бүр 10 битийн нарийвчлалтай ирдэг. Эдгээр тээглүүрийг газраас 5V хүртэл хэмжих боломжтой. Гэхдээ дээд утгыг AREF болон analogReference () функцийг ашиглан өөрчилж болно.
  • I2C ==> Хоёр тээглүүр 20 ба 21 нь I2C холболтыг дэмждэг бөгөөд 20 нь SDA (өгөгдлийг хадгалахад ихэвчлэн ашиглагддаг сериал өгөгдлийн шугам), 21 нь SCL (төхөөрөмжүүдийн хооронд өгөгдөл синхрончлоход ашиглагддаг цуваа цаг шугам) юм.
  • SPI Харилцаа холбоо ==> SPI нь хянагч болон бусад дагалдах хэрэгслийн бүрэлдэхүүн хэсгүүдийн хооронд өгөгдөл дамжуулахад хэрэглэгддэг цуваа захын интерфэйсийг хэлнэ. SPI холболт хийхэд 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) гэсэн дөрвөн зүү ашигладаг.

Алхам 5: Arduino IDE

Эндээс та Arduino IDE -г аль хэдийн суулгасан гэж бодож байна.

1. Доор өгөгдсөн номын санг татаж авна уу

TinyGPS lib

2. Татаж авсны дараа. Үүнийг задалж C: / Users \… / Documents / Arduino / library руу аваачина (-) байхгүй байгаа эсэхийг шалгаарай.

3. Arduino IDE -ийг нээгээд програмын хэсгээс кодыг хуулна уу.

4. Дараа нь самбарыг сонгоно уу Tools ==> Самбарууд ==> энд Arduino Mega 2560 ашиглаж буй самбарыг сонгоно уу.

5. Удирдах зөвлөлийг сонгосны дараа Tools ==> Ports руу очно уу

6. Самбар болон порт сонгосны дараа байршуулах дээр дарна уу.

7. Кодыг байршуулсны дараа цуваа терминалыг нээж гаралтыг харах боломжтой.

Алхам 6: Холболтууд

Arduino MEGA ==> NEO-6M GPS

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

Та мөн Serial1 -ийн оронд Serial2 эсвэл Serial3 -ийг ашиглаж болно

Зөвлөмж болгож буй: