Mündəricat:

GPS Modulu (Neo-6M) ilə Arduino Mega Arayüzü: 8 Addım
GPS Modulu (Neo-6M) ilə Arduino Mega Arayüzü: 8 Addım

Video: GPS Modulu (Neo-6M) ilə Arduino Mega Arayüzü: 8 Addım

Video: GPS Modulu (Neo-6M) ilə Arduino Mega Arayüzü: 8 Addım
Video: LDmicro 18: Ublox NEO-6M GPS Alarm Clock (Microcontroller PLC Ladder Programming with LDmicro) 2024, Noyabr
Anonim
GPS Modulu ilə Arduino Mega Arayüzü (Neo-6M)
GPS Modulu ilə Arduino Mega Arayüzü (Neo-6M)

Bu layihədə Arduino Mega ilə GPS modulunun (Neo-6M) necə əlaqələndiriləcəyini göstərdim. TinyGPS kitabxanası Boylam və Enlem məlumatlarını göstərmək üçün istifadə olunur və TinyGPS ++, Serial monitorda Enlem, Boylam, Yüksəklik, Sürət və peyklərin sayını göstərmək üçün istifadə olunur.

Addım 1: Lazım olan komponentlər

Avadanlıq

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

Proqram təminatı

Arduino IDE

Layihənin ümumi dəyəri 60 dollardır

Addım 2: GPS haqqında məlumat

GPS nədir

Qlobal Konumlandırma Sistemi (GPS) ən azı 24 peykdən ibarət peyk əsaslı naviqasiya sistemidir. GPS istənilən hava şəraitində, dünyanın istənilən yerində, 24 saat, heç bir abunə haqqı və ya quraşdırma haqqı olmadan işləyir.

GPS necə işləyir

GPS peykləri dəqiq bir orbitdə gündə iki dəfə Yer kürəsini dolaşır. Hər bir peyk özünəməxsus bir siqnal və orbital parametrləri ötürür ki, bu da GPS cihazlarının peykin yerini dəqiq müəyyənləşdirməsinə və hesablamasına imkan verir. GPS qəbulediciləri istifadəçinin dəqiq yerini hesablamaq üçün bu məlumat və trilaterasiyadan istifadə edir. Əslində, GPS qəbuledicisi hər bir peykə olan məsafəni ötürülmüş bir siqnalın alınması üçün lazım olan müddətə görə ölçür. Daha bir neçə peykdən məsafə ölçmələri ilə alıcı istifadəçinin mövqeyini təyin edə və göstərə bilər.

2-D mövqeyinizi (enlik və uzunluq) və hərəkətinizi hesablamaq üçün GPS qəbuledicisi ən azı 3 peykin siqnalına bağlanmalıdır. 4 və ya daha çox peyk göründüyündə, alıcı 3-D mövqeyinizi (enlik, uzunluq və yüksəklik) təyin edə bilər. Ümumiyyətlə, GPS qəbuledicisi 8 və ya daha çox peyki izləyəcək, lakin bu, günün vaxtından və yer üzündə olduğunuz yerdən asılıdır. Vəziyyətiniz müəyyən edildikdən sonra GPS vahidi digər məlumatları hesablaya bilər

  • Sürət
  • Rulman
  • İzləyin
  • Gəzinti məsafəsi
  • Hedefə qədər olan məsafə

Siqnal nədir

GPS peykləri ən azı 2 aşağı güclü radio siqnalını ötürür. Siqnallar görmə xətti ilə hərəkət edir, yəni buludlardan, şüşədən və plastikdən keçəcəklər, lakin binalar və dağlar kimi ən möhkəm cisimlərdən keçməyəcəklər. Ancaq müasir alıcılar daha həssasdır və ümumiyyətlə evləri izləyə bilir. GPS siqnalı 3 fərqli məlumat növündən ibarətdir

Saxta təsadüfi kod

Bu şəxsiyyət vəsiqəsidir hansı peykin məlumat ötürdüyünü təyin edən kod. Cihazınızın peyk səhifəsində hansı peyklərdən siqnal aldığınızı görə bilərsiniz.

Ephemeris məlumatları

Ephemeris məlumatları bir peykin mövqeyini təyin etmək üçün lazımdır və bir peykin sağlamlığı, cari tarix və saat haqqında əhəmiyyətli məlumatlar verir.

Almanax məlumatları

Almanax məlumatları, hər bir GPS peykinin gün ərzində istənilən vaxt olması lazım olan GPS qəbuledicisinə xəbər verir və həmin peyk və sistemdəki digər peyklər üçün orbital məlumatları göstərir.

Addım 3: Neo-6M GPS Modulu

NEO-6M GPS modulu aşağıdakı şəkildə göstərilmişdir. Xarici bir anten ilə gəlir və baş pinləri ilə gəlmir. Buna görə onu lehimləməlisiniz.

NEO-6M GPS Moduluna Baxış

NEO-6M GPS çipi

Modulun ürəyi u-bloxdan gələn NEO-6M GPS çipidir. 50 kanalda 22 -ə qədər peyk izləyə bilər və yalnız 45mA təchizat cərəyanı istehlak edərkən, sənayenin ən yüksək həssaslıq səviyyəsinə --161 dB izləmə əldə edə bilər. U-blox 6 yerləşdirmə mühərriki eyni zamanda 1 saniyədən az bir vaxtda ilk düzəlişə (TTFF) malikdir. Çipin təmin etdiyi ən yaxşı xüsusiyyətlərdən biri də Power Save Mode (PSM) -dir. Alıcının hissələrini seçərək AÇMA və SÖKMƏ edərək sistemin enerji istehlakını azaltmağa imkan verir. Bu, modulun enerji istehlakını yalnız 11mA -ya qədər azaldır və GPS qol saatı kimi enerjiyə həssas tətbiqlər üçün əlverişlidir. NEO-6M GPS çipinin zəruri məlumat pinləri 0,1 düymlük başlıqlara bölünür. Bura UART üzərindən bir mikro nəzarətçi ilə əlaqə qurmaq üçün lazım olan pinlər daxildir.

Qeyd:- Modul, 9600 standart baud ilə 4800bps-dən 230400bps-ə qədər olan ötürmə sürətini dəstəkləyir.

Mövqe Düzəltmə LED Göstəricisi

NEO-6M GPS Modulunda Mövqe Düzəltmə vəziyyətini göstərən bir LED var. Hansı vəziyyətdə olduğundan asılı olaraq müxtəlif dərəcələrdə yanıb -sönəcək

  1. Yanıp sönmə ==> peykləri axtardığını bildirir
  2. Hər 1 saniyədə bir yanıb -sönün - Mövqe Düzəlişinin tapıldığını bildirir

3.3V LDO tənzimləyicisi

NEO-6M çipinin işləmə gərginliyi 2.7 ilə 3.6 V arasındadır. Lakin, modul MICREL-dən MIC5205 ultra aşağı buraxılan 3V3 tənzimləyicisi ilə gəlir. Məntiq sancaqları da 5 volt davamlıdır, buna görə heç bir məntiq səviyyəsi çeviricisi istifadə etmədən asanlıqla Arduino və ya hər hansı bir 5V məntiq mikro nəzarətçisinə qoşa bilərik.

Batareya və EEPROM

Modul, HK24C32 iki telli seriyalı EEPROM ilə təchiz edilmişdir. 4KB ölçüsündədir və I2C vasitəsilə NEO-6M çipinə qoşulur. Modulda superkondansatör rolunu oynayan təkrar doldurulan düymə batareyası da var.

Batareya ilə birlikdə bir EEPROM, batareyanı dəstəkləyən RAM (BBR) saxlamağa kömək edir. BBR, saat məlumatlarını, son mövqe məlumatlarını (GNSS orbit məlumatları) və modul konfiqurasiyasını ehtiva edir. Ancaq daimi məlumat saxlama üçün nəzərdə tutulmayıb.

