Introduction: Building Keyless Car Alarm

About: diy electronics and car related projects

Most high-end modern vehicles come with keyless car Alarm or PKE:
as the name says in the key less car you do not have to use any key to unlock/lock the doors neither start the car engine.
to unlock or lock the doors the driver just presses on the small black button mounted at the door handle, and pressing the engine start button while pressing on the brake pedal will start the engine.
briefly the system works by using 2 bands for communication the LF band (usualy 125khz) and RF band (300 ~ 400+ Mhz). when the driver presses on the door handle key the car will transmit a code at the LF band, if the remote is within the range of the coverage which is not more that 5 meters the the remote recevie the signal and demodulated signal code matches between the car and the remote then the remote will reply a signal at the RF band and again if the code signal is valid the car will unlock and give access to start and drive.
you can search on google and read more about pke alarms.

In this project I'm going to build PKE alarm system for my car

Supplies

pi

Step 1: The Car Alarm

I chosed the pic16f877a uc for the car alarm but you can arduino , avr or any other uc

the car wires that connects to the alarm systme are as following :

+12 v
ground
2 wires to lock and unlock doors

2 wires for signal light

horn or siren wire (optional)

door switch (active low)

hand brake (active low)

brake pedel (active high)

fuel pump (active high to check is the engine running or not)

IGN

ACC

Start

so generally there are about 12 I/O needed

since it is keyless there are two buttons one is the door handle button and the other one is engine start button
and 1 PWM output for the (125khz antenna )

here is the link to the source code :

https://github.com/warshaa/PKE_Alarm/

instead of using the black pushbutton on the door handle to lock/unlock the doors, I used a piezo mounted on the front windshield so instead of pushing the button I have to knock the windshield then the alarm will wake up and send a 125khz signal

Step 2: The Car Remote

the remote is powered by 3v cr2032 battery
I used the premo antenna tuned at 125khz

the ams As3933 can detect LF frequency at as levels as low as few uVrms then it amplify the signal and demodulate it.
I used this library on github to program the as3933:

https://github.com/LieBtrau/arduino-as3933

There are two modes which are either frequency detect only, in this mode the as3933 will output high on the wake pin whenever it detects signal at the specific programmed frequency.

the other mode is pattern mode either single or double pattern in this mode the as3933 will compare the received pattern with the one which is preprogrammed in the chip if it matches it will output High on the wake pin.

you can read mode about this ic on the datasheet linked below:
http://www1.futureelectronics.com/doc/AUSTRIAMICRO...

also I chose the HT12E as an encoder which wasn't good choice because of the low security of the device however it was pretty simple to implement and use.

it has 4 digital inputs so I connected 3 of them to 3 pushbuttons and the other one to the wake signal from the as3933

Step 3: The Installation

as mentioned earlier about the main wires for any car system I connected these wires to the car alarm. also I installed a push button in the key place. but before that I cut the car key and placed it in the key place to keep the steering wheel unlocked all the times.

here is the video of the project:

that's it I hope you find this project useful , if you have any quetions feel free to comment below