Tracking and Controlling your car remotely using Arduino and Android

By on April 22, 2015

Web site:

http://www.instructables.com/id/Tracking-and-Controlling-your-car-remotely-using-A/

Project Summary:

Actually, many of us may suffer or afraid from being his car stolen. In this project, I will try to help you to protect your cars and even control them remotely.

Basically, you have to leave a mobile phone in your car and when the car starts to move it uses its sensors to detect that and will send to you a message on your mobile phone where ever you are. Then, you can send a message to stop the car immediately so the thief couldn't turn it on again as well you can send another message to know its location using GPS to get it from there.

All of these can be implemented so easily and requires no experience in coding. All you need is Arduino, any Android smart phone and 1Sheeld that connects the mobile and Arduino via Bluetooth and make use of its mobile app, so no need for Android coding.

Full Project:

Concept of Operation

Actually, I got the idea when I saw this video. By removing the fuse in the car power section that connects between the car keys and the engine, you can turn off the engine. So, I decide to put a relay at this node to control whether I want to turn off the engine or not.

But, you can be too careful, since the max. current pass throw the fuse is a around 40 A. so it is too much high. You have to get the right relay.

I couldn’t find a 40A relay at any near electronics store to me, so I decided to get a relay kit (4 relays) each one can carry 10 A and use them in parallel to divide the total current on them.

 

Circuit diagram:

Hardware Implementation

Picture of Hardware Implementation
IMG_20141216_112305.jpg
IMG_20141216_112317.jpg
IMG_20150123_181219.jpg
IMG_20141216_112639.jpg

1- I have bought a car fuse and disconnect it as shown in figure.

2- Use these 2 terminals and connect them to the relay.

3- Connect the relay board to the Arduino.

4- Place 1Sheeld on top of Arduino

Bill of Materials:

Picture of Components
F1W6WR6HZ6T9K9G.LARGE.jpg
93940_3.jpg
rkrelay4-relay-module-great-for-atmel-arduino-raspberry-pi-self-build-kit-735-p.jpg
4-PCS-LOT-32V-40A-Green-PAL-Pacific-font-b-Type-b-font-J-Case-Female.jpg

1- Arduino Uno.

2- 1Sheeld.

3- Relay (12V- 40A) OR 4X Relays (10A).

4- Car Fuse

5- Android Mobile Phone.

6- Wires and Solder.

7- Battery

Software & Code Snippets:

Arduino Sketch & Mobile App

Picture of Arduino Sketch & Mobile App

If this your first time to deal with 1Sheeld, you have to download the mobile application and the Arduino library fro here. As well, it would be better to try any other code form the documentation in order to feel free with it.

Basically, the code is so simple and easy. It based on sensing the if the car moved using the Accelerometer sensor for the smart phone, and then send you a SMS if the car moved as a notification for you. when you received that SMS, you have 2 options:

Firstly, to send the “gps” as an SMS for the mobile phone in the car to get the car’s position (Longitude and Latitude).

Secondly, to send “stop” as an SMS for the mobile phone in the car to stop the car by switching the relay we have placed instead of the fuse.

#include <OneSheeld.h>
char* gps = "gps";
char* stopp = "stop";
float lat ;                           
float lon ;
int lock = 12;
char charlat [12];
char charlon [12];
char readings [80];
boolean flag1 = false;
boolean flag2 = false;
boolean flag3 = false;
void setup()
{
  OneSheeld.begin();
  pinMode(lock,OUTPUT);
}
void loop() {  
  if(abs(AccelerometerSensor.getY()) > 1.5 )
  {
    if(!flag1)
    {   
      SMS.send("01004078579","The car is moving !!");
      flag1 = true;  
    }
  }
   if(!strcmp(SMS.getSms(),stopp)) 
  {
    if(!flag2)  
    {
      digitalWrite(lock,HIGH);
      flag2 = true;
    }
  }
  if(!strcmp(SMS.getSms(),gps)) 
  {
    if(!flag3)  
    {
      lat = GPS.getLatitude(); 
      lon = GPS.getLongitude(); 
      dtostrf(lat, 11, 7, charlat); 
      dtostrf(lon, 11, 7, charlon); 
      strcat(readings,"latitude is : ");   
      strcat (readings,charlat);  
      strcat(readings,"nLongitude is : "); 
      strcat (readings,charlon);
      SMS.send("01004078579",readings);                             
      flag3 = true;
    }                                        
  } 
}

About Ashraf Nabil

One Comment

Leave a Reply

Your email address will not be published.