Disaat Pandemi Covid-19 saat ini angka kejahatan meningkat. Hal ini karena berbanding lurus dengan Angka pengangguran yang meningkat. Kejahatan yang paling banyak adalah begal dan pencurian kendaraan bermotor. Kali ini kami akan berbagi tentang Tutorial Membuat GPS Tracker menggunakan GPS NEO 6M dan SIM800L Berbasis Arduino Uno. Alat ini berfungsi untuk melakukan pelacakan Posisi kendaraan kita menggunakan GPS.
Baca Juga : Cara Program dan Akses Modul GSM SIM800L V.1 Menggunakan Arduino Nano/Uno.
Cara kerjanya adalah jika kita mengirimkan perintah pelacakan pada GPS Tracker, maka SIM800L akan mengirimkan SMS berupa link Koordinat Posisi Kendaraan kita. Link tersebut bisa digunakan untuk melacak Posisi Kendaraan menggunakan Google Maps.
Berikut ini adalah Bentuk Fisik dari GPS NEO 6M:
Berikut ini adalah Schematic Diagram GPS Tracker menggunakan GPS NEO 6M dan SIM800L Berbasis Arduino Uno :
Berikut ini adalah Hardware yang dibutuhkan :
1. Arduino Uno R3 >>> BELI DISINI
2. Module GPS NEO 6M >>> BELI DISINI
3. Module SIM800L >>> BELI DISINI
4. Dioda 1N4007 >>> BELI DISINI
5. Elco 470uF/16 Volt >>> BELI DISINI
6. Kabel Jumper Secukupnya >>> BELI DISINI
Berikut ini adalah Code Programnya :
/***************************
Tutorial Membuat GPS Tracker menggunakan GPS NEO 6M dan SIM800L Berbasis Arduino Uno
Oleh : Arduino Indonesia
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com
Copyright @2020
****************************/
#include "SIM900.h"
#include "sms.h"
SMSGSM sms;
char buffer[160];
char smsbuffer[160];
char n[20];
unsigned long last = 0UL;
#include "SoftwareSerial.h"
#include <TinyGPS++.h>
TinyGPSPlus gps;
#include <PString.h>
PString str(buffer, sizeof(buffer));
String kirim="";
int Buzzer = 12;
void setup()
{
pinMode(Buzzer,OUTPUT);
Serial.begin(9600);
if (gsm.begin(9600))
{
sms.SendSMS("Nomor HP Anda", "GPS TRACKER ONLINE");
delsms();
digitalWrite(Buzzer,HIGH);
delay(1000);
digitalWrite(Buzzer,LOW);
delay(1000);
digitalWrite(Buzzer,HIGH);
delay(1000);
digitalWrite(Buzzer,LOW);
delay(1000);
digitalWrite(Buzzer,HIGH);
delay(1000);
digitalWrite(Buzzer,LOW);
delay(1000);
}
}
void loop()
{
kirim="";
while (Serial.available() > 0)
if( gps.encode(Serial.read()))
info();
}
void(* resetFunc) (void) = 0;
void delsms()
{
for (int i=0; i<10; i++)
{
int pos=sms.IsSMSPresent(SMS_ALL);
if (pos!=0)
{
if (sms.DeleteSMS(pos)==1)
{
}
else
{
}
}
}
}
void info()
{
str.begin();
str.print("https://maps.google.com/maps?q=");
str.print(gps.location.lat(), 6);
str.print(F(","));
str.print(gps.location.lng(), 6);
kirim=str;
int pos=0;
pos=sms.IsSMSPresent(SMS_ALL);
if(pos)
{
sms.GetSMS(pos,n,20,smsbuffer,100);
if(!strcmp(smsbuffer,"TrackingGPS"))
{
digitalWrite(Buzzer,HIGH);
str.begin();
str.print(kirim);
sms.SendSMS(n,buffer);
digitalWrite(Buzzer,LOW);
}
if(!strcmp(smsbuffer,"ResetGPS"))
{
sms.SendSMS(n,"GPS TRACKER RESET");
delay(5000);
resetFunc();
}
delsms();
}
}
Selamat Mencoba.