Daftar Isi:

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

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

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

Dalam proyek ini, saya telah menunjukkan cara menghubungkan modul GPS (Neo-6M) dengan Arduino Mega. Pustaka TinyGPS digunakan untuk menampilkan data Bujur dan Lintang dan TinyGPS++ digunakan untuk menampilkan Lintang, Bujur, Ketinggian, Kecepatan dan jumlah satelit pada monitor serial.

Langkah 1: Komponen yang Dibutuhkan

Perangkat keras

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

Perangkat lunak

Arduino IDE

Total biaya proyek adalah $60

Langkah 2: Informasi Tentang GPS

Apa itu GPS?

Global Positioning System (GPS) adalah sistem navigasi berbasis satelit yang terdiri dari setidaknya 24 satelit. GPS berfungsi dalam kondisi cuaca apa pun, di mana pun di dunia, 24 jam sehari, tanpa biaya berlangganan atau biaya pemasangan.

Cara kerja GPS

Satelit GPS mengelilingi Bumi dua kali sehari dalam orbit yang tepat. Setiap satelit mentransmisikan sinyal unik dan parameter orbital yang memungkinkan perangkat GPS untuk memecahkan kode dan menghitung lokasi satelit yang tepat. Penerima GPS menggunakan informasi dan trilaterasi ini untuk menghitung lokasi pasti pengguna. Pada dasarnya, penerima GPS mengukur jarak ke setiap satelit dengan jumlah waktu yang diperlukan untuk menerima sinyal yang ditransmisikan. Dengan pengukuran jarak dari beberapa satelit lagi, penerima dapat menentukan posisi pengguna dan menampilkannya.

Untuk menghitung posisi 2-D Anda (lintang dan bujur) dan melacak pergerakan, penerima GPS harus dikunci ke sinyal minimal 3 satelit. Dengan melihat 4 satelit atau lebih, penerima dapat menentukan posisi 3-D Anda (lintang, bujur, dan ketinggian). Umumnya, penerima GPS akan melacak 8 satelit atau lebih, tetapi itu tergantung pada waktu dan lokasi Anda di bumi. Setelah posisi Anda ditentukan, unit GPS dapat menghitung informasi lain, seperti:

  • Kecepatan
  • bantalan
  • Melacak
  • Jarak perjalanan
  • Jarak ke tujuan

Apa itu sinyal?

Satelit GPS mengirimkan setidaknya 2 sinyal radio berdaya rendah. Sinyal bergerak dengan garis pandang, yang berarti mereka akan melewati awan, kaca dan plastik tetapi tidak akan melewati sebagian besar benda padat, seperti bangunan dan gunung. Namun, receiver modern lebih sensitif dan biasanya dapat melacak melalui rumah. Sinyal GPS berisi 3 jenis informasi yang berbeda

Kode pseudorandom

Ini adalah I. D. kode yang mengidentifikasi satelit mana yang mengirimkan informasi. Anda dapat melihat dari satelit mana Anda mendapatkan sinyal di halaman satelit perangkat Anda.

Data ephemeris

Data ephemeris diperlukan untuk menentukan posisi satelit dan memberikan informasi penting tentang kesehatan satelit, tanggal dan waktu saat ini.

Data almanak

Data almanak memberi tahu penerima GPS di mana setiap satelit GPS harus berada setiap saat sepanjang hari dan menunjukkan informasi orbit untuk satelit itu dan setiap satelit lain dalam sistem.

Langkah 3: Modul GPS Neo-6M

Modul GPS NEO-6M ditunjukkan pada gambar di bawah ini. Muncul dengan antena eksternal dan tidak dilengkapi dengan pin header. Jadi, Anda perlu menyoldernya.

Ikhtisar Modul GPS NEO-6M

Chip GPS NEO-6M

Inti dari modul ini adalah chip GPS NEO-6M dari u-blox. Ini dapat melacak hingga 22 satelit di 50 saluran dan mencapai tingkat sensitivitas tertinggi di industri yaitu pelacakan -161 dB, sementara hanya menggunakan arus suplai 45mA. Mesin pemosisian u-blox 6 juga menawarkan Time-To-First-Fix (TTFF) di bawah 1 detik. Salah satu fitur terbaik yang disediakan chip ini adalah Power Save Mode (PSM). Ini memungkinkan pengurangan konsumsi daya sistem dengan secara selektif mengalihkan bagian penerima ON dan OFF. Ini secara dramatis mengurangi konsumsi daya modul menjadi hanya 11mA sehingga cocok untuk aplikasi sensitif daya seperti jam tangan GPS. Pin data yang diperlukan dari chip GPS NEO-6M dipecah menjadi header pitch 0,1″. Ini termasuk pin yang diperlukan untuk komunikasi dengan mikrokontroler melalui UART.

