• Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
Kamis, Maret 23, 2023
mikroavr.com
No Result
View All Result
  • Login
  • Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
  • Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
No Result
View All Result
mikroavr
No Result
View All Result
Home ESP32

Mendapatkan Waktu Akurat dengan NTP GPS

Jimmi Sitepu by Jimmi Sitepu
Mei 8, 2022
0 0
0
Mendapatkan Waktu Akurat dengan NTP GPS
0
SHARES
309
VIEWS
Share on FacebookShare on Twitter

Waktu Yang Seragam

Sering kali kita mendapati waktu yang tidak seragam pada beberapa tempat yang sama, misalkan di sebuah restoran, tempat wisata, dan tempat hiburan lain nya, dimana tempat da beberapa

Ada beberapa tempat yang membutuhkan display waktu yang akurat dan seragam, sebagai contoh misal di bandara. Di Bandara, waktu harus benar-benar seragam, karena waktu adalah hal yang sangat penting dalam jadwal keberangkatan pesawat.

READ ALSO

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Salah satu solusi untuk mendapatkan waktu yang seragam adalah, menggunakan GPS. Ketika saya uji time nya, sangat persis dengan time NTP yang di akses melalui internet. Ke untungan menggunakan GPS adalah tanpa menggunakan INTERNET, dedicate dari satelite GPS yang di dapatkan.

Kelemahan NTP menggunakan GPS adalah tidak terbaca nya waktu di indoor. Sehingga membutuhkan topology tersendiri agar signal GPS bisa di dapatkan di indoor.

Nah sekarang yuk kita coba membuat GPS Time menggunakan ESP32 dan Quectel L86 sebagai GPS nya

Wiring Config GPS

Pada Project kali ini kita menggunakan ESP32 Custome yang kita design sendiri, jika ingin dilihat lebih jauh, cukup click button di bawah ini

GPS Logger Custome ESP32

Wiring nya seperti berikut ,

  1. GPS RXD <-> GPIO16 ESP32
  2. GPS TXD <-> GPIO17 ESP32
  3. VCC <-> 3.3V
  4. GND <-> GND

Source Code Arduino

Sebelum kamu buat program nya, maka hal penting adalah add library GPS, link download nya ada pada link di bawah ini, cukup click dan download

download library tinyGPS ++ https://github.com/mikalhart/TinyGPSPlus

Add di Arduino IDE dan Ketikkan program di bawah ini

#include <TinyGPS++.h>
TinyGPSPlus gps;
#define ss Serial1
String str_lat = "";
String str_lon = "";
String str_date = "";
String str_time = "";
unsigned long cur_time, old_time;
int buf_detik, detik = 0;
int jam, menit;
int tahun, bulan, tanggal;
void setup()
{
  Serial.begin(115200);
  ss.begin(9600, SERIAL_8N1, 17, 16);
  delay(100);
}
void loop()
{
  read_gps();
  
  if (buf_detik != detik) {
    String str_buf_date = "";
    String str_buf_time = "";
    
    String str_tgl = "";
    String str_bln = "";
    
    String str_jam = "";
    String str_menit = "";
    String str_detik = "";
    
    str_bln = bulan < 10 ? "0" + String(bulan) : String(bulan);
    str_tgl = tanggal < 10 ? "0" + String(tanggal) : String(tanggal);
    
    str_buf_date = str_bln + "/" + str_tgl + "/" + String(tahun) + " ";
    str_date = str_buf_date;
    
    Serial.print(" tanggal/jam: ");
    Serial.print(str_date);
    str_detik = detik < 10 ? "0" + String(detik) : String(detik);
    str_menit = menit < 10 ? "0" + String(menit) : String(menit);
    str_jam = jam < 10 ? "0" + String(jam) : String(jam);
    
    
    str_buf_time = str_jam + ":" + str_menit + ":" + str_detik;
    str_time = str_buf_time;
    Serial.print(str_time);
    Serial.println();
    buf_detik = detik;
  }
}
void read_gps() {
  while (ss.available() > 0)
    if (gps.encode(ss.read()))
      displayInfo();
  if (millis() > 5000 && gps.charsProcessed() < 10)
  {
    Serial.println(F("No GPS detected: check wiring."));
    while (true);
  }
}
void displayInfo()
{
  if (gps.date.isValid())
  {
    bulan = gps.date.month();
    tanggal = gps.date.day();
    tahun = gps.date.year();
  }
  else
  {
    Serial.print(F("INVALID"));
  }
  if (gps.time.isValid())
  {
    jam =  gps.time.hour();
    detik = gps.time.second();
    menit = gps.time.minute();
    //convert to local zone, indonesia + 7
    jam = jam + 7;
    if (jam >= 24 ) {
      jam = jam - 24;
    }
  }
  else
  {
    Serial.print(F("INVALID"));
  }
}

Upload code dan lihat di serial Monitor, akan tampil seperti gambar berikut ini,

Hal Penting dalam Program

point penting dalam program ini adalah cuplikan code berikut:

jam = jam + 7;
if (jam &amp;gt;= 24 ) {
  jam = jam - 24;
}

Angka 7 pada program di atas adalah TIme zone yang kamu gunakan, karena time dari GPS yang didapat adalah di UTC +0.00, jadi rubah sesuai dengan time zone di tempat kamu.

Tutorial ini menggunakan Board CUSTOME ESP32 SIM7600 GPS Logger, request dari client, jika teman-teman membutuhkan nya, cukup tekan tombol whatsapp di bawah ini

Whatsapp Saya
ShareTweetShare
Previous Post

Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

Next Post

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Jimmi Sitepu

Jimmi Sitepu

Hobbyist Embedded System, Robotic, IOT and write all about them. So we have nice quote "Learning and Sharing"

Related Posts

sensor URM14 Arduino
ESP32

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega
Arduino

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G
IOT

Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

April 14, 2022
Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32
Arduino

Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Maret 9, 2022
Setting Parameter Dengan ESP32 HTML Form melalui Access Point
Arduino

Setting Parameter Dengan ESP32 HTML Form melalui Access Point

Desember 10, 2020
Mengirim Data Sensor Suhu dengan Komunikasi LoRa
Arduino

Mengirim Data Sensor Suhu dengan Komunikasi LoRa

November 26, 2020
Next Post
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

sensor URM14 Arduino

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Please login to join discussion

Tulisan Terbaru

sensor URM14 Arduino

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
Mendapatkan Waktu Akurat dengan NTP GPS

Mendapatkan Waktu Akurat dengan NTP GPS

Mei 8, 2022
Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

April 14, 2022
Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Maret 9, 2022
ethernet arduino

Arduino Ethernet Tutorial, Project dengan Arduino Uno dan Mega

Februari 24, 2022

Browse by Category

  • Arduino
  • Ebook
  • ESP32
  • IOT
  • jasa
  • Komponen
  • PCB
  • Produk
  • program Arduino
  • Project
  • Rangkaian
  • Sensor
  • Tips
  • Uncategorized

Recent News

sensor URM14 Arduino

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
  • About US
  • Blog
  • MIKROAVR

© 2020 mikroavr.com - Learning and sharing.

No Result
View All Result
  • About US
  • Blog
  • MIKROAVR

© 2020 mikroavr.com - Learning and sharing.

Welcome Back!

Sign In with Google
OR

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist