GPS dan ESP32: Kombinasi Cerdas
ESP32 adalah mikrokontroler yang mendukung konektivitas Wi-Fi dan Bluetooth, ideal untuk proyek IoT. Dengan modul GPS, ESP32 dapat menentukan lokasi secara akurat. Kombinasi ini memungkinkan pembuatan aplikasi seperti pelacakan kendaraan dan sistem navigasi yang efisien, memanfaatkan kemampuan kedua teknologi untuk inovasi yang lebih baik.

Berikut Merupakan Codingan Yang Telah Kami Sediakan, Telah Diuji Untuk Memastikan Keakuratan Serta Kestabilannya.
#include <Arduino.h>
#include <SoftwareSerial.h>
#include <TinyGPS++.h>
#include <TaskScheduler.h>
SoftwareSerial gps_Serial(D2, D3); // RX, TX (ESP) | TX, RX (GPS)
TinyGPSPlus gps;
unsigned long previousMillis_gps = 0;
const long interval_gps = 5000;
Scheduler gps_runner;
void debug_gps(String text);
void koneksi_gps();
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) {
String link_gps;
if (String(latitude_gps, 6)=="0.000000" || String(longitude_gps, 6)=="0.000000")
{
debug_gps("gps : 0");
}
else
{
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);
previousMillis_gps = currentMillis_gps;
}
}
}
}
}
void gpsTaskCallback() {
koneksi_gps();
}
void setup()
{
Serial.begin(9600);
Serial.begin(115200);
gps_Serial.begin(9600);
gps_runner.addTask(gpsTask);
gpsTask.enable();
}
void loop(){
gps_runner.execute();
delay(1000);
}
untuk skematik, kamu bisa menggunakan gambar berikut:

Untuk pengujian, kami telah melakukan uji coba ! JIKA TERTARIK Tonton video di bawah ini untuk melihat bagaimana program ini berfungsi dengan baik!
Selamat mencoba! Semoga sukses dengan proyekmu. Jadikan setiap langkah sebagai pengalaman berharga. Salam dari Labrobotika, tempat inovasi dan kreativitas!
Jika anda berminat menggunakan jasa labrobotika, silahkan hubungi admin: WHATSAPP

