Introduction: Rangefinder for Garage Parking With Arduino
This simple project will help you park your car in the garage by displaying the distance from objects in front of your car's bumper.
A 'Stop' message will tell you when it's time to stop.
The project is based on the usuals HC-SR04 or Parallax Ping))) (tm) ultrasonic rangefinders and an Arduino board.
I used the Leonardo but it should work on any other original or compatible board.
For the display I chose a matrix version for its size and for aesthetic reasons.
Step 1: What You Need...
To build this project you need:
- An Arduino board:
An original or compatible board should work as the code doesn't make use of specialized pins/function.
You can find it everywhere on the internet or maybe you have one unused in a drawer in your lab.
- An HC-SR04 or Parallax Ping))) ultrasonic rangefinder:
They are commonly used with Arduino projects so, probably, you already have it.
Anyway here are some links:
- Parallax Ping))) on Parallax
- HC-SR04 on Sparkfun
- Parallax Ping)) on Pololu
- HC-SR04 search result from Ebay
- The Four matrix display:
I bought it from IOTMODULES on Ebay: 4 Way MAX7219 DOT MATRIX
In case the link doesn't work try contact them on their Ebay store.
- Soldering skills, of course :)
Step 2: Build the Project...
Download the arduinorangefinder.pdf schematic diagram.
You can find attached also the HC-SR04 pdf and the ping))) pdf, only for your reference.
The electronic diagram is very simple, follow it exactly.
I suggest to extend the wirings for the display and sensor of about 1 meter (see image1) so you can place them more easily later.
In the image2 you can see how to solder the power supply pins for the display and sensor: +5V from the display and Vcc from the sensor needs to be soldered togheter.
Every other pin must have its own terminal.
Image5 is the Ping))) version of the project.
Go to the next step when ready...
Step 3: Arduino Code...
It's time to work on the Arduino side.
Download the attached fourMatrix-master library (please use this library also if you already have it installed, this one was edited to support more functionalities) and install it from the IDE (sketch->import library).
Now load the MeasureDistance.ino sketch and let's look into it, there are several lines you can edit:
the most important is the sensor type, uncomment only the line that match your sensor.
Then set the distances as you prefer, you can modify them later when the project will be in place.
With a little of work the code could display distances in Inches too, there is a sub ready for this.
Just recalculate distances from centimeters to inches and change these lines:
... <br> cm=pingIn(5);<br> ... <br> m.printMsgToMatrix(Blank + String(LPcm) +"In ",0); <br> ...
Upload the code and check if all works.
If you get trouble please double check wirings and connections.
Step 4: The Project at Work...
Measure the height of the most prominent part of the bumper of your car from the floor.
Attach the sensor close to the wall, to the height you measured.
I used a polystyrene foam sheet in which I made a slot for the sensor (see image).
Now place the display so you can see it from your car.
Try to enter by car and check the distances, adjust them in the Arduino code and reupload it if need.