Tutorial Arduino Real Time Clock GPS Neo 6M Sesuai Timezone

Bawaan waktu dari GPS Neo 6M tidak sama dengan waktu yang ada di indonesia, dan itu artinya GPS Neo 6M tidak menggunakan timezone jakarta. Pada artikel ini akan dibahas cara mudah menggunakan RTC GPS Neo 6M sesuai Zona Waktu Indonesia. Tutorial Arduino GPS Neo 6M. Tutorial ESP32 GPS Modul, Program ESP8266 NodeMCU GPS Neo 6M

Perbedaan waktu bawaan GPS dengan waktu yang sebenarnya di Indonesia sekitar 7 Jam, dan itu sesuai dengan GMT jakarta yaitu GMT+7 untuk WIB

Artikel ini membahas penuh cara menghitung atau mengkonversi waktu dari RTC yang ada di GPS Neo 6M agar sesuai dengan waktu yang sebenarnya di Indonesia menggunakan Arduino

Artikel ini juga bisa digunakan untuk mikrokontroler lain seperti NodeMCU ESP8266 atau ESP32 atau Wemos D1 Mini ESP8266, tinggal menyesuaikan penggunakan pin serialnya saja.

Library yang digunakan untuk mengambil data dari modul GPS bisa menggunakan SoftwareSerial atau HardwareSerial kemudian data tersebut di encode dengan menggunakan library TinyGPS++

Sedangkan untuk mengkonversi waktunya sesuai dengan zona waktu indonesia kita perlu library Time atau TimeLib

Library diatas bisa digunakan untuk Arduino, ESP8266 NodeMCU, Wemos D1 Mini ESP8266 atau ESP32 dengan Arduino IDE untuk memproses waktu yang ada pada RTC modul GPS Neo 6M

Tutorial Lengkap Arduino GPS Neo 6M dan ESP8266 ESP32

Menggunakan Modul GPS Neo 6M dengan Arduino

  1. Siapkan terlebih dahulu modul Arduino Uno/Mega/Nano/Promini atau ESP8266 NodeMCU/Wemos D1 Mini dan sebagainya
  2. Siapkan Modul GPS Neo 6M dan jangan lupa antenanya
  3. Hubungkan Modul mikrokontroler dengan modul GPS Neo 6M
  4. Buat program pembacaan data serial
  5. Encode dengan code dari library TinyGPS++
  6. Konversikan waktu sesuai GMT yang diinginkan menggunakan library TimeLib.h
  7. Upload dan perhatikan di serial monitor

Cara Mudah Mendapatkan Sinyal GPS Neo 6M Arduino

  1. Gunakan Antena GPS yang bagus
  2. Coba diluar ruangan untuk memudahkan GPS mendapatkan sinyal
  3. Tunggu beberapa menit untuk modul GPS siap menerima sinyal
  4. Selebihnya saya juga kurang tau bagaimana meningkatkan kinerja modul GPS Neo 6M tapi bisa dicoba juga dengan meningkatkan arus nya, misalkan menggunakan adaptor yag memiliki kemampuan 2A atau lebih karena biasanya GPS butuh arus yang besar.

Tutorial RTC GPS dengan modul Neo 6M Arduino Lengkap

Setelah semua alatnya tersedia silahkan kalian ikuti rangkaian yang ada pada gambar dibawah ini

Skamatik Arduino Uno GPS Neo 6M RTC
Tutorial Program dan Skamatik NodeMCU ESP8266 Uno GPS Neo 6M RTC
Tutorial Program dan Skamatik Wemos D1 Mini ESP32 Uno GPS Neo 6M RTC

Buat program berikut untuk membaca data mentah dari modul GPS Neo 6M menggunakan Arduino atau ESP8266 atau ESP32 tinggal sesuaikan saja pin serialnya.

Cuma mau kasih tau ESP32 punya hardwareserial silahkan manfaatkan pin GPIO17 dan GPIO16

Program Membaca Data Mentah GPS Neo 6M Arduino

#include <SoftwareSerial.h>
SoftwareSerial Serial2 (7, 6);

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
Serial2.begin(9600);

}

void loop() {
  // put your main code here, to run repeatedly:
if (Serial.available())
Serial2.write(Serial.read());
if (Serial2.available())
Serial.write(Serial2.read());
}

Dan berikut adalah program untuk membaca waktu RTC sesuai jam dan tanggal yang ada di indonesia WIB serta data lokasi GPS latitude dan longitude

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

static const int RXPin = 7, TXPin = 6;

SoftwareSerial Serial2(RXPin, TXPin);
TinyGPSPlus gps;

char wjam[10], wtanggal[10];

const int UTC_offset = 7;
time_t prevDisplay = 0;

void setup()
{
  Serial.begin(9600);
  Serial2.begin(9600);

  Serial.println("Waiting for GPS time ... ");
}

void loop()
{
  GPS_Timezone_Adjust();
}

void GPS_Timezone_Adjust() {

  while (Serial2.available()) {
    if (gps.encode(Serial2.read())) {

      int Year = gps.date.year();
      byte Month = gps.date.month();
      byte Day = gps.date.day();
      byte Hour = gps.time.hour();
      byte Minute = gps.time.minute();
      byte Second = gps.time.second();

      // Set Time from GPS data string
      setTime(Hour, Minute, Second, Day, Month, Year);
      // Calc current Time Zone time by offset value
      adjustTime(UTC_offset * SECS_PER_HOUR);
    }
  }

  // -- Delete this section if not displaying time ------- //
  if (timeStatus() != timeNotSet) {
    if (now() != prevDisplay) {
      prevDisplay = now();
      tampilkan();
    }
  }
}

void tampilkan() {
  if (gps.location.isValid())
  {
    Serial.print ("Latitude :");
    Serial.print(gps.location.lat());
    Serial.print ("\tLongitude :");
    Serial.print(gps.location.lng());
  }
  else {
    Serial.print("Lokasi Belum Terbaca");
  }

  if (gps.date.isValid() && gps.time.isValid())
  {
    sprintf (wjam, "%02d:%02d:%02d", hour(), minute(), second());
    Serial.print("\tWaktu = ");
    Serial.print(wjam);
    sprintf (wtanggal, "%02d/%02d/%02d", day(), month(), year());
    Serial.print("\tTanggal :");
    Serial.println(wtanggal);
  } else {
    Serial.println("\tWaktu Belum Terbaca");
  }

}

Hasil dari program diatas akan menampilkan lokasi latitude dan longitude serta data jam dan tanggal sesuai waktu indonesia bagian barat atau zona waktu jakarta GMT+7

Keyword

  1. Tutorial GPS Neo 6M Arduino,
  2. Program Mudah GPS 6M Arduino,
  3. GPS Arduino,
  4. Arduino GPS Program,
  5. Kode GPS Arduino,
  6. GPS Tracker Arduino,
  7. Setting Waktu RTC GPS Arduino,
  8. Tutorial ESP8266 GPS,
  9. Tutorial NodeMCU GPS Modul,
  10. Tutorial ESP32 GPS,
chaerul

Recent Posts

Panduan Lengkap: Cara Menyiapkan Klaster Kubernetes pada Ubuntu 22.04 LTS

Pendahuluan Dalam dunia pengembangan perangkat lunak yang terus berkembang, Kubernetes telah muncul sebagai alat kunci dalam orkestrasi…

2 weeks ago

AplikasiAkademik.com: Solusi Terbaik untuk Manajemen Sekolah yang Efisien

Mengelola sebuah sekolah atau lembaga pendidikan adalah tugas yang kompleks dan penuh tantangan. Dengan berbagai…

7 months ago

Cara Mudah Menginstal OpenVPN Server di Ubuntu 20.04 di Huaweicloud Panduan Langkah demi Langkah

Selamat datang di artikel kami tentang cara menginstal OpenVPN server di Ubuntu 20.04 di HuaweiCloud!…

12 months ago

Install Docker Portainer dan Nginx Proxy Manager Ubuntu Server

Dalam dunia pengembangan aplikasi, salah satu hal yang menjadi penting adalah mengelola dan memonitor kontainer…

1 year ago

Tutorial led blinking lengkap, Wiring & Code

Tutorial led blinking. LED (Light Emitting Diode) merupakan salah satu komponen elektronik yang paling umum…

1 year ago

Tutorial LCD Display Lengkap dengan wiring & code untuk pemula

Tutorial LCD Display, ini merupakan salah satu komponen yang sering digunakan dalam project elektronika sebagai…

1 year ago