Remote Car Starter using Bluetooth

 by chrisjohnson55
IMAG0475.jpg
IMAG0471.jpg
IMAG0472.jpg
Welcome to a project of mine that has been in the works for a while. In this Instructable, I'll try to give you an idea of what I did to start my car using Bluetooth. First off, here is video to show what I have been able to accomplish.



Since I took this video, I have been able to put the Arduino chip onto its own board and fit everything into the little black box. I also bought a Bluetooth dongle for my computer so the range is significantly better.

In this Instructable, I'll do my best to step through the whole process I went through for this project.

Let's get started...

 
Remove these adsRemove these ads by Signing Up

Step 1: Requirements

Because I started this project from scratch, I needed some guidelines before I started to design the system. Here are the requirements that I set for my system before getting started:

1) The remote start system shall appear transparent to (not affect the operation of) the the vehicle's starting/operating system.

2) Functionality of the key-start shall be available at all times.

3) After starting, the engine shall remain operational regardless of Bluetooth connectivity.

4) After turning off, the engine shall remain off regardless of Bluetooth connectivity.

5) The engine shall start only while the shifter is in the neutral position.

6) The engine shall only start if the engine is not currently running.

7) The starter shall be disengaged after the engine reaches idle RPM or after 4 seconds have passed, whichever comes first.

8) The engine shall turn off if the vehicle is moving and the key is not in the ignition. (Note: This is to prevent theft and also to eliminate the possibility of the engine shutting off due to a failure in this remote start system.)

9) After starting, the engine shall automatically shut down after 30 minutes of operation. (Note: This is to prevent the vehicle from running out of gas if the user forgets that it was started.)
alterator says: Aug 8, 2012. 12:18 AM
int RPM = pulseIn(RPM_sens, HIGH, 1000000); //Get RPM value
if(RPM == 0) //Continue start sequence only if vehicle is not running.

--Don´t need the 1s timeout. it´s default.

int RPM = pulseIn(RPM_sens, HIGH); //Get RPM value
if (RPM > 1000)

-- and here - RPM will allways be >1000, in case the starter is engaged, even if the car hasn´t started yet.
1000us ---- 1ms (idle, as you wrote, is 44ms.anything below 44ms is averything above idle. better may be to take RPM and test if it´s lower than, say, 50ms)


anyway. nice ible you have there. I might ty to use it, but with rfid.
Let me know, what you think about the BS I wrote above. :D

BR
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!