CCCPaste

GPS Viewer rev_02

/********* Pleasedontcode.com **********

	Pleasedontcode thanks you for automatic code generation! Enjoy your code!

	- Terms and Conditions:
	You have a non-exclusive, revocable, worldwide, royalty-free license
	for personal and commercial use. Attribution is optional; modifications
	are allowed, but you're responsible for code maintenance. We're not
	liable for any loss or damage. For full terms,
	please visit pleasedontcode.com/termsandconditions.

	- Project: GPS Viewer
	- Source Code NOT compiled for: Arduino Nano
	- Source Code created on: 2025-11-07 17:48:18

********* Pleasedontcode.com **********/

/****** SYSTEM REQUIREMENTS *****/
/****** SYSTEM REQUIREMENT 1 *****/
	/* Show real time gps on map */
/****** END SYSTEM REQUIREMENTS *****/


/* START CODE */

#include 
#include 
#include 

// Define GPS serial pins
const uint8_t GPS_RX_PIN = A2;
const uint8_t GPS_TX_PIN = A3;
// Define GSM serial pins
const uint8_t GSM_RX_PIN = A0;
const uint8_t GSM_TX_PIN = A1;

// Instantiate GPS
TinyGPSPlus gps;
// Instantiate GSM
SoftwareSerial gpsSerial(GPS_RX_PIN, GPS_TX_PIN);
SoftwareSerial gsmSerial(GSM_RX_PIN, GSM_TX_PIN);
Sim800L sim800L(gsmSerial.read(), gsmSerial.write());

// Variables to hold GPS data
float latitude = 0.0;
float longitude = 0.0;

// Map URL template
const String mapUrlTemplate = "https://maps.google.com/?q=%f,%f";

void setup() {
    Serial.begin(9600);
    gpsSerial.begin(9600);
    gsmSerial.begin(9600);
    delay(1000);
    // Initialize GSM module
    sim800L.begin(9600);
    // Initialize GPS
    // GPS does not require special init in TinyGPS++
}

void loop() {
    // Read GPS Data
    while (gpsSerial.available() > 0) {
        gps.encode(gpsSerial.read());
    }
    // If new GPS data is available
    if (gps.location.isUpdated()) {
        latitude = gps.location.lat();
        longitude = gps.location.lng();
        // Show the GPS coordinates
        Serial.print("Latitude: "); Serial.println(latitude, 6);
        Serial.print("Longitude: "); Serial.println(longitude, 6);
        // Show the map URL
        String mapUrl = String("https://maps.google.com/?q=") + latitude + "," + longitude;
        Serial.println("Map URL: ");
        Serial.println(mapUrl);
    }
}

/* END CODE */