Desktop Pinball Machine

This was created for the KU ME 208 robotics state fair project.
Made by:
Logan Engelman, Juan Hernandez, Thomas Rupp, Drew Langstraat, and Caleb Rother
Supplies
- 4 Pcs Thin Film Pressure Sensor 20g-2Kg High Sensitivity Force Sensitive Resistor Force Sensor Pressure Sensors for Arduino DIY Industrial Precise Measurement Control: Amazon.com: Industrial & Scientific
- SparkFun Inventor's Kit for Arduino Uno - v4.1
- Simple corrugated cardboard, you can use any boxes you can find.
- Box cutter
- Hot glue
- 3d printer and PLA filament (or any filament)
- a marble
3D Printing
Provided in this Instructable are 7 .STL files, 3 main files and 4 alternative files just in case your 3D printer is too small. The three main files are the pinball walls (PinballLeftWall.STL, PinballRightWall.STL) and the pinball arm (PinballArm.STL). The 2 wall files are large prints and will take up a roughly 10x5in space on the printer bed. If your printer is too small you may use the 4 alternative files for the walls. They are the same thing, but each wall is split into 2 halves that can later be glued together.
To begin printing simply download and slice your required files onto a USB drive and manually upload them to your 3D printer or upload them to your printer online using a software.
Printing tips:
- It is recommended that you print the 2 pinball arms together to speed up your printing process. To do this simply add a second pinball arm file to your slicing software and arrange them next to each other. Then, generate your .gcode!
- When printing the side walls, make sure that you format them so that they are lying flat on the printer bed with the lip facing upwards to ensure a smooth print.
The following are images of each of the main files, an image of a proper assembly, and an example of one of the half walls.
Cutting Carboard Parts

You will need to cut 16 pieces of cardboard. 6 pieces of 6 ½" by 2 ½", 2 pieces of 2” by 2”, 2 pieces of 5 ½" by 2”, 1 piece of 5 ½" by 6 ½", 1 piece of 6 ½” by 10”, 2 pieces of 10” by 2 ¾" tapering to 2”, and one piece of 5” by 1 ½". Some of the 6 ½" by 2 ½" pieces will need to be cut more this is shown in the picture above, the dashed lines are slight cuts not full cuts, these are for easy access to the wiring. You can add the cuts for the force sensors anywhere on the 10" by 6 ½" its up to you where they go. You can also add a small piece of cardboard as a backing for the force sensor.
Construction




Group together 4 of the 6 ½" by 2 ", the 2 pieces of 5 ½" by 2”, and the 5 ½" by 6 ½", this will be the back. Then group together the 6 ½” by 10”, and the 2 pieces of 10” by 2 ¾" tapering to 2”, this will be the middle. Last take all remaining pieces this will be the front.
First make a box using the two modified 6 ½” by 2” pieces, two 2” by 2” and two normal 6 ½” by 2” pieces as seen in the photos, this is the front part of the machine. Next take the two pieces that tapper and the 10” by 6 ½” piece and make a standing ramp as seen in the photos, you can then glue the shorter of the two open sides to the box made previously. Lastly take the rest of the parts and glue together two 5 ½" by 2”, the 5 ½" by 6 ½", and two 6 ½” by 2”, one of which is modified with a slight cut down the middle, into a box as shown in the photos (the modified one should be on the end of the box, rather than used as a base). Then glue that to the other side of the ramp. Lastly you can cut a small hole for the power switch wherever you want, add a ramp to the front box, make a slit for the last force sensor and glue the 3D printed rails along the ramp as seen in the photos.
Wiring
.png)

During your wiring you will need to follow the wiring diagram. When wiring you will need to glue the wires to the force sensors and the switch as they will not stay on their own. Most problems will happen when you have all the wiring done and you then place the box over the Arduino. To prevent missed connections, make sure the box does not unplug any wires when it is closed.
Coding

The code is given here but as a challenge try to code it yourself using only the flow chart for help. It is simple, you only need to have a loop for power check each force sensor and tell if the game has ended.
Downloads
Testing
This part is mostly to check your connections between wires and make sure the values for the force sensors are correct. If you are having trouble with the force sensors you can serial print the output to determent what the minimum value should be. If you have trouble with the wires you can use hot glue to glue the wire to your component, this can easy be removed and did not damage any of our stuff when we did it.