In this day and age, we should not need to use any keys. I have done away with the key in my car using this simple setup. I came to the same conclusion as this gentlemen in using the apple nike+ sensor to provide a proximity sensor to the car.
https://www.sparkfun.com/tutorials/135
His code lacks a couple things that I was looking for.
1) decoding of the apple serial protocol so that i can use any NRF module
2) detection of when to stop strobing the remote (when the key is inserted)
3) ability to open the trunk
and since I can detect when the key is inserted, I can do other things when the car is on like strobing the garage door opener,
To accomplish 1, I found that some genius went about decoding the modules to be decoded with NRF modules
http://dmitry.gr/index.php?r=05.Projects&proj=05.%20Nike%20plus%20iPod
Also helping this along was energia and the already written NRF24 library.
notes about my design and things I learned:
- my design is based all on a repeating 10ms timer which is a good base for modifying this code to work for different scenarios
- i am a fpga designer and some of the code is not as efficient as a c++ programmer would make it
- one could optimize the interrupt routine to use less time by using a global counter and variables to store offsets rather than individual counters
- my mazda remote is active low so the signals had to be inverted
- i tapped into my car through the mazda keyless module. 12v and gnd is provided. an additional signal which pullses low at a 1khz rate when there is no key inserted, it is high when a key is inserted, this powers "car timeout"
- i originally had everything on one board, but it seemed there was too much interference for the NRF to pick up the sensor properly
- since there were a lot of rf devices decoupling capacitors was very necessary.
- there is a 24 second timeout before my car relocks if there is no door opened, i kludged a single button press keep alive every 20 seconds using delays
i dont like using delays they seems so unclean.... an upgrade would be to use the -64dbm to detect that you are actually in the car and stop the strobing, ymmv and i have not implemented this (RPD register 0x09 bit 0)
- whenever the key is in the car, the car will cycle every ~2.5 seconds through the two parkade doors. the remote will auto shutdown if it detects a constant press so i have added a remote_pause to prevent this
- the trunk has another msp430 performing capsense on the key hole and will activate another nike+ sensor to open the trunk. i am in the process of upgrading the sensitivity of this using swept frequency capacitive touch which i will share once i get the kinks out
- a cheap chinese buck module was used to reducethe voltage from 12v to 3.3v
- replace the *_sn vectors with whatever your nike+ sensor serial number is
- avoid RF like the plague, even with one side guaranteed to be working, along with some issues with SPI, it was a PITA to get working the first time
I AM NOT ALLOWED TO UPLOAD INO FILES, RENAME INTO INO TO USE WITH ENERGIA
