Introduction: Tracking and Controlling Your Car Remotely Using Arduino and Android
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.
Step 1: Components
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
Step 2: 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.
Step 3: Hardware Implementation
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
Step 4: 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; } } }
Step 5: Test
After uploading the code on the Arduino and connecting it with 1Sheeld and the fuse box in the car. All you have to do is to open the application in our mobile select the required shields as in the video (Accelerometer, GPS, SMS). Try to hide the mobile in a secret place in order not to be seen by the thief.
Step 6: Further Steps
Of course, we can add many other features as capturing an image using the camera in the mobile and send it to my mail to check the one how is driving the car, or send a video stream for the thief using Skype, or we can control the sound system in the car to play an Alarm to make the thief feel afraid ,,, etc
Unfortunately, we have always to turn on the mobile data to send image or videos through internet which will decrease the life of battery.
Yet, I think we can do it with much better trick to save power by using Tasker application. We can turn the mobile data and the GPS OFF and under certain condition from the sensors (say the Accelerometer), the mobile turn on both GPS and mobile data to use them. OR, use 1Sheeld from inside Tasker as a plugin to turn on or off them.
24 Comments
1 year ago
Is it possible to use esp32 on the same project?
3 years ago
If mobile network is unavailable then what to do sir? What about it? Plz tell me
5 years ago
Great job
I would like to ask you can I change the 1 sheeld and put Gsm,Gps shield and still control the car? because the phone battery that you put in car may dead.
Thanks
6 years ago
بالتوفيق شغلك حلو
6 years ago
Hi. I have a question, how do you start the car's engine after "stop" message are sent?
7 years ago
Great job Ashraf. Thanks for sharing...
8 years ago on Introduction
u can simply connect the hidden charger(directly connected with the battery) with the phone ,,so no need to worry about btry , and u can even put control of that with relay and programing i guess .. or u can directly connect the phone with car battery using some filters and transformers , instead of phone's battery .
8 years ago on Introduction
dear sir, in my Engineering project, i am using this concept as one of the application, i need the android source code alone for controlling the vehicle and mainly for tracking the GPS...please sir can u help me ?
Reply 8 years ago on Introduction
Hi sandy, here you will find the source code for 1Sheeld application, actually it is open source ,, https://github.com/Integreight/1Sheeld-App
Reply 8 years ago on Introduction
sir thanks for your most valuable reply, but i has some doubts in that project, i need to know how the android app and another mobile is connected with each other... and i am very happy to see your project video, because i am searching long time for this thing only since i am doing the project exactly what you did but with some small modifications, that modifications i will say you can you please assist me for the project? please sir, i need your valuable help...i am eagerly waiting for your positive reply...
Reply 8 years ago on Introduction
Basically, the mobile application is connected to Arduino via bluetooth through an arduino shield "1Sheeld" and I used a code to send and receive SMS from the mobile in the car. So whenever I send or receive SMS from my mobile phone to the phone in the car it can do different task, as knowing the location or turning off the car.
Reply 8 years ago on Introduction
sir thanks for your most valuable reply, but i has some doubts in that project, i need to know how the android app and another mobile is connected with each other... and i am very happy to see your project video, because i am searching long time for this thing only since i am doing the project exactly what you did but with some small modifications, that modifications i will say you can you please assist me for the project? please sir, i need your valuable help...i am eagerly waiting for your positive reply...
8 years ago on Introduction
the modifications which i made from your project " Tracking and Controlling your car remotely using Arduino and Android" is i used touch screen based vehicle ignition that is, i connected the android app and vehicle like same as what u did but instead arduino i using 8051 micro-controller, so after the key injects to the vehicle android will asks for password and after verifying password successfully the engine will starts and in case of wrong password alert message will be send to personal mobile, and after that all things are same as your project, and finally i used to detect the photo also which you proposed in your project video, so i need your help in how to add this touchscreen password and image detection in the app...for your information i know the basics in developing android app so if i get the guidance(help) surely i will do my project successfully...so please kindly help me sir
8 years ago on Introduction
dear sir, in my Engineering project, i am using this concept as one of the application, i need the android source code alone for controlling the vehicle and mainly for tracking the GPS...please sir can u help me ?
8 years ago on Introduction
The parallel relay configuration you used is a very dangerous for this application. There is nothing to protect the remaining relays from overamping as they fail and only one has to operate to make you think there is no problem. Consider moving the relay to another circuit with suitable current limits which will still disable the auto. The fuel pump is a good choice on many vehicles.
Reply 8 years ago on Introduction
Thanks a lot kuma ,, I think I should you the fuse in series again to protect the car or consider your choice of fuel pump :)
8 years ago
Great write up! just ordered parts to set this up on all my vehicles. Two suggestions. one-run a wired in charger with cut off when the engine is off and battery bank back up. two- instead of going through the fuse box run a simple cut off for the fuel pump.
Reply 8 years ago on Introduction
I'm so glad for being interested, I have got you first point, but the second one I don't get it about cut off for the fuel pump, can you please illustrate more :)
Reply 8 years ago
There is a ground wire and power wire to the fuel pump. The vehicle's computer sends power to pump when the ignition is turned on. The pump is usually grounded to the chassis nearby. The safest way to disrupt this is to put an in line switch on the ground wire. When you send the signal it will open the circuit, turning off the pump. This will allow the vehicle to coast to a stop(allowing them to pull over) in stead of an abupt stop, in some vehicles.
Reply 8 years ago on Introduction
Yeah I got it, Thanks a lot :)