Using an Arduino, it is easy to make a speedometer/tachometer for virtually any man-powered vehicle. I made one for my skateboard that used a small magnet to count revolutions and utilized an LCD display screen. This Instructable will show you how you can do the same step by step.
You will need a few things before we get started.
1) A man-powered vehicle (I will be using a skateboard)
2) An Arduino
3) A plastic Arduino protective box (pictured)
4) A small magnet (mine is 1/4 inch in diameter and about 0.2 inches tall)
5) A magnetic relay switch
6) A 9V battery and an adapter that connects this battery to the Arduino plug (pictured above plugged into an Arduino)
7) A small LCD screen (16 x 2 character display)
8) 10K and 47 Ohm resistors
10) A soldering iron and solder
11) Gorilla glue, super glue, crazy glue, or some adhesive of the sort
12) 10K Potentiometer
Step 1: Putting the Magnet on the Wheel
Step 2: The Electronics
Step 3: The Arduino Code
One thing to note is the line that says "Serial.print(rpm*0.0080622311)." This line will be different for everyone. This line of code calculates the speed in MPH from the RPM value the relay and Arduino read. To do this you take:
rpm*(circumference of your wheel in inches)*(60 min/hr)*(1/63,360 miles/inches)=speed in MPH
One you've calculated what this constant is that the RPM must be multiplied by to convert to MPH, you can just insert it in the code in place of the 0.0080622311 that is in there now.
Once the electronics are properly wired up and the Arduino is programmed with the attached code and appropriate MPH arithmetic, the device should successfully display MPH and RPM on the LCD display when the Arduino is plugged in (as pictured). Putting the magnetic relay switch near to the magnet you put in your wheel and spinning the wheel should make the LCD display the corresponding MPH and RPM for the wheel's rotation.
Step 4: Protecting the Electronics
After you've completed this step, you should have a plastic box housing the electronics and a 9V battery. Leaving this box should be two wires attached to the magnetic relay switch and 12 wires (hopefully bundled together somewhat neatly) attached to the LCD screen. When the Arduino in the plastic case is plugged in the LCD should be illuminated and counting the RPM and associated MPH whenever the small rotating wheel magnet is sufficiently close to the relay switch.
Step 5: Mounting the Components
For my skateboard, I mounted the plastic box on the underside of the board up by the front truck (pictured). The relay switch wires ran down the middle of the board to the back truck where the small magnet was imbedded in the wheel. I then secured the relay switch near the wheel by zip tying the switch to the truck. The 12 conductors that are wired to the LCD leave the plastic box and run up to a small hole on the nose of the board. The hole leads into the small chamber where the LCD is embedded on the top of my board (and covered by a piece of thin acrylic. Of course there are a number of ways to mount the speedometer and it is up to you to find the way you like best. The method I used of embedding the LCD in the top of the deck would not work for most boards since it requires a very thick deck.
Before using your new hi tech skateboard (or whatever vehicle you mount the speedometer on), make sure all the wires are secured in such a way that they aren't loose and won't get caught in your wheels. This could lead to destroying your speedometer, or worse, wiping out and hurting yourself.
With all these steps completed and your device mounted, you are now ready to try out your speedometer and try to break your own speed records! Have fun!