Anticarjacking - does this approach make sense to you ?

Dear all,

I'm preatty new on the community and I only built one very simple assembly (thank's to you) since I received my first arduino.

Sorry if my English is bad, I'm based in France. I miss some vocabulary :%

Today I would like to build a kind of anticar jacking board, it would be certainly adapatable on all kind of car.

By car jacking please understand somebody who hold up you to rob your car.
Or the guy robs your car while the engine is ON and you... out and far from the car.

Here is how I would like it to work. :wink:

If the driver door has been opened and closed while the engine is strated and if you didn't pushed an hidden button before XX seconds a sound signal will be heard, if 10 seconds after the signal started you didn't pushed the hidden button a relay will be activated (to "cut" the power of the petrol pump connected on the normaly closed contact).

The noise is here just for you in order to wake up you if you forgot to push the button.

So we have two inputs and two outputs, I'm sure the sketch will be easy to be written for most of you (but not yet for me).
IN: door open contact (it's a drain to GND) + engine running information (it's a +12v - it comes from the MUX-DEMUX electronic box)
OUT: buzzer PIN + relay positive command

I don't worry about the hardware, but here is how I see the sketch...

If engine is NOT started do nothing.
If engine is started continue:
Count how much door changes state, if 0 or 1 (open) do nothing, if 2 (open + close) do the sequence: wait 10" + BIP 10" + close relay (until you pushed the button to be out of the loop and reset door change state counter).
The sequence can be exited and door counter reseted at any time when the button is pressed.

Does this makes sense to you ?
Did you ever see a project like this ?
How go out of the sequence when it has been initiated ? Is it by INTERRUPT ?
Any suggestion will be welcomed (if you think this can be managed differently, if you have any idea how to write it even if I know it's not the philosophy of the forum - I mean I have to search how to do myself).

Thank you :stuck_out_tongue_closed_eyes:

Antoine.

I have only briefly lived in a place where car-jacking was an issue, and in that situation you would want the car (and its hijackers) a LOT further than ten seconds away from you before they realised that they still needed you to make the car go.

]:slight_smile:

Thank you Peter :wink:

Yes you're right I'll put more, it was an example... change 10000 to 60000 (ms) is OK for me, build the code is another story (that's why I'm there ^_^)

Have a nice weekend :slight_smile:

If you have a longer delay between the car-jacking and the activation of the fuel cut-off (say a few minutes) the cut-off will introduce a very real risk of a car crash in which innocent people are killed or injured. I don't think your insurance company would be happy. Whereas they won't mind paying the much smaller cost if the car is stolen and or damaged.

Buy an old car that car-jackers won't be interested in. Saves money on all sides :slight_smile:

...R

In my community, steering wheel locks have proven 100% effective. Not a single vehicle so locked has been stolen. Evidently when the thieves see one, they just go elsewhere.

Advise - anything attached to automotive system, even if you signal by ground only, needs to have protection from higher than 12V positive, accidental reverse voltage, reverse EMF ( relays) and extreme temperatures - hot and cold.
These "conditions" usually cause erratic operation, random resets etc.
Good look, but keep it as simple as feasible.
Vaclav

Robin2:
If you have a longer delay between the car-jacking and the activation of the fuel cut-off (say a few minutes) the cut-off will introduce a very real risk of a car crash in which innocent people are killed or injured.

I don't think the risk (of loss-of-power causing death or injury) is very high, and it could easily be mitigated by making the power loss gradual. Just as food for thought, I've seen an OEM alarm installation which left the starter enabled but killed the ECU and fuel pump, and also bypassed the fuel sensor so that the gauge read zero.

Thank you guys, all your remarks are good (except for jremington :stuck_out_tongue: I don't use to drive with a steering wheel locks :D).

In France there is an equivalent to this system and it's called bloc'vol (anti-theft would be the english translation).
And by reading your post Robin I remember that bloc'vol relay is not permanently activated (hashed ! exactly as Peter said) and it's legal.

Vaclav, yes I know everything will be optocoupled (as I already done in my first project realised thanks to this community), the hardware is not the problem today...

I really appreciate all your comments but I don't really know how to start and if INTERUPT (by checking button state) is the only way to stop the sequence... :drooling_face:

Regards, Antoine.

I believe that interrupts should be used when interfacing to hardware, no matter if slow of fast. Unfortunately their usage in OS went away with Windows.
However, using pooling instead has the advantage that one can monitor the process – either its progress or timing. I suppose loops are also easier to visualize or document and debug.
I vote for interrupts.
Vaclav

advfr:
I really appreciate all your comments but I don't really know how to start and if INTERUPT (by checking button state) is the only way to stop the sequence... :drooling_face:

Interrupts are not a good way to tackle the problem. See the State Change Detection example sketch to see how to monitor an input and detect when it changes state. You would use this to detect the door opening and closing, and the 'secret button' presses. The simplest way to implement the logic would be as a finite state machine, where you have a variable which records the current state of the vehicle i.e. where you are in the sequence of starting engine, opening door, closing door. If you search the forum you will see plenty of examples and explanations about this. You will also need to measure elapsed time while you are in the 'potentially car-jacked' state. The Blink Without Delay example shows how to do that.

Robin2:
If you have a longer delay between the car-jacking and the activation of the fuel cut-off (say a few minutes) the cut-off will introduce a very real risk of a car crash in which innocent people are killed or injured.

All ears, but care to explain how a crash could be caused by the engine losing power?

Let me guess - you are proposing that the extra time will allow them to get onto a motorway?

jremington:
In my community, steering wheel locks have proven 100% effective. Not a single vehicle so locked has been stolen. Evidently when the thieves see one, they just go elsewhere.

If you have a desirable car or a less desirable neighborhood, thieves just cut a chunk out of the the weak steering wheel and toss aside the strong, still locked, and fully intact, lock.

Also, a lock generally doesn't help with a carjacking (someone taking the car while you were using it). :wink:

Antoine,

I like the hidden switch idea but there is another thing you might consider -- an RF transceiver. 60 seconds after the door closes, the car can ping a small transceiver you keep in your pocket. Your transceiver can reply and the car keeps running. If your transceiver does not reply (because you are not in the car), then the car knows to cut the fuel pump.

Hands free. :slight_smile:

Thank you tylernt !

That's a good idea but the problem is you always have to remember to take your transceiver with you...
My memory is very bad... :stuck_out_tongue:
I'll keep the idea of the button but I'm sure it would be easy to tune the code to support the transceiver...
The other problem is about the battery consumption of the TX module...

Well, I see some interest of some of you arround this project, and many reaction + several peole already interested about this idea of cheap anticar jacking module on my Peugeot coupé 406 forum... so lets go... I have to start something considering Peter's remarks...

Thank you all !! :wink: