GPS Tracker - DIY - Arduino - Quectel L80 - SIM800
by Pratik Makwana in Circuits > Arduino
5017 Views, 11 Favorites, 0 Comments
GPS Tracker - DIY - Arduino - Quectel L80 - SIM800
In this instructable, I will show you how to make your very own GPS Tracker.
Let's Do it...
Designing of the Circuit
Design schematic diagram in EDA tool (PCB Design Software).
List of EDA Tools (PCB Design Software):
- DipTrace
- EAGLE PCB Design
- Kicad EDA
- Express PCB
- Proteus PCB Design & Simulation software
- Altium Designer
- NI Multisim
You can select any one of them.
I prefer EAGLE PCB Design Software.
Designing of the PCB Layout
After designing of the schematic diagram, Now start designing of PCB Layout in the Eagle EDA tool (PCB Design Software).
Soldering Process - SMD
Burning the Firmware - ATMega328-AU
Test Code:
#include<SoftwareSerial.h>
#include<TinyGPS++.h>
TinyGPSPlus gps; SoftwareSerial gpsSerial(8, 9); // (RX, TX) const int POWERKEY = 3; String str3; const int LED = 13;
void setup() { Serial.begin(9600); gpsSerial.begin(9600); pinMode(LED, OUTPUT); pinMode(POWERKEY, OUTPUT); digitalWrite(LED, HIGH); digitalWrite(POWERKEY, HIGH); delay(3000); digitalWrite(LED, LOW); digitalWrite(POWERKEY, LOW); }
void loop() { while (gpsSerial.available() > 0) { if (gps.encode(gpsSerial.read())) { if (gps.location.isValid()) { digitalWrite(LED, HIGH); Serial.println("AT"); delay(1000); Serial.println("AT+CPIN?"); delay(1000); Serial.println("AT+CREG?"); delay(1000); Serial.println("AT+CGATT?"); delay(1000); Serial.println("AT+SAPBR=3,1,\"Contype\",\"GPRS\""); delay(1000); Serial.println("AT+SAPBR=3,1,\"APN\",\"Your APN Name\""); delay(1000); digitalWrite(LED, LOW); Serial.println("AT+SAPBR=1,1"); delay(1000); Serial.println("AT+SAPBR=2,1"); delay(1000); Serial.println("AT+HTTPINIT");//start task and setting the APN, delay(2000); Serial.println("AT+HTTPPARA=\"CID\",1");//bring up wireless connection delay(1000); Serial.println("AT+HTTPPARA=\"URL\", Your API - latitude=" + String(gps.location.lat(), 6) + "&longitue=" + String(gps.location.lng(), 6)); digitalWrite(LED, HIGH); delay(4000); digitalWrite(LED, LOW); Serial.println("AT+HTTPACTION=0");//close the connection delay(5000); Serial.println("AT+HTTPREAD");//close the connection delay(5000); Serial.println("AT+HTTPTERM");//close the connection delay(500); digitalWrite(LED, HIGH); delay(500); digitalWrite(LED, LOW); } } } }