Arduino Parking Assistant

This was my first "useful" Arduino-based project.

Our minivan fits in our garage with about 1-2" to spare. The easy thing to do would be to hang a string from the ceiling that touches the windshield when the car is in the right spot, but where's the fun in that? This called for more a more geeky solution, something requiring several trips to Radio Shack.

The first step was to breadboard-up a solution using an Arduino UNO and a PING))) Ultrasonic Distance Sensor from Parallax.

PING Sensor

 I chose the PING))) because of all the sensors I looked at, it had the best resolution at close range (up to 1"). After some "field trials" using my prototype breadboard circuit, I transferred the design into Fritzing:

Parking Assistant bb

Just for kicks and to get more familiar with Fritzing (which is intensely cool, by the way) I even made up a PCB layout:

Parking Assistant PCB

This, of course, was not strictly necessary and I haven't ordered any PCB fabs. And it should be noted that the PCB layout above has some design constraint violations that should be fixed before actually making a fab.

Armed with my circuit and a schematic, I proceeded to wire up a prototype shield using an Arduino Prototype Shield.

This is when I ran into a couple of issues. The first one was with the Arduino Prototype Shield itself. Turns out that one of the pins in the "prototype area" was actually wired up to +5V:

Arduino Prototype Shield Pin Problem

I'd inadvertantly wired up my Green LED to that one, so it didn't work properly. A quick peek at the Eagle file uncovered the problem. Scooting the connection up and to the right fixed the problem.

I used a Apple Magic Mouse box as my case and a recycled power supply from one of those LCD picture frames for power:

Parking Assistant First Install


And here is the code: