This is a fun and pretty easy project that I built as a Christmas present for my kid who loves throwing things. Watch the video to see what it can do.
It's built out of a regular Arduino UNO, pressure sensors made from velostat, and RGB LED strip, and 7 segment LED display.
Source code for the games is available on github.
Step 1: Gather Materials
- 2'x2' sheet of 1/4 inch luan for the target segments
- 2'x2' sheet of 3/4 inch faced plywood as a backing board.
- a sheet of Pressure-Sensitive Conductive Sheet (Velostat/Linqstat) for the pressure sensors (http://www.adafruit.com/products/1361)
- any old 5v arduino of your choosing (I used an uno)
- a big 7 segment display (http://www.adafruit.com/products/1269)
- a strip of 24 individually addressable RGB LEDs (http://www.adafruit.com/products/1461)
- some solid core wire
- 4 1K resistors
- some thin foam or thick cloth to act as a shock absorber. (1/8" foam used in construction to separate 2by material from concrete available at any building supply works great)
- fine metal mesh (like from a screen door, though should be metal, not plastic)
- scotch tape
- small brass screws and washers for attaching the target to the backer board
- Female headers to make connectors to plug into the Arduino and the 7 segment LED display. (http://www.adafruit.com/products/598)
- 2 power supplies, one for the Arduino (9 or 12v) and one 5volt for the LED strip. (The arduino 5v vcc doesn't provide enough current for the LED strip).
- Section of 2x2 pine or other wood for legs of the backer
- Jigsaw for cutting out curves in the target backer board
- Pull saw or other fine saw for cutting the target pieces
- Hole-saw for cutting the center target piece
- Hand saw or circular saw for cutting the backer board
- Sand-paper or orbital sander
- soldering iron
- hot-glue gun
- drill with various sized bits
- Razor blade or utility knife and scissors for cutting foam shock absorber
Step 2: Measure and Cut the Target
On the luan, draw a circle. (I used a mixing bowl as my template that happened to be a good size, about 16" in diameter).
Then find the center of the circle. I used this technique: https://www.instructables.com/id/How-to-find-the-ce...
Next divide the circle into three equal parts like a Mercedes Benz logo. I used this technique: http://www.popularwoodworking.com/woodworking-blog...
Before you cut the pieces, mark them so you can get them back together as they originally were. Your cutting won't be perfect, but it all works fine if the pieces remain in the same relative order.
Now, use the jigsaw to cut out circle. It helps to clamp the circle on your work-surface and go slow.
Then use the hole-saw to cut out the center piece of the target.
Now, use the pull saw to cut the three other pieces of the target. Again, clamping the luan as you cut makes this much easier.
Finally use the sander to clean up the cut edges of the target.
Drill holes in the center of each target piece to a size slightly bigger than a single LED on your LED strip.
Step 3: Cut and Mark the Backer Board
Now use the same circle template to draw the target circle on the backer board. Remember not to do this on-center as a the LED strip goes across the top of the board. Place the target segments on the board in their final position separating each piece from the other by about 1/4". Poke a pencil through the LED holes to mark where the sensors will be attached to the backer board.
Finally, with the target pieces in place, drill pilot holes for the screws that will attach the pieces to the backer board, and then drill bigger holes in the target pieces (but not in the backer board) so that when the screws are in place the target pieces can depress easily and won't be hindered by the screws.
Step 4: Build and Install the Pressure Sensors
- cut 4 equal size squares of the velostat and 8 equal size squares of the wire mesh about 1/2" smaller than the velostat squares.
- cut 8 lengths of the solid core wire and strip about 4 inches off the end of each
- curl the stripped part of the 8 wires into a spiral.
- now make a sandwich that goes: mesh, curled wire, velostat, curled wire, mesh. It's easiest to do this one side at a time by placing the curled wire on top of the velostat, and the placing the mesh over that, fixing them all in place with scotch tape, then flipping it over and doing the same.
- Place them over the marked LED holes from the previous step
- For each sensor, mark a spot where you will drill a big hole for the sensor wires (as well as the LED strip leads) to pass through to the back of the board. For the center target piece make sure this mark isn't near the pilot holes you drilled from the previous step.
- Take the sensors off, and drill the holes.
- Warm up your glue gun, put the sensors back in place, this time passing the wires through the drilled holes. Use just a tiny bit of hot-glue on each corner of the pressure sensors to fix them to the backer board.
Step 5: Install Shock Absorber on Target
- Cut out foam pieces the same size as the target pieces.
- Hot glue them onto the back of the target pieces but don't get any glue near the center of the pieces where the LEDs go, nor along where you will route the LED wires toward where the leads will go through the hole in the backer board.
- Using a razor blade or utility knife, cut out channels in the foam for the LEDs and their wires.
Step 6: Make the LED Strip for the Target
The hardest part about making the LED strip is thinking through routing the wires so you get the right length.
- Cut a length of the 24 LEDs from the strip and then cut off the last 4 LEDs individually. Make sure to cut right along the cut line on the strip.
- Make a long length of 3-wire by cutting about 4 feet of CAT-5 Ethernet cable, and unwinding one of the twisted pairs and then re-twisting one of those wires back into into another one of the twisted pairs to make a 3-wire.
- Plan the routing of the wires around the the target so you can prepare the right lengths of 3-wires. Don't forget to account for the fact that the wire goes through holes that are not on the center of target pieces because the sensors are in the way.
- Solder the 4 cut LEDs back together with segments of long 3-wires. Pay careful attention to the direction of the arrows on the LED strip to keep them matched and all going in the same direction.
- Now mark which LEDs go to which target piece and then cut the wires in the middle, but as you do, mark one side of the cut wires so you can maintain the directionality! You need to do this to be able to pass them through the holes in the backer board, and you will have to re-solder them yet again in a later step...
- Finally you can use a bit of hot glue to glue the LEDs in place for each target piece.
Step 7: Attach Target and LED Level Strip to Backer Board
Determine the position along the top of the backer board where you want the LED level strip to go. Measure it's length, and then drill holes for the leads on either end of the strip. Solder a length of the three wire to each end of the 20 led strip, and pass them through each of the holes, making sure that the base of the arrow end is nearest the side where you will be mounting the Arduino. Use the hot-glue gun to fix the level bar in place.
Step 8: Make and Install 7-Segment Backer
- Cut a piece of luan a little wider than the LED display, and a good 3 inches taller.
- Measure and drill out space for the female header from the back of the LED display to go through the board.
- Measure the overlap needed so the display will have a nice border of wood all around it.
- Drill pilot holes for the screws that will attach the LED display backer onto the back of the backer board and then fasten the board on the the backer board.
- Finally attach the LED display to the backer board by marking the holes in the corner and drilling pilot holes. In the pictures you can see that I put nails in place and thought I would use hot glue, but that didn't work because of the vibrations of the ball strikes. In the end I found some very small screws that worked better.
Step 9: Cut and Install Backer Board Legs
- From the 2x2 stock, cut 4 segments about 2.5" long as the legs.
- Drill a hole in the center with a spade bit about half way through the leg.
- Now glue and screw the legs onto the corners of the the backer board.
- After the glue has dried, you can take out the screws, and then drill a pilot hole all the way through to the front of the backer board. Then, from the front you can use that hole for your mounting screws when you want to mount the whole blinken bonken on a wall!
Step 10: Wire It Up
The pressure sensor wires
- Solder together one end of all four of the resistors to one lead that will go to ground.
- Cut 4 lengths of wire that will reach from where all the sensor wires come together to where you will mount the arduino.
- Solder each of these four wires, along with one side of the sensor wires, to each of the four resistors.
- Solder together all of the other wires from the sensor to a wire that will go to VCC
- re-solder the cut wires from target pieces LED strip, make sure to get the direction right once again!
- solder the 3-wire from the target pieces strip to the lead from the level bar strip to reunite the strip back into one 24 LED strip!
- Use female headers make a connectors to go between the 7 segment display and the Arduino
- Solder the four wires from the pressure sensor to a female header to connect to the analog input pins of the arduino
- Use female headers to create a power to the VCC and ground pins of the arduino.
Step 11: Get the Code Installed, Calibrate, and Enjoy!
You can do this by cloning the repository (if you are familiar with git) or by clicking the "Download zip" button.
The readme has pointers to the libraries you'll need to install. Kudos to the folks at Adafruit for great code that this project is built on.
If it's all installed and everything was hooked up correctly, when you power up the Arduino, you should see the word "AIM" spelled out on the display. Navigate the menu by pressing on the top two target segments until you see the display read "CAL" Now press the target center to activate calibration. This mode simply reads the amount of pressure being detected on the pressure pad you press on. You can use this mode to adjust the tightness of the screws so all the pads are roughly equal. I'm not sure if this makes much of a difference, but it seems cool!
To get back to the menu press the top two target segments simultaneously. For instructions on the game, watch the video in the introduction. The current games are: Aim, Speed, Fill, & Red vs. Blue
Please write me if you create any new games for the Blinken Bonken. Or submit a pull request on github and I'll include them!