TUTORIAL GPS MODULE UBLOX NEO6MV2 MENGGUNAKAN ARDUINO


Terima kasih kepada teman-teman yang sudah mempercayakan Project Raspberry kepada saya, walaupun tutorial yg akan kita bahas hari ini ngga ada hubungannya dengan Raspberry pi :),tapi InsyaAllah untuk yg berhubungan dengan Raspberry Pi dalam waktu dekat akan saya tulis juga.Pada kesempatan ini kita akan membahas Tutorial GPS Module UBLOX NEO6MV2 Menggunakan Arduino.saya memilih module ini karena ,Module UBLOX NEO6MV2 harganya relatif murah dan mudah di dapatkan karena banyak di jual di toko online dan offline :).

GPS singkatan dari Global Positioning System ,GPS biasa di gunakan untuk mendapatkan data lokasi berupa kordinat longitude dan latitude, dari data tersebut bisa di ketahui posisi kita di map,misalnya dengan bantuan google map atau di integrasikan dengan program PHP dan Mysql untuk di proses.

Module GPS UBLOX NEO6MV2 relatif mudah di gunakan, bisa langsung di hubungkan ke mikrokontroler Arduino karena memiliki komunikasi data secara serial,tapi karena level tegangan TTL 3.3 V, sehingga  harus menggunakan resistor pembagi tegangan atau TTL converter untuk koneksi ke Arduino.GPS UBLOX NEO6MV2.Module GPS ini komunikasi dengan arduino dengan metode serial dengan Baudrate default 9600.


MODULE / PART YANG DI BUTUHKAN
    1. Arduino Uno 
    2. GPS MODULE UBLOX NEO6MV2  
    3. 10kΩ resistor 
    4. 4.7kΩ resistor 
    5. Mini Breadboard
    6. Kabel Jumper Secukupnya
    Library :
    Download library
    GPS MODULE UBLOX NEO6MV2  di sini (sumber : mikalhart)
     
      WIRING DIAGRAM

      ALOKASI PIN ARDUINO   

      NEO6MV2   Arduino     
      TX 3
      RX 4
      VCC +5V/+3.3V
      GND Gnd

      CONTOH PROGRAM 

      /*******************************************************
      Program : GPS MODULE UBLOX NEO6MV2
      Chip : Arduino Uno
      ********************************************************/
       
      #include <SoftwareSerial.h>
      #include <TinyGPS.h>

      TinyGPS gps;
      SoftwareSerial ss(4, 3);

      void setup()
      {
      Serial.begin(115200);
      ss.begin(9600);

      Serial.println(" GPS MODULE UBLOX NEO6MV2 ");
      Serial.println();
      }

      void loop()
      {
      bool newData = false;
      unsigned long chars;
      unsigned short sentences, failed;

      // For one second we parse GPS data and report some key values
      for (unsigned long start = millis(); millis() - start < 1000;)
      {
      while (ss.available())
      {
      char c = ss.read();
      // Serial.write(c); // uncomment this line if you want to see the GPS data flowing
      if (gps.encode(c)) // Did a new valid sentence come in?
      newData = true;
      }
      }

      if (newData)
      {
      float flat, flon;
      unsigned long age;
      gps.f_get_position(&flat, &flon, &age);
      Serial.print("LAT=");
      Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
      Serial.print(" LON=");
      Serial.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);
      Serial.print(" SAT=");
      Serial.print(gps.satellites() == TinyGPS::GPS_INVALID_SATELLITES ? 0 : gps.satellites());
      Serial.print(" PREC=");
      Serial.print(gps.hdop() == TinyGPS::GPS_INVALID_HDOP ? 0 : gps.hdop());
      }

      gps.stats(&chars, &sentences, &failed);
      Serial.print(" CHARS=");
      Serial.print(chars);
      Serial.print(" SENTENCES=");
      Serial.print(sentences);
      Serial.print(" CSUM ERR=");
      Serial.println(failed);
      if (chars == 0)
      Serial.println("** No characters received from GPS: check wiring **");
      }

      Link Referensi :

      https://github.com/mikalhart/