Menangani GPS UBLOX Neo dengan Arduino

Untuk mendapatkan data lokasi dalam bentuk koordinat longitude dan latitude, Anda memerlukan sebuah perangkat GPS (Global Positioning System) client atau disebut juga GPS transceiver. Sistem positioning dengan GPS ini bekerja berdasarkan posisi relatif GPS client terhadap satelit-satelit GPS di luar angkasa. GPS client menerima sinyal dari satelit GPS, dan melempar balik sinyal acknowledge (ACK) ke satelit-satelit GPS. Setidaknya dibutuhkan tiga buah satelit GPS untuk mendapatkan titik koordinat lokasi yang akurat. Untuk lebih jelasnya, silahkan Anda lihat gambar di bawah untuk cara kerja sistem positioning menggunakan GPS.

prinsip kerja GPS

Baiklah, saya pikir cukup untuk teorinya :), sekarang mari kita coba bagaimana memanfaatkan GPS untuk mengetahui lokasi alat kita. Yang pertama, tentunya Anda membutuhkan perangkat GPS client yang support komunikasi dengan mikrokontroller khususnya Arduinio yang akan kita gunakan. Seperti kita ketahui, protokol komunikasi yang didukung Arduino adalah: serial (UART), SPI (Serial Peripheral Interface), dan I2C/IIC (Inter-Integrated Circuit). Nah, di pasaran ada satu produk yang mendukung komunikasi serial UART yakni GPS UBLOX Neo. Produk ini cukup mudah ditemukan di pasaran dengan harga yang cukup terjangkau.

gps ublox neo

Seperti biasa kita akan menggunakan SoftwareSerial daripada HardwareSerial. Mengapa? Berhubung Arduino Uno hanya memiliki 1 hardwareserial di pin 0 dan 1 dan akan kita gunakan untuk debugging, maka kita akan mengemulasi pin 3 dan 4 menjadi pin serial dengan library SoftwareSerial.h. Berikut ini adalah gambar rangkaiannya.

menangi gps ublox neo dengan arduino - gambar rangkaian

Konfigurasi Pinout GPS Ublox Neo – Arduino

Arduino  GPS Ublox
3v3   —-    Vcc
Gnd  —-    Gnd
3       —-    Rx
4       —–   Tx

Alat dan Bahan Uno GPS

  1. Arduino Uno (versi SMD beli di sini atau Arduino Uno DIP ATMEGA328p )
  2. GPS module Ublox Neo (beli di sini harga 164.000)
  3. Kabel jumper secukupnya (beli di sini)

Sketch GPS Ublox Neo – Arduino

Yang kedua, untuk menangani GPS UBLOX Neo dengan Arduino, kita memerlukan library ‘TinyGPS++.h’ untuk memudahkan kita mengakses GPS Ublox Neo. Anda dapat mengunduh library ini secara gratis di sini. Jika sudah, Anda dapat menambahkan library tersebut ke software IDE Arduino dengan cara seperti di sini, sehingga library tersebut siap digunakan di sketch Anda.

Baiklah, langsung aja, berikut ini sketch-nya, sketch untuk mengambil data koordinat dari GPS UBLOX Neo (mungkin support untuk perangkat GPS lainnya juga).

#include <TinyGPS++.h>
#include <SoftwareSerial.h>

static const int RXPin = 4, TXPin = 3;
static const uint32_t GPSBaud = 9600;

TinyGPSPlus gps;

SoftwareSerial ss(RXPin, TXPin);

void setup() {
 Serial.begin(9600);
 ss.begin(GPSBaud);
}

void loop() {
 delay (1000);
 while (ss.available() > 0)
 gps.encode(ss.read());

 if (gps.location.isValid()){
 double latitude=gps.location.lat();
 Serial.print(latitude,6);
 Serial.print(F("|"));
 Serial.println(gps.location.lng(), 6);
}

delay (100); 
}

Untuk melihat koordinat longitude dan latitude yang didapat, bisa dilihat di jendela Serial Monitor melalui menu Tools – Serial Monitor. Ohya, sebaiknya waktu mencoba modul GPS ini sebaiknya di luar ruangan, supaya terjangkau sinyal GPS dari satelit.

Berikut foto hasil percobaan saya menggunakan XBoard, yakni board Arduino yang built in ethernet port. Waktu itu XBoard-nya harus melaporkan koordinat lokasi menggunakan IoT (Internet of Things)

gps ublox neo+xboard arduino

Demikian, tutorial kali ini, semoga bermanfaat untuk Anda. Untuk selanjutnya dapat Anda kembangkan untuk project yang lebih kompleks seperti ‘fleet monitoring’ untuk armada perusahaan, rental mobil, dll. Atau Anda dapat mengkombinasikan sebuah sensor fuel meter untuk mendeteksi tingkat efisiensi BBM kendaraan atau untuk mendeteksi truk tangki BBM ‘kencing’ di jalan 😊

 

0 0 votes
Article Rating

Leave a Reply

89 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Jefri

mas saptaji, saya udah ngikutin langkah2 diatas tapi kok gak keluar lat longnya ketika serial monitor saya buka? mohon bantuannya

Jefri

Sudah saya coba mas, tapi tetep gak keluar apapun di serial monitor.
Apa karena saya pakai neo 7m? Mohon bantuannya mas, penasaran saya salah di mana ini

jefri

gak mas, cuman led power aja yang nyala.
power = 3.3 v
rx = 3
tx = 4
untuk compiling sudah gak ada yang eror

samid

saya juga mengalami kayak punyak samen mas,

terus saya coba ganti di program tx rxnya kayak ini “static const int RXPin = 0, TXPin =1”,

alhamdulillah bisa

Jefri

oh, setelah pin saya tukar di code nya, dia sekarang ngebling mas, tapi masih belum keluar apapun di serial monitor. Mohon arahannya

jefri

Sudah saya pastikan mas, baud rate nya sama
Serial.begin dan ss.begin sama2 9600, dan di serial monitornya sudah saya pastikan 9600. Kira2 mana lagi ya mas yang membuat lat long nya gak muncul

Ksatria BM

maaf pak mau tanya,,, kira2 tinynya pake yg versi berapa?

indra

Mas, mau tanya biar data koordinatnya masuk ke server iot kaya thingspeak atau database caranya gmn y mas? Bth buat skripsiku

ria

pak,saya mau nanya kalau tanpa menggunakan arduino gmna cara pemakaian modul gps neo 6m pak?mohon dijawab ya pak

Dede

Mas mah nanya, klo misalny kita pengen tau posisi modul gpsny d google maps ?

Nata

Mas apakah akan bekerja kalo pake modul gps yang lain?

Jessy

Mau nanya mas, selain bawa ke tempat yg ga ke halang, Ada cara lain ga biar gps nya cepat ng lock sinyal? Misal dr coding arduino nya.
Kalo saya hanya mau ambil data, waktu (tgl,bln,thn,jam), speed dan course aja dari modul gps nya, bisa ga mas? Kira2 coding nya gmn yah mas?
Trima kasih sebelum nya mas

taufikmas

assalam pak, mau tanya untuk project tracking, contoh diatas kan pake kabel LAN ya,

klo ngambil data gps terus dikirim via gprs apakah modul gsm untuk ngirimnya harus tambah lagi, atau bisa pake modul neo tersebut. trimakasih

taufikmas

oke makasih pak. nanti send to softserial brarti ya

prayogo

mas apa punya contoh sketch untuk pengiriman data Gps dari arduino ke server..?

budi

selamat pagi mas,, saya mau tanya.. apakah saya bisa memprogram sebuah robot yang akan kembali ke posisi awal set kordinat dengan modul gps arduino ? terima kasih.

Jhoe

mas mau tnya dong, modul ini bisa kita tentukan untuk set point ga mas??

swan

mas dibeberapa tutorial ada yg menggunakan resistor, apa ada pengaruhnya dalam menggunakan jika tidak menggunakan resistor?
terimakasih

Anam

Kalo vcc GPS dikasik tegangan 5V arduino gmna mas ?

Rahardi Prakoso

maaf mas saya mau bertanya, nilai koordinat sudah bisa keluar. tetapi permasalahnya data yang keluar tsb selalu berubah ubah, padahal letak dari modul GPS nya tidak saya pindahkan kemana mana. Apakah itu efek dari program atau memang sensor GPS neo 6m memiliki nilai presisi yang jelek? mohon bantuanya mas

M Haris F

GPSnya kalau digunakan dibawah air masih kebaca gak ya koordinatnya??

Maudina

cara mengirim data yang diambil dari gps itu bagaimana ya?
saya sudah coba yang diatas dapat long lat nya, selanjutnya saya mau ambil data dari gps untuk dikirim.

Maudina

lewat sms pakai modul gprs sim900

zaskia

mas mau tanya, kalau antena pada GPS modul nya saya ganti sama antena pasif buatan sendiri kira2 bisa ga? soalnya saya membuat antena (dari pcb) untuk aplikasi GPS

Zaskia

Iya mas antena saya bekerja di frekuensi1575 MHz, apa antena saya bisa dihubungkan dengan modul gps neo6mv2 untuk mendapatkan longitude latitude dan kuat sinyalnya?

Zaskia

koding untuk antena buatan sendiri itu beda apa bisa sama ya?

Zaskia

Iyaa mas sudah saya coba bisa, kalau untuk menampilkan kuat sinyalnya gimana ya mas?

zaskia

TinyGPS has no member named ‘constellation’ itu maksudnya apa ya?

Zaskia

Mas kenapa kalau pakai modul GPS untuk mendapatkan sinyal GPS harus diluar ruangan sedangkan pada saat menyalakan GPS di hp didalam ruanganpun bisa?

Ketut

Itu sistemnya kek manaa mas aji . Apakah gps , sms sudah termasuk di dalam 1 program

samid

mas mau tanyak, saya sudah diluar ruangan tapi kok pada modul gpsnya lednya endak nyala itu kenapa mas, apa ada solusi mas ?

elsa

mas saya sudah menyambungkan gps dan arduino nya ke laptop dan vcc sudah ke 3,3v tx dan rx nya jg sudah tepat. tapi kenapa di serial monitornya tidak muncul hasil data nya ya?

elsa

sudah mas, led sudah nyala. tetapi data belum keluar di serial monitor

samid

mas mohon maaf bagaimana cara membuat if dengan menggunakan gps ublox ?
sama kalau mau buat libery sendiri bagaimana ya mas ?

Norys

gan bisa bantu sya ubah coding di atas biar nantinya link lokasi yang ada bisa sya kirim melalui SIM800L

rudy

Mas..saya pake neo m8t tp pakai antena topgnss model bgl-4504 kok susah lock ya..klo pk antena bawaan cepet nge lcknya..
Apakah ada yg perlu dirubah..mksh.

Umam

Pagi mas saya mau nanya, kalo serial.begin menggunakan 115200 bisa tidak ya?

Aprilia

Maaf mas sy pke GPS M8N led sudah blinking dan data latitude longitude masuk namun 0.000000 kira2 kesalahan dimana ya? terimakasih sebelumnya

Aprilia

Sudah bisa mas, terimakasih

ata

ko modul gps saya led nya tidak ada tanda” kehidupan? wiring dh bner gan…tp g nyala sama sekali…apakah gps neo 6 sprti itu?

hasan

antenanya ganti coba, kemungkinan rusak

Nadiya

mas saya ingin bertanya , bagaimana program untuk mengunci sebuah titik kordinat dr modul gps tersebut untuk menjadi titik acuan

Satya Wahyu

Bang GPS saya LED nya sama sekali gak Blinking padahal udah sesuai, gimana ya ??

Raka

Mau tanya om, cara menafsirkan data nmea 1803 ke arduino (pakai rs485) gimana ya sketchnya kira2, biar bisa ditampilkan di serial monitor datanya? Terimakasih om

Hartini

Kalibrasi modul GPS ini bagaimana yh ?

galih

Mas mau tanya, bagaimana cara convert data double longitute dan latitute ke tipe data string mas? makasih

galih

Permisi pak, saya lagi bikin tugas nRF24L01+GPS cuma mau saya ubah ke string. kalo saya ubah langsung tidak muncul ke serial monitor . #include #include #include #include //#include #include static const int RXPin = 2; static const int TXPin = 3; //const uint64_t pipe1 = 0xF0F0F0F0AA; // The TinyGPS++ object TinyGPSPlus gps; // The serial connection to the GPS device SoftwareSerial ss(RXPin, TXPin); struct pengirimGPS{ float latitude; float longitude; /* unsigned long date; unsigned long time; */ }; pengirimGPS gpsData; double latitude, longitude; void setup() { Serial.begin(9600); ss.begin(9600); Serial.println(“Setting up radio”); // Setup transmitter radio radio.begin(); radio.openWritingPipe(0xF0F0F0F0E1LL); //untuk 1 sensor… Read more »

89
0
Would love your thoughts, please comment.x
()
x