Minggu, 29 Januari 2023

BELAJAR MENGGUNAKAN MODUL GPS UBLOX NEO-6M DENGAN ARDUINO UNO

BELAJAR MENGGUNAKAN MODUL GPS UBLOX NEO-6M DENGAN ARDUINO UNO

By. Iyon Manakarra

Sahabat mekatronika manakarra kali ini kita akan melakukan percobaan mengakses data modul GPS Ublox Neo 6M dengan menggunakan arduino uno. adapun tahapannya adalah sebagai berikut : 

MODUL GPS UBLOX NEO-6M :

Modul berukuran ringkas ini (25x35mm untuk modul, 25x25mm untuk antena) berfungsi sebagai penerima GPS (Global Positioning System Receiver) yang dapat mendeteksi lokasi dengan menangkap dan memroses sinyal dari satelit navigasi. Aplikasi dari modul ini melingkupi sistem navigasi, sistem keamanan terhadap kemalingan pada kendaraan / perangkat bergerak, akuisisi data pada sistem pemetaan medan, penjejak lokasi / location tracking, dsb.


Modul ini kompatibel dengan APM2 dan APM2.5 dengan EEPROM terpadu yang dapat digunakan untuk menyimpan data konfigurasi. Antarmuka menggunakan serial TTL (RX/TX) yang dapat diakses dari mikrokontroler yang memiliki fungsi UART atau emulasi serial TTL (pada Arduino dapat menggunakan pustaka komunikasi serial / serial communication library yang sudah tersedia dalam paket Arduino IDE). Baud rate diset secara default di 9600 bps.

GPS Processor dari modul ini menggunakan u-blox NEO-6 GPS Module dengan mesin penjejak posisi yang berkinerja tinggi dengan versi ROM terbaru (ROM7.03). Modul ini dapat memproses hingga 50 kanal sinyal secara cepat dengan waktu Cold TTFF (Cold-Start Time-To-First-Fix, waktu yang diperlukan untuk menentukan posisi dari kondisi mati total) kurang dari 27 detik (sebagai pembanding, rata-rata GPS navigator yang umum dijual di toko variasi mobil memiliki waktu Cold TTFF lebih dari 50 detik), dapat dipercepat dengan fitur pemandu (aiding) hingga kurang dari 3 detik. Pada kondisi hot start, waktu TTFF yang dibutuhkan mencapai kurang dari 1 detik.

Sfesifiksi modul :

a.  Tipe penerima: 50 channel, GPS L1 frekuensi, C/A Code. SBAS (Satellite Based ugmentation System): WAAS (Wide Area Augmentation System), EGNOS  (European Geostationary Navigation Overlay Service), MSAS (Multi-functional Satellite Augmentation System).

b.  Sensitivitas penjejak & navigasi: -161 dBm (reakuisisi dari blank-spot: -160 dBm)

c.  Sensitivitas saat baru memulai: -147 dBm pada cold-start, -156 dBm pada hot start

d.  Kecepatan pembaharuan data / navigation update rate: 5 Hz

e.  Akurasi penetapan lokasi GPS secara horisontal: 2,5 meter (SBAS = 2m)

f.  Rentang frekuensi pulsa waktu yang dapat disetel: 0,25 Hz hingga 1 kHz

g.  Akurasi sinyal pulsa waktu: RMS 30 ns (99% dalam kurang dari 60ns) dengan granularitas 21 ns atau 15 ns saat terkompensasi

h.  Akurasi kecepatan: 0,1 meter / detik

i.  Akurasi arah (heading accuracy): 0,5°

j.  Batasan operasi: daya tarik maksimum 4x gravitasi, ketinggian maksimum 50 Km, kecepatan maksimum 500 meter / detik (1800 km/jam). red: dengan limit seperti ini, modul ini bahkan dapat digunakan di pesawat jet super-cepat sekalipun.


Percobaan 1. Mengakses Gps Neo-6M dengan arduino.




a.  Bahan :

Adapun untuk percobaan, diperlukan beberapa bahan sebagai berikut :

No

Nama bahan

Jumlah

1

Arduino UNO

1 Pcs

2

NEO-6M GPS module

1 Pcs

3

Kabel Jumper

4 Pin

4

Power Suplay

1 Pcs

5

Kabel data print

I Pcs


b.  Schematich Percobaan :

 

c.  Configurasi Pin input-output :

Pin Arduino

Pin Neo-6M GMP Module

D3

RX

D2

TX

GND

GND

5V/VCC

VCC

 

d.  Sketch Program :

/*

  Nama Program  : Percobaan mengakses modul GPS Neo 6M Ublox

  by            : Iyon Manakarra

  blogger       : https://www.mekatronika-manakarra.blogspot.com

  Chanel        : Mekatronika Manakarra

   : (https://www.youtube.com/@mekatronikamanakarra)

                  SUBSCRIBE and Follow Yaaa....!

 */  

 

#include <TinyGPS++.h>

#include <SoftwareSerial.h>

SoftwareSerial serial_gps(2, 3); //TX2,RX3

TinyGPSPlus gps;

double latitude, longitude;

 

void setup() {

  Serial.begin(9600);

  serial_gps.begin(9600);

  Serial.println("GPS Mulai");

}

 

void loop() {

  while(serial_gps.available()) {

    gps.encode(serial_gps.read());

  }

  if(gps.location.isUpdated()) {

    latitude = gps.location.lat();

    longitude = gps.location.lng();

    String link = "www.google.com/maps/place/" + String(latitude) + "," + String(longitude) ;

    Serial.println(link);

    delay(10000);

  }

}


Penjelasan Sketch Program

Untuk dapat mengkomunikasikan GPS ini dengan Arduino diperlukan sebuah library yang bernama “TinyGPS++.h” dan “SoftwareSerial.h”

 

    #include <TinyGPS++.h>

    #include <SoftwareSerial.h>

 

Pada sketch program kita menggunakan pin 2 dan 3 sebagai pin TX dan RX untuk membangun komunikasi serial dengan modul GPS. Jika kita menggunakan pin lain, maka kita harus mengeditnya di baris berikut: 

    SoftwareSerial serial_gps(2, 3); //TX2,RX3

Inisialisasi variable, dalam hal ini inisialisasi variable bernama gps alias TinyGPSPlus, variable berikutnya latitude dan longitude dengan tipe data double yang difungsikan sebagai penyimpan data koordinat dari gps. 

    TinyGPSPlus gps;

    double latitude, longitude; 

Pada sketch ini menggunakan baud rate yang berbeda dari 9600 bps, 

     Serial.begin(9600); 

Pada fungsi blok Loop, Blok ini akan dieksekusi secara terus menerus. Apabila program sudah sampai akhir blok, maka akan dilanjutkan dengan mengulang eksekusi dari awal blok. Program akan berhenti apabila tombol power Arduino di matikan. Di sinilah fungsi utama program Arduino kitaberada. Didalam fungsi loop terdapat perintah pengulangan while yang berisikan perintah membaca data dari pin serial, jika terdapat data dari GPS terbaru akan tersimpan pada variable latitude dan longitude kemudian ditampilkan pada serial monitor dalam format string. 

String link = "www.google.com/maps/place/" + String(latitude) + "," + String(longitude) ;

      Serial.println(link);

 Program akan terupdate berulang dengan tunda waktu selama 1 detik.

delay(10000);


e.  Uji Program :

Lakukan wiring pada module arduino dan gps ublox Neo6M, hubungkan ke power supay 9-12VDC, dan hubungkan dengan laptop/komputer.

Setting Board arduino uno dan port yang terdeteksi.


Lakukan verify program sketch (Compile program)terlebih dahulu


 

Jika muncul pesan seperti diatas maka menandakan library belum terinstall, lakukan proses install library.

        

Ketik pada Library manager -> TinyGPS -> maka akan muncul pilihan library kemudian diklik Install. 


Tunggu proses install library selesai, pastikan jaringan internet terkoneksi dengan baik.


Verify ulang sketch dan jika berhasil akan tampil tidak ada error, kemdian uppload program.


Serial Monitor :

Setelah proses upload selesai buka serial monitor dan perhatikan data output yang ditampilakan .


Copy text bagian baris koordinat dan buka pada browser google dan akan tampil letak posisi kita 

Dari hasil percobaan mengakses GPS module jenis Ublox Neo 6M diperoleh data cukup akurat, karna data letak koordinat posisi percobaan hampir mendekati posisi yang ditampilkan pada peta maps google yang berasal dari module GPS. dengan jarak kurang dari 50 meter.

   

Link VIDEO

Berikut contoh project pengaplikasian modul gps ublox Neo 6M pada system alat pengaman sepeda motor dengan system GPS Tracker.

Subscribe yaaa...

Nama Chanel : https://www.youtube.com/@mekatronikamanakarra

Link Video  : Uji coba GPS Tracker Arduino Shield Bersusun 4 Tingkat



Reverensi Project GPS Tracker

Link Video  : Tutorial Alarm pengaman sepeda motor menggunakaan HP melalui layanan GPS Tracker, SMS dan Misscall



Follow and Subscribe yaaa.....!

Terimakasih....!

Tidak ada komentar:

Posting Komentar

Mari berdiskusi dan silahkan memberi komentar berupa kritik dan saran yang bersifat membangun ya sobat smua....!