Catatan: - Modul ini mendukung baud rate dari 4800bps hingga 230400bps dengan baud default 9600.

Indikator LED Perbaiki Posisi

Terdapat LED pada Modul GPS NEO-6M yang menunjukkan status Position Fix. Itu akan berkedip pada berbagai tingkat tergantung pada keadaannya

  1. Tidak Berkedip ==> berarti sedang mencari satelit
  2. Berkedip setiap 1 detik - berarti Perbaiki Posisi ditemukan

Pengatur LDO 3.3V

Tegangan operasi chip NEO-6M adalah dari 2,7 hingga 3,6V. Tapi, modul ini dilengkapi dengan regulator 3V3 dropout ultra-rendah MIC5205 dari MICREL. Pin logika juga toleran 5 volt, sehingga kita dapat dengan mudah menghubungkannya ke Arduino atau mikrokontroler logika 5V tanpa menggunakan konverter level logika.

Baterai & EEPROM

Modul ini dilengkapi dengan EEPROM serial dua kawat HK24C32. Ini berukuran 4KB dan terhubung ke chip NEO-6M melalui I2C. Modul ini juga berisi baterai tombol yang dapat diisi ulang yang bertindak sebagai kapasitor super.

EEPROM bersama dengan baterai membantu mempertahankan RAM yang didukung baterai (BBR). BBR berisi data jam, data posisi terbaru (data orbit GNSS) dan konfigurasi modul. Tapi itu tidak dimaksudkan untuk penyimpanan data permanen.

Karena baterai mempertahankan jam dan posisi terakhir, waktu untuk perbaikan pertama (TTFF) berkurang secara signifikan menjadi 1 detik. Ini memungkinkan penguncian posisi yang jauh lebih cepat.

Tanpa baterai, GPS selalu start dingin sehingga penguncian GPS awal membutuhkan waktu lebih lama. Baterai terisi secara otomatis saat daya diterapkan dan menyimpan data hingga dua minggu tanpa daya.

Pinout

GND adalah Ground Pin dan perlu dihubungkan ke pin GND di Arduino

Pin TxD (Transmitter) digunakan untuk komunikasi serial

Pin RxD (Receiver) digunakan untuk komunikasi serial

VCC memasok daya untuk modul. Anda bisa langsung menghubungkannya ke pin 5V pada Arduino

Langkah 4: Arduino Mega

Arduino adalah platform elektronik open-source berdasarkan perangkat keras dan perangkat lunak yang mudah digunakan. Papan Arduino dapat membaca input - menyalakan sensor, jari pada tombol, atau pesan Twitter - dan mengubahnya menjadi output - mengaktifkan motor, menyalakan LED, menerbitkan sesuatu secara online. Anda dapat memberi tahu papan Anda apa yang harus dilakukan dengan mengirimkan satu set instruksi ke mikrokontroler di papan tulis. Untuk melakukannya, Anda menggunakan bahasa pemrograman Arduino (berdasarkan Pengkabelan), dan Perangkat Lunak Arduino (IDE), berdasarkan Pemrosesan.

Arduino Mega

Arduino Mega 2560 adalah papan Mikrokontroler berbasis Atmega2560.

  • Ada 54 pin I/O digital dan 16 pin analog yang tergabung di papan yang membuat perangkat ini unik dan menonjol dari yang lain. Dari 54 I/O digital, 15 digunakan untuk PWM (modulasi lebar pulsa).
  • Osilator kristal frekuensi 16MHz ditambahkan di papan.
  • Papan dilengkapi dengan port kabel USB yang digunakan untuk menghubungkan dan mentransfer kode dari komputer ke papan.
  • Soket listrik DC digabungkan dengan papan yang digunakan untuk memberi daya pada papan.
  • Papan dilengkapi dengan dua pengatur tegangan yaitu 5V dan 3.3V yang memberikan fleksibilitas untuk mengatur tegangan sesuai kebutuhan.
  • Terdapat tombol reset dan 4 port serial perangkat keras yang disebut USART yang menghasilkan kecepatan maksimum untuk mengatur komunikasi.
  • Ada tiga cara untuk memberi daya pada papan. Anda dapat menggunakan kabel USB untuk memberi daya pada papan dan mentransfer kode ke papan atau Anda dapat menyalakannya menggunakan Vin papan atau melalui colokan listrik atau adonan.

spesifikasi

Pinout

Deskripsi Pin

  • 5V & 3.3V ==>Pin ini digunakan untuk memberikan tegangan keluaran yang diatur sekitar 5V. Catu daya yang diatur ini memberi daya pada pengontrol dan komponen lain di papan. Itu dapat diperoleh dari Vin papan atau kabel USB atau suplai tegangan 5V lain yang diatur. Sedangkan pengaturan tegangan lainnya disediakan oleh pin 3.3V. Daya maksimum yang dapat ditarik adalah 50mA.
  • GND ==>Ada 5 pin ground yang tersedia di papan yang membuatnya berguna ketika lebih dari satu pin ground diperlukan untuk proyek tersebut.
  • Reset ==> Pin ini digunakan untuk mereset board. Menyetel pin ini ke LOW akan mereset board.
  • Vin ==> Ini adalah tegangan input yang dipasok ke papan yang berkisar dari 7V hingga 20V. Tegangan yang diberikan oleh colokan listrik dapat diakses melalui pin ini. Namun, tegangan keluaran melalui pin ini ke papan akan diatur secara otomatis hingga 5V.
  • Komunikasi Serial ==> RXD dan TXD adalah pin serial yang digunakan untuk mengirim dan menerima data serial yaitu Rx mewakili transmisi data sedangkan Tx digunakan untuk menerima data. Ada empat kombinasi pin serial yang digunakan dimana Serail 0 berisi RX(0) dan TX(1), Serial 1 berisi TX(18) dan RX(19), Serial 2 berisi TX(16) dan RX(17), dan Serial 3 berisi TX(14) dan RX(15).
  • Interupsi Eksternal ==> Enam pin digunakan untuk membuat interupsi eksternal yaitu interupsi 0(0), interupsi 1(3), interupsi 2(21), interupsi 3(20), interupsi 4(19), interupsi 5(18). Pin ini menghasilkan interupsi dengan beberapa cara yaitu memberikan nilai LOW, naik atau turun tepi atau mengubah nilai ke pin interupsi.
  • LED ==> Board ini dilengkapi dengan LED built-in yang terhubung ke pin digital 13. Nilai HIGH pada pin ini akan menyalakan LED dan nilai LOW akan mematikannya.
  • AREF ==> AREF adalah singkatan dari Analog Reference Voltage yang merupakan tegangan referensi untuk input analog.
  • Pin Analog ==> Ada 16 pin analog yang tergabung pada papan berlabel A0 hingga A15. Penting untuk dicatat bahwa semua pin analog ini dapat digunakan sebagai pin I/O digital. Setiap pin analog hadir dengan resolusi 10-bit. Pin ini dapat mengukur dari ground hingga 5V. Namun, nilai atas dapat diubah menggunakan fungsi AREF dan analogReference().
  • I2C ==>Dua pin 20 dan 21 mendukung komunikasi I2C di mana 20 mewakili SDA (Serial Data Line terutama digunakan untuk menyimpan data) dan 21 mewakili SCL (Serial Clock Line terutama digunakan untuk menyediakan sinkronisasi data antar perangkat)
  • Komunikasi SPI ==> SPI adalah singkatan dari Serial Peripheral Interface yang digunakan untuk transmisi data antara pengontrol dan komponen periferal lainnya. Empat pin yaitu 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) digunakan untuk komunikasi SPI.

Langkah 5: Arduino IDE

Di sini saya berasumsi Anda sudah menginstal Arduino IDE.

1. Unduh perpustakaan yang diperlukan yang diberikan di bawah ini

TinyGPS lib

2. Setelah mengunduhnya. Ekstrak dan pindahkan ke folder C:\Users\…\Documents\Arduino\libraries pastikan tidak ada (-).

3. Buka Arduino IDE dan salin kode dari bagian program.

4. Kemudian pilih board untuk itu masuk ke Tools ==> Boards ==> pilih board disini kita menggunakan Arduino Mega 2560

5. Setelah memilih board pilih port untuk itu pergi ke Tools ==> Ports

6. Setelah memilih board dan port klik upload.

7. Setelah kode diunggah, buka terminal serial untuk melihat hasilnya.

Langkah 6: Koneksi

Arduino MEGA ==> NEO-6M GPS

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

Anda juga dapat menggunakan Serial2 atau Serial3 alih-alih Serial1

Direkomendasikan: