Table of Contents

Play Video

VEHICLE TRACKER AND ANTI THEFT

This project is an innovative solution that combines GPS and GSM technology to offer reliable vehicle tracking and theft prevention. It helps people by ensuring their vehicles' safety, providing real-time location updates, and sending immediate alerts in case of unauthorized movement.

The “Smart Tracking and Antitheft” system is an innovative project designed to provide real-time vehicle tracking and theft prevention using GPS and GSM technologies. This system employs the GPS NEO-6M module for location tracking, the GSM SIM 800L module for communication, and the Arduino Uno as the central controller.

Components Required:

  1. Arduino Uno
  2. GPS NEO-6M Module
  3. GSM SIM 800L Module
  4. Breadboard and Jumper wires
  5. Power supply

Circuit Connection:

  • Connect the GPS NEO-6M module’s TX pin to Arduino pin 11 and RX pin to Arduino pin 10.
  • Connect the GSM SIM 800L module’s TX pin to Arduino pin 2 and RX pin to Arduino pin 3.
  • Ensure all modules are properly powered.

Working: The system works by continuously monitoring the vehicle’s location through the GPS module and transmitting this data to the user via the GSM module. If any unauthorized movement is detected, the system sends an immediate alert to the user’s mobile phone with the current location coordinates. This provides real-time updates and enhances the security of the vehicle.

Applications:

  1. Vehicle Theft Prevention: Immediate alerts on unauthorized movement help prevent vehicle theft.
  2. Personal Vehicle Tracking: Individuals can monitor their personal vehicles for safety and convenience.
  3. Logistics and Delivery Services: Ensures real-time tracking of delivery vehicles, improving service efficiency.
#include "Arduino.h"


// Pin Definitions
#define GPS_PIN_TX	11
#define GPS_PIN_RX	10
#define SIM800L_SOFTWARESERIAL_PIN_TX	2
#define SIM800L_SOFTWARESERIAL_PIN_RX	3



// Global variables and defines

// object initialization


// define vars for testing menu
const int timeout = 10000;       //define timeout of 10 sec
char menuOption = 0;
long time0;

// Setup the essentials for your circuit to work. It runs first every time your circuit is powered with electricity.
void setup() 
{
    // Setup Serial which is useful for debugging
    // Use the Serial Monitor to view printed messages
    Serial.begin(9600);
    while (!Serial) ; // wait for serial port to connect. Needed for native USB
    Serial.println("start");
    
    
    menuOption = menu();
    
}

// Main logic of your circuit. It defines the interaction between the components you selected. After setup, it runs over and over again, in an eternal loop.
void loop() 
{
    
    
    if(menuOption == '1')
    {
    // Disclaimer: The Ublox NEO-6M GPS Module is in testing and/or doesn't have code, therefore it may be buggy. Please be kind and report any bugs you may find.
    }
    else if(menuOption == '2')
    {
    // Disclaimer: The QuadBand GPRS-GSM SIM800L is in testing and/or doesn't have code, therefore it may be buggy. Please be kind and report any bugs you may find.
    }
    
    if (millis() - time0 > timeout)
    {
        menuOption = menu();
    }
    
}



// Menu function for selecting the components to be tested
// Follow serial monitor for instrcutions
char menu()
{

    Serial.println(F("\nWhich component would you like to test?"));
    Serial.println(F("(1) Ublox NEO-6M GPS Module"));
    Serial.println(F("(2) QuadBand GPRS-GSM SIM800L"));
    Serial.println(F("(menu) send anything else or press on board reset button\n"));
    while (!Serial.available());

    // Read data from serial monitor if received
    while (Serial.available()) 
    {
        char c = Serial.read();
        if (isAlphaNumeric(c)) 
        {   
            
            if(c == '1') 
    			Serial.println(F("Now Testing Ublox NEO-6M GPS Module - note that this component doesn't have a test code"));
    		else if(c == '2') 
    			Serial.println(F("Now Testing QuadBand GPRS-GSM SIM800L - note that this component doesn't have a test code"));
            else
            {
                Serial.println(F("illegal input!"));
                return 0;
            }
            time0 = millis();
            return c;
        }
    }
}
Scroll to Top