Batareya saatı və son mövqeyi saxladığı üçün ilk düzəltmə vaxtı (TTFF) 1 saniyəyə qədər əhəmiyyətli dərəcədə azalır. Bu, daha sürətli mövqe kilidlərinə imkan verir.

Batareya olmadan GPS həmişə soyuqdan başlayır, buna görə ilkin GPS kilidi daha çox vaxt aparır. Güc tətbiq edildikdə batareya avtomatik olaraq doldurulur və iki həftəyə qədər enerjisiz qalır.

Pinout

GND, Toprak Pinidir və Arduino üzərindəki GND pininə bağlanmalıdır

TxD (Verici) pin seriyalı rabitə üçün istifadə olunur

RxD (Alıcı) pin seriyalı ünsiyyət üçün istifadə olunur

VCC modul üçün enerji verir. Arduino üzərindəki 5V pininə birbaşa qoşa bilərsiniz

Addım 4: Arduino Mega

Arduino, istifadəsi asan olan hardware və proqram təminatına əsaslanan açıq mənbəli elektronika platformasıdır. Arduino lövhələri girişləri oxuya bilir - sensora işıq, düyməyə barmaq və ya Twitter mesajı - və onu çıxışa çevirə bilər - motoru işə salır, LED yandırır, internetdə nəsə nəşr edir. Lövhədəki mikro nəzarətçiyə bir sıra təlimatlar göndərərək nə edəcəyinizi lövhənizə deyə bilərsiniz. Bunu etmək üçün Arduino proqramlaşdırma dilini (Kablolama əsasında) və İşlənməyə əsaslanan Arduino Proqramını (IDE) istifadə edirsiniz.

Arduino Mega

Arduino Mega 2560, Atmega2560 -a əsaslanan Mikrokontroller lövhəsidir.

  • Lövhədə bu cihazı bənzərsiz edən və digərlərindən fərqləndirən 54 rəqəmsal G/Ç pimi və 16 analoq pin mövcuddur. 54 rəqəmsal G/Ç -dan 15 -i PWM (nəbz genişliyi modulyasiyası) üçün istifadə olunur.
  • Lövhəyə 16MHz tezlikdə bir kristal osilator əlavə edilmişdir.
  • Kart, kompüterdən lövhəyə kodu bağlamaq və ötürmək üçün istifadə olunan USB kabel portu ilə gəlir.
  • DC güc jakı, lövhəni gücləndirmək üçün istifadə olunan lövhə ilə birləşdirilmişdir.
  • Lövhə, gerilimi tələblərə uyğun olaraq tənzimləmək üçün elastikliyi təmin edən iki gərginlik tənzimləyicisi ilə gəlir, yəni 5V və 3.3V.
  • Yenidən qurma düyməsi və ünsiyyət qurmaq üçün maksimum sürət istehsal edən USART adlı 4 hardware serial portu var.
  • Lövhəni gücləndirməyin üç yolu var. Kartı gücləndirmək və ya kodu lövhəyə ötürmək üçün ya USB kabelindən istifadə edə bilərsiniz, ya da lövhənin Vinindən istifadə edərək və ya Power jakı və ya meyilli vasitəsi ilə işə sala bilərsiniz.

Xüsusiyyətlər

Pinout

Pin Təsviri

  • 5V & 3.3V ==> Bu pin 5V ətrafında tənzimlənən gərginliyi təmin etmək üçün istifadə olunur. Bu tənzimlənən enerji təchizatı idarəedicini və lövhədəki digər komponentləri gücləndirir. Lövhənin Vinindən və ya USB kabelindən və ya başqa bir tənzimlənən 5V gərginlik təchizatından əldə edilə bilər. Başqa bir gərginlik tənzimlənməsi 3.3V pinlə təmin edilir. Çəkə biləcəyi maksimum güc 50 mA -dır.
  • GND ==> Layihə üçün birdən çox yer sancağı lazım olduqda lövhədə mövcud olan 5 torpaq sancağı var.
  • Sıfırla ==> Bu pin lövhəni sıfırlamaq üçün istifadə olunur. Bu pinin LOW olaraq təyin edilməsi lövhəni sıfırlayacaq.
  • Vin ==> 7V ilə 20V arasında dəyişən lövhəyə verilən giriş gərginliyidir. Güc jakının verdiyi gərginliyə bu pin vasitəsilə daxil olmaq mümkündür. Bununla birlikdə, bu pin vasitəsilə lövhəyə gedən çıxış gərginliyi avtomatik olaraq 5V -ə qədər qurulacaq.
  • Serial Rabitə ==> RXD və TXD, serial məlumatların ötürülməsi və alınması üçün istifadə olunan serial pinləridir, yəni Rx məlumatların qəbulu üçün istifadə edildiyi halda, Rx məlumatların ötürülməsini təmsil edir. Serail 0 -da RX (0) və TX (1), Serial 1 -də TX (18) və RX (19), Serial 2 -də TX (16) və RX (17) olduğu yerlərdə istifadə olunan bu seriyalı pinlərin dörd birləşməsi var, və Serial 3 TX (14) və RX (15) ehtiva edir.
  • Xarici fasilələr ==> Altı pin xarici kəsilmələr yaratmaq üçün istifadə olunur: 0 (0), 1 (3), 2 (21), 3 (20), 4 (19), 5 (18) ara. Bu sancaqlar bir neçə yolla fasilələr yaradır, yəni LOW dəyər təmin etmək, ucalmaq və ya düşmək və ya kəsmə pinlərinə dəyər dəyişdirmək.
  • LED ==> Bu lövhədə rəqəmsal pin 13-ə qoşulmuş quraşdırılmış LED var.
  • AREF ==> AREF, analoq girişlər üçün istinad gərginliyi olan Analog Referans Gərginliyi deməkdir.
  • Analog Pins ==> A0 -dan A15 -ə qədər etiketli lövhədə 16 analoq pin var. Qeyd etmək vacibdir ki, bütün bu analog pinlər rəqəmsal I/O pinləri kimi istifadə edilə bilər. Hər bir analog pin 10 bitlik qətnamə ilə gəlir. Bu pinlər yerdən 5V -ə qədər ölçə bilir. Bununla birlikdə, yuxarı dəyər AREF və analogReference () funksiyasından istifadə etməklə dəyişdirilə bilər.
  • I2C ==> İki sancaq 20 və 21, 20 SDA (Serial Data Line əsasən məlumatların saxlanılması üçün istifadə olunur) və 21 SCL (Serial Clock Line əsasən cihazlar arasında məlumat sinxronizasiyasını təmin etmək üçün istifadə olunur) təmsil I2C ünsiyyətini dəstəkləyir.
  • SPI Əlaqəsi ==> SPI, nəzarətçi ilə digər periferik komponentlər arasında məlumatların ötürülməsi üçün istifadə olunan Serial Periferik İnterfeys deməkdir. SPI ünsiyyəti üçün dörd pin, yəni 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) istifadə olunur.

Addım 5: Arduino IDE

Burada güman edirəm ki, artıq Arduino IDE quraşdırmısınız.

1. Aşağıda lazım olan kitabxananı yükləyin

TinyGPS lib

2. Yüklədikdən sonra. Bunu çıxarın və C: / İstifadəçilər \… / Sənədlər / Arduino / kitabxanaları qovluğuna köçürün (-) olmadığından əmin olun.

3. Arduino IDE -ni açın və kodu proqram bölməsindən kopyalayın.

4. Sonra bunun üçün lövhəni seçin Alətlər ==> Kartlar ==> Arduino Mega 2560 istifadə etdiyimiz lövhəni seçin

5. Lövhəni seçdikdən sonra bunun üçün Alətlər ==> Limanlar bölməsinə keçin

6. Lövhə və portu seçdikdən sonra yükləmə düyməsini basın.

7. Kod yükləndikdən sonra çıxışı görmək üçün seriya terminalını açın.

Addım 6: Bağlantılar

Arduino MEGA ==> NEO-6M GPS

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

Serial1 əvəzinə Serial2 və ya Serial3 istifadə edə bilərsiniz

Tövsiyə: