I drive a soft top Jeep Wrangler, which means my stuff is only secure against the relatively limited number of people who cant operate a zipper. While I've gotten used to never leaving anything I value in my Jeep, I wanted to know what it would take to add a car alarm to my car. Most of the after market car alarm systems I saw when researching this project were at least $200 and that doesn't include a zone sensor. This is more than I wanted to spend, so I started looking into what it would take to build my own.
I considered using a few IR or sonar range detectors to detect if anyone was sitting in the seats, but I stumbled across a Dual Zone Motion Sensor on amazon for $26. When I first looked at the specs for the Dual Zone sensor I realized that it required 12v to run. I was worried about how I was going to safely detect the voltage in the Arduino. It turns out that when the sensor is tripped it connects to ground. This means you can safely connect it to a Arduino digital input with a pull up resister.
Currently I when the alarm is triggered it plays SOS to a piezo speaker, but I plan to try using pain generator piezo speakers to annoy intruders.
I don't have a way to remotely arm and disarm the alarm yet. Ideally I would like to have a Bluetooth connection to my phone (I have a iPhone which makes it much more difficult). If my phone is within range, the car alarm gets disabled, as soon as it looses the connection it would arm the system. This way you can simply walk up to your car and it disarms itself.
I would also like to log alarm events and provide them by a webserver the phone can view. This web server would also have the ability to turn off the alarm in case you forgot your phone charger and your phone turns off.