Baca Lokasi GPS Neo6MV2 dengan Arduino Uno

Baca Lokasi GPS Neo6MV2 dengan Arduino Uno

Pelajari cara membaca koordinat GPS menggunakan modul GY-NEO6MV2 dengan Arduino Uno. Disertai wiring, program lengkap, dan link hasil lokasi realtime.

Pendahuluan

Modul GPS GY-NEO6MV2 adalah modul navigasi berbasis chipset u-blox NEO-6M, yang mampu memberikan koordinat longitude dan latitude secara real-time melalui protokol komunikasi UART. Modul ini umum dipakai dalam proyek pelacakan kendaraan, drone, dan sistem geolokasi berbasis IoT.

Penggunaan modul ini bersama Arduino Uno cukup mudah berkat bantuan library TinyGPSPlus untuk decoding data NMEA.

Referensi chip GPS:
u-blox NEO-6M datashee

Komponen yang Dibutuhkan

KomponenJumlahKeterangan
Arduino Uno1Mikrokontroler utama
Modul GPS Neo6MV21Modul GPS dengan antena bawaan
Kabel jumper4Untuk koneksi VCC, GND, RX, TX

Wiring GPS Neo6MV2 ke Arduino Uno

Hubungkan pin-pin berikut sesuai gambar:

  • VCC (Merah) → 5V Arduino
  • GND (Hitam) → GND Arduino
  • TX GPS (Hijau) → Pin A0 Arduino
  • RX GPS (Hijau) → Pin A1 Arduino

Program GPS Arduino Uno

Gunakan TinyGPS++ dan TaskScheduler untuk pengolahan efisien:

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

SoftwareSerial gps_Serial(2, 3); // RX, TX Arduino ←→ TX, RX GPS
TinyGPSPlus gps;
unsigned long previousMillis_gps = 0;
const long interval_gps = 5000;
Scheduler gps_runner;
void gpsTaskCallback();
Task gpsTask(500, TASK_FOREVER, &gpsTaskCallback);

void debug_gps(String text) {
  Serial.println(text);
}

void koneksi_gps() {
  debug_gps("gps Mencari Sinyal...");
  unsigned long currentMillis_gps = millis();

  while (gps_Serial.available() > 0) {
    if (gps.encode(gps_Serial.read())) {
      float latitude_gps = gps.location.lat();
      float longitude_gps = gps.location.lng();

      if (gps.location.isUpdated()) {
        debug_gps("Read, NEW location : " + String(latitude_gps, 6) + "," + String(longitude_gps, 6)); 
      } else {
        debug_gps("Read, OLD location : " + String(latitude_gps, 6) + "," + String(longitude_gps, 6)); 
      }

      if (currentMillis_gps - previousMillis_gps >= interval_gps) {
        if (latitude_gps == 0.000000 || longitude_gps == 0.000000) {
          debug_gps("gps : 0");
        } else {
          String link_gps;
          link_gps += "&latitude=" + String(latitude_gps, 6);
          link_gps += "&longitude=" + String(longitude_gps, 6);
          link_gps += "&gps=" + String(latitude_gps, 6) + "," + String(longitude_gps, 6);
          debug_gps(link_gps);
          // proses_iot(link_gps); // aktifkan jika kirim ke server
          previousMillis_gps = currentMillis_gps;
        }
      }
    }
  }
}

void gpsTaskCallback() {
  koneksi_gps();
}

void setup() {
  Serial.begin(115200);
  gps_Serial.begin(9600);
  gps_runner.addTask(gpsTask);
  gpsTask.enable();
}

void loop() {
  gps_runner.execute();
  delay(1000);
}

Output yang Dihasilkan

Setelah modul GPS mendapatkan sinyal satelit, Serial Monitor akan menampilkan seperti ini:

gps Mencari Sinyal...
Read, NEW location : -1.594837,103.615983
&latitude=-1.594837&longitude=103.615983&gps=-1.594837,103.615983

Kamu bisa salin link tersebut ke aplikasi pelacakan atau mengirimkan ke API database IoT.

Tips Penggunaan GPS

  • Butuh waktu 30–60 detik saat pertama menyala (cold start).
  • Letakkan di luar ruangan atau dekat jendela untuk akurasi lebih baik.
  • Untuk update cepat, gunakan antena eksternal aktif.

Referensi penting dan contoh akurat dari:
randomnerdtutorials.com

Kesimpulan

Modul GPS Neo6MV2 dengan Arduino Uno memungkinkan proyek pelacakan lokasi menjadi lebih praktis dan akurat. Dengan bantuan TinyGPS++, kamu bisa memperoleh koordinat latitude dan longitude yang siap diproses atau dikirim ke server.

Modul ini cocok untuk:

  • Sistem pelacak kendaraan
  • Deteksi posisi alat berat
  • Monitoring logistik
  • Drone tracker
  • Proyek pelatihan IoT berbasis lokasi

Diskusi lebih lanjut kontak di bawah :

Media sosial lainnya :

Baca juga :

Baca Getaran Piezo dengan Arduino Uno

Sensor pH Air dengan Arduino Uno Tanpa Library