Isi kandungan:

Antaramuka Arduino Mega Dengan Modul GPS (Neo-6M): 8 Langkah
Antaramuka Arduino Mega Dengan Modul GPS (Neo-6M): 8 Langkah

Video: Antaramuka Arduino Mega Dengan Modul GPS (Neo-6M): 8 Langkah

Video: Antaramuka Arduino Mega Dengan Modul GPS (Neo-6M): 8 Langkah
Video: GPS Module with Arduino- Ublox NEO-6M 2024, Jun
Anonim
Antaramuka Arduino Mega Dengan Modul GPS (Neo-6M)
Antaramuka Arduino Mega Dengan Modul GPS (Neo-6M)

Dalam projek ini, saya telah menunjukkan bagaimana untuk menghubungkan modul GPS (Neo-6M) dengan Arduino Mega. Perpustakaan TinyGPS digunakan untuk memaparkan data Longitud dan Lintang dan TinyGPS ++ digunakan untuk memaparkan Latitud, Bujur, Ketinggian, Kecepatan dan bilangan satelit pada monitor bersiri.

Langkah 1: Komponen yang Diperlukan

Perkakasan

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

Perisian

Arduino IDE

Jumlah kos projek adalah $ 60

Langkah 2: Maklumat Mengenai GPS

Apa itu GPS

Sistem Penentududukan Global (GPS) adalah sistem navigasi berasaskan satelit yang terdiri daripada sekurang-kurangnya 24 satelit. GPS berfungsi dalam apa jua keadaan cuaca, di mana sahaja di dunia, 24 jam sehari, tanpa bayaran langganan atau caj persediaan.

Bagaimana GPS berfungsi

Satelit GPS mengelilingi Bumi dua kali sehari dalam orbit tepat. Setiap satelit menghantar isyarat unik dan parameter orbit yang membolehkan peranti GPS menyahkod dan mengira lokasi satelit yang tepat. Penerima GPS menggunakan maklumat dan trilaterasi ini untuk mengira lokasi tepat pengguna. Pada dasarnya, penerima GPS mengukur jarak ke setiap satelit dengan jumlah masa yang diperlukan untuk menerima isyarat yang dihantar. Dengan pengukuran jarak dari beberapa satelit lagi, penerima dapat menentukan kedudukan pengguna dan memaparkannya.

Untuk mengira kedudukan 2-D (garis lintang dan garis bujur) dan pergerakan trek anda, penerima GPS mesti dikunci pada isyarat sekurang-kurangnya 3 satelit. Dengan pandangan 4 atau lebih satelit, penerima dapat menentukan kedudukan 3-D anda (garis lintang, garis bujur dan ketinggian). Umumnya, penerima GPS akan mengesan 8 atau lebih satelit, tetapi itu bergantung pada waktu dan di mana anda berada di bumi. Setelah kedudukan anda ditentukan, unit GPS dapat mengira maklumat lain, seperti

  • Kepantasan
  • Galas
  • Jejak
  • Jauh perjalanan
  • Jarak ke destinasi

Apa itu isyarat

Satelit GPS menghantar sekurang-kurangnya 2 isyarat radio berkuasa rendah. Isyarat bergerak melalui garis penglihatan, yang bermaksud mereka akan melalui awan, kaca dan plastik tetapi tidak akan melalui kebanyakan objek padat, seperti bangunan dan gunung. Walau bagaimanapun, penerima moden lebih sensitif dan biasanya dapat menjejaki rumah. Isyarat GPS mengandungi 3 jenis maklumat

Kod pseudorandom

Ia adalah I. D. kod yang mengenal pasti satelit mana yang menghantar maklumat. Anda dapat melihat satelit dari mana anda mendapat isyarat dari halaman satelit peranti anda.

Data Ephemeris

Data Ephemeris diperlukan untuk menentukan kedudukan satelit dan memberikan maklumat penting mengenai kesihatan satelit, tarikh dan waktu terkini.

Data almanak

Data Almanac memberitahu penerima GPS di mana setiap satelit GPS harus berada pada bila-bila masa sepanjang hari dan menunjukkan maklumat orbit untuk satelit tersebut dan setiap satelit lain dalam sistem.

Langkah 3: Modul GPS Neo-6M

Modul GPS NEO-6M ditunjukkan dalam gambar di bawah. Ia dilengkapi dengan antena luaran dan tidak dilengkapi dengan pin header. Oleh itu, anda perlu menyelesaikannya.

Gambaran Keseluruhan Modul GPS NEO-6M

Cip GPS NEO-6M

Inti modul adalah cip GPS NEO-6M dari u-blox. Ia dapat mengesan hingga 22 satelit pada 50 saluran dan mencapai tahap kepekaan tertinggi industri iaitu -161 dB, sementara hanya menggunakan arus bekalan 45mA. Enjin kedudukan u-blox 6 juga mempunyai Time-To-First-Fix (TTFF) di bawah 1 saat. Salah satu ciri terbaik yang disediakan cip adalah Power Save Mode (PSM). Ini memungkinkan pengurangan penggunaan kuasa sistem dengan menukar bahagian penerima secara ON dan OFF. Ini secara dramatik mengurangkan penggunaan kuasa modul kepada hanya 11mA menjadikannya sesuai untuk aplikasi sensitif kuasa seperti jam tangan GPS. Pin data yang diperlukan dari cip GPS NEO-6M dipecahkan kepada tajuk 0.1 ″. Ini termasuk pin yang diperlukan untuk komunikasi dengan mikrokontroler melalui UART.

Catatan: - Modul menyokong kadar baud dari 4800bps hingga 230400bps dengan baud lalai 9600.

Penunjuk LED Memperbaiki Kedudukan

Terdapat LED pada Modul GPS NEO-6M yang menunjukkan status Position Fix. Ia akan berkelip pada pelbagai kadar bergantung pada keadaannya

  1. Tidak Berkedip ==> bermaksud Ia sedang mencari satelit
  2. Berkedip setiap 1s - bermaksud Posisi Fix dijumpai

Pengatur 3.3V LDO

Voltan operasi cip NEO-6M adalah dari 2.7 hingga 3.6V. Tetapi, modul ini dilengkapi dengan pengatur putaran 3V3 MIC5205 ultra-rendah dari MICREL. Pin logik juga bertoleransi 5 volt, jadi kami dapat menghubungkannya dengan mudah ke Arduino atau mikrokontroler logik 5V tanpa menggunakan penukar tahap logik.

Bateri & EEPROM

Modul ini dilengkapi dengan EKROM bersiri dua wayar HK24C32. Ia berukuran 4KB dan disambungkan ke cip NEO-6M melalui I2C. Modul ini juga mengandungi bateri butang yang boleh dicas semula yang berfungsi sebagai kapasitor super.

EEPROM bersama dengan bateri membantu mengekalkan RAM yang disokong bateri (BBR). BBR mengandungi data jam, data kedudukan terkini (data orbit GNSS) dan konfigurasi modul. Tetapi ia tidak bertujuan untuk penyimpanan data kekal.

Oleh kerana bateri mengekalkan jam dan kedudukan terakhir, masa untuk memperbaiki pertama (TTFF) berkurang menjadi 1s. Ini membolehkan penguncian kedudukan lebih cepat.

Tanpa bateri GPS sentiasa dimulakan sehingga kunci GPS awal memerlukan lebih banyak masa. Bateri akan diisi secara automatik apabila kuasa digunakan dan mengekalkan data sehingga dua minggu tanpa kuasa.

Pinout

GND adalah Ground Ground dan perlu disambungkan ke pin GND di Arduino

Pin TxD (Transmitter) digunakan untuk komunikasi bersiri

Pin RxD (Penerima) digunakan untuk komunikasi bersiri

VCC membekalkan kuasa untuk modul. Anda boleh menghubungkannya terus ke pin 5V di Arduino

Langkah 4: Arduino Mega

Arduino adalah platform elektronik sumber terbuka berdasarkan perkakasan dan perisian yang mudah digunakan. Papan Arduino dapat membaca input - cahaya pada sensor, jari pada butang, atau mesej Twitter - dan mengubahnya menjadi output - mengaktifkan motor, menyalakan LED, menerbitkan sesuatu dalam talian. Anda boleh memberitahu lembaga anda apa yang harus dilakukan dengan menghantar satu set arahan kepada mikrokontroler di papan. Untuk melakukannya, anda menggunakan bahasa pengaturcaraan Arduino (berdasarkan Pendawaian), dan Perisian Arduino (IDE), berdasarkan Pemprosesan.

Arduino Mega

Arduino Mega 2560 adalah papan Mikrokontroler berdasarkan Atmega2560.

  • Terdapat 54 pin digital I / O dan 16 pin analog yang digabungkan di papan yang menjadikan peranti ini unik dan menonjol dari yang lain. Dari 54 I / O digital, 15 digunakan untuk PWM (modulasi lebar nadi).
  • Pengayun kristal frekuensi 16MHz ditambahkan pada papan.
  • Papan ini dilengkapi dengan port kabel USB yang digunakan untuk menyambung dan memindahkan kod dari komputer ke papan.
  • Jack kuasa DC digabungkan dengan papan yang digunakan untuk memberi kuasa pada papan.
  • Papan dilengkapi dengan dua pengatur voltan iaitu 5V dan 3.3V yang memberikan fleksibiliti untuk mengatur voltan mengikut keperluan.
  • Terdapat butang reset dan 4 port siri perkakasan yang disebut USART yang menghasilkan kelajuan maksimum untuk mengatur komunikasi.
  • Terdapat tiga cara untuk memberi kuasa pada papan. Anda boleh menggunakan kabel USB untuk menghidupkan papan dan memindahkan kod ke papan atau anda boleh mengaktifkannya menggunakan Vin papan atau melalui soket kuasa atau pemukul.

Spesifikasi

Pinout

Huraian Pin

  • 5V & 3.3V ==> Pin ini digunakan untuk memberikan voltan terkawal output sekitar 5V. Bekalan kuasa yang dikawal ini mengaktifkan pengawal dan komponen lain di papan. Ia boleh didapati dari Vin papan atau kabel USB atau bekalan voltan 5V yang lain. Sementara peraturan voltan lain disediakan oleh pin 3.3V. Kuasa maksimum yang dapat diambilnya ialah 50mA.
  • GND ==> Terdapat 5 pin ground yang tersedia di papan yang menjadikannya berguna apabila lebih dari satu pin ground diperlukan untuk projek tersebut.
  • Tetapkan semula ==> Pin ini digunakan untuk menetapkan semula papan. Menetapkan pin ini ke RENDAH akan menetapkan semula papan.
  • Vin ==> Ia adalah voltan input yang dibekalkan ke papan yang berkisar antara 7V hingga 20V. Voltan yang disediakan oleh soket kuasa boleh dicapai melalui pin ini. Walau bagaimanapun, voltan keluaran melalui pin ini ke papan akan diatur secara automatik hingga 5V.
  • Serial Communication ==> RXD dan TXD adalah pin bersiri yang digunakan untuk menghantar dan menerima data bersiri iaitu Rx mewakili penghantaran data sementara Tx digunakan untuk menerima data. Terdapat empat kombinasi pin bersiri ini digunakan di mana Serail 0 mengandungi RX (0) dan TX (1), Siri 1 mengandungi TX (18) dan RX (19), Siri 2 mengandungi TX (16) dan RX (17), dan Seri 3 mengandungi TX (14) dan RX (15).
  • Gangguan luaran ==> Enam pin digunakan untuk membuat gangguan luaran iaitu mengganggu 0 (0), mengganggu 1 (3), mengganggu 2 (21), mengganggu 3 (20), mengganggu 4 (19), mengganggu 5 (18). Pin ini menghasilkan gangguan dengan beberapa cara iaitu memberikan nilai RENDAH, tepi naik atau turun atau mengubah nilai ke pin gangguan.
  • LED ==> Papan ini dilengkapi dengan LED terbina dalam yang disambungkan ke pin digital 13. Nilai TINGGI pada pin ini akan menyalakan LED dan nilai RENDAH akan mematikannya.
  • AREF ==> AREF bermaksud Analog Voltage Rujukan yang merupakan voltan rujukan untuk input analog.
  • Analog Pins ==> Terdapat 16 pin analog yang digabungkan pada papan berlabel A0 hingga A15. Penting untuk diperhatikan bahawa semua pin analog ini boleh digunakan sebagai pin I / O digital. Setiap pin analog dilengkapi dengan resolusi 10-bit. Pin ini boleh mengukur dari tanah hingga 5V. Walau bagaimanapun, nilai atas dapat diubah menggunakan fungsi AREF dan analogReference ().
  • I2C ==> Dua pin 20 dan 21 menyokong komunikasi I2C di mana 20 mewakili SDA (Serial Data Line digunakan terutamanya untuk menyimpan data) dan 21 mewakili SCL (Serial Clock Line terutama digunakan untuk menyediakan penyegerakan data antara peranti)
  • Komunikasi SPI ==> SPI bermaksud Interface Periferal Serial yang digunakan untuk penghantaran data antara pengawal dan komponen periferal lain. Empat pin iaitu 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) digunakan untuk komunikasi SPI.

Langkah 5: Arduino IDE

Di sini saya menganggap anda sudah memasang Arduino IDE.

1. Muat turun perpustakaan yang diperlukan di bawah

TinyGPS lib

2. Selepas memuat turunnya. Ekstrak dan pindahkan ke folder C: / Users \… / Documents / Arduino / library pastikan tidak ada (-).

3. Buka Arduino IDE dan salin kod dari bahagian program.

4. Kemudian pilih papan untuk pergi ke Tools ==> Papan ==> pilih papan di sini kita menggunakan Arduino Mega 2560

5. Setelah memilih papan pilih port untuk itu pergi ke Tools ==> Port

6. Setelah memilih papan dan port klik muat naik.

7. Setelah kod dimuat, buka terminal bersiri untuk melihat outputnya.

Langkah 6: Sambungan

Arduino MEGA ==> GPS NEO-6M

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

Anda juga boleh menggunakan Serial2 atau Serial3 dan bukannya Serial1

Disyorkan: