Assistive Sports Toy
Hi! This group project is part of the "Campus School" assignment from a class at Boston College called "Physical Computing". For this project, we made an interactive accessible sports toy powered by a Raspberry Pi Pico W and code using Circuit Python. This project is designed for Boston College's Campus School, which serves students with severe physical and developmental disabilities.
Users can press a capacitive touch sensor, which will in turn move a platform where a ball rests. When the platform moves enough, the ball will fall and roll down a ramp towards a goal. If the ball successfully goes into the goal, it will light up and cheer you on! This toy can be adapted for any number of games and sports simply by changing the target the ball is rolling towards. For this project, we made the goal described above and included a set of bowling pins and a set of bocce balls to increase usability.
Supplies
1/4 inch wood
1/8 inch wood
2 raspberry pi pico W's
wires
Distance sensor
Light strip
speaker
2 servo motors
2 power banks
Wood glue
hot glue
3D printing filament (we used PLA)
White string
White paint
Metal brackets with screws and nuts
Hinges with screws and nuts
Paint stirrers
Fabric
capacitive touch tape
Write the Code for Your Ramp
The code for the ramp part of this project is relatively simple. It uses a capacitive touch sensor to control two servo motors. When you touch the sensor, it moves the servos from one preset angle to another. Finding the angle took us some trial and error once we had assembled the rest of our project, so expect to be making small changes to the angles later on in the project. We have included our code file for this step.
We used a Raspberry Pi Pico W to wire everything. The wiring process is relatively simple because we attached our Pico W's to a breadboard. For power, we used a small power bank like this one. For help with wiring, feel free to use this diagram that we consulted. Remember that if you wire your board to a different pinout, the code will only work if you update the setup statement!
Downloads
Laser Cut Materials for Ramp
The first step is to laser cut your wood sheets. This took us a few tries as we worked out the size and material our project should have. Above, you can see a few steps of our design process, like a cardboard model we made as we figured out the scale of the project.
Initially, we wanted the ramp to be about 3 ft tall and use 1/8th in wood. This created a ramp that wasn't stable enough to withstand actual use, as the wood was thin and tall enough that it bowed under it's own weight. So, we redesigned the project to use 1/4th in wood and to be about 17 inches tall.
The ramp has three primary components: The platform where the ball rests, the stand that gives the project its height, and the bridge that the ball rolls down. The platform where the ball rests is the only part of the project made using 1/8th inch wood to reduce the weight. All other wooden pieces are 1/4th inch.
Included in this step is an Adobe Illustrator file with all of the ramp pieces that we used.
Once cut, use your glue of choice to assemble each part of the ramp separately. It's important to keep them separate at first so you have the space you need to work on the electronic components.
Attach Servos and Platform to the Stand
At this point, we need to attach our servo motors to the 17 inch tall stand that you have constructed. This is pretty straightforward, so long as you keep a few things in mind.
First: The servos need to be on the same side and pointing the same direction, so they turn the same way when the project is built. It's helpful to have them wired to your laptop as you attach them to make sure one isn't on upside down.
Second: The servos need to be equidistant from the center of the stand. This is to make sure that the ball will be pushed downwards evenly, so it doesn't always sway to one side.
When you have decided where you want to position the servos keeping these two things in mind, grab a pencil, a drill, and the screws and brackets. place the servo between the brackets and then back onto the stand (positioning them exactly where you want them) and mark where the screw holes are with a pencil. Drill a hole at each point you marked and attach the servos, as pictured above. Make sure to attach a nut to each screw as well.
This is also a good time to attach the pico and breadboard to your stand, as they are wired to the servos. Our breadboard has an adhesive sticker on the back, so we just used that to place the board onto the inside of the stand.
Next, split a paint stirrer in half and glue each end to the arm of the servo. This extends the reach of the servo and makes it easier to move the platform that we will now attach. To attach it, position the platform so the three bordered edges are facing upwards and away from the stand, then hot glue the platform to the paint stirrers.
Hide the Wiring
We chose to put in a piece of wood on either side of the breadboard to protect it. We used two pieces of wood about 5 inches long and 9.5 inches wide to make it easier to attach, as it was then the width of the inside of the stand. If you do this, be prepared to sand down the edges a little, as it will be a very tight fit.
Attach Bridge to Stand and Platform
Now, take your assembled bridge and align one of the shorter edges up to the stand. We used hinges to attach these two pieces together, primarily to allow for some flexibility within the piece when it needs to be moved. For this step, mark out the screw holes just as you did for the brackets and attach the bridge piece.
At this point, take a small piece of foam or fabric and attach it to the bottom of the ramp. This is to reduce bouncing as a ball hits the ground.
Laser Cut and Build the Touch Sensor
Now we have to laser cut and build the capacitive touch sensor that activates the ramp. To do this, we simply wired the touch sensor to a box with a lid covered in capacitive touch tape. Here is the file to print the same box, made with 1/8th inch wood.
Downloads
Decorate the Ramp
Now you can paint your ramp! We painted it white to keep things simple, but this is an opportunity to decorate your ramp however you see fit.
Write the Code for Your Goal
Now, we can move onto making the goal. To start, we will write the code for the goal's pico board. The code is designed to sense a disruption in the readings from a distance sensor. When it senses a disruption, it lights the goal up and plays applause through a speaker. We have attached our code, so feel free to use it! Keep in mind any differences between signal pins in how you wire your board compared to ours.
Downloads
Laser Cut Materials for Your Goal
Just as we did for the ramp, we will now cut our materials for the goal. All wooden components of the ramp are made of 1/4 inch wood. The file we used is attached to this step!
put the 3 small rectangles to the side for now. Glue the other pieces together, so it roughly resembles a soccer goal.
Downloads
Drill Holes for the Net
drill holes along the front piece and the farthest back piece, about 2 inches apart. The holes should line up between the front and back pieces.
Weave the Net
Now, take your white string and weave it through the holes, allowing the string to run straight back along where the net will be. Once you've weaved through the holes, cut the string and tie it to the goal.
Now, take a piece of string and tie it to a side of the goal and begin stringing it along, perpendicular to the vertical strands. Tie a knot on each string that you pass. When you get to the end, cut the string, tie it to another, and add a small dab of hot glue to keep it from sliding. Do this again about 2 inches higher, repeating this process until the entire net is tied.
Glue Your Lights Around the Border of the Goal
For our project, we used an Adafruit Light Strand, but any similar alternative will work. Hot glue the strand around the border of the front piece, making sure that one end is loose enough that you can still connect it to the board.
Attach Your Board to the Goal
Glue the distance sensor into the inner corner of the front piece of the goal. Place the board behind that section of the goal to protect the wiring. To protect it further, glue the pieces of wood you set aside earlier around the board to act as a case. Then, glue the speaker on the front.
On the other side, glue the wood with the hole in it to the base of the goal. The distance sensor is pretty strong and a little touchy, so this is necessary. It will allow the distance sensor to consistently sense the same reading, so you don't accidentally trigger the goal by walking near it. The hole is to allow one of the lights to shine through it, but this isn't necessary unless your strand ended at the same spot ours did. If there aren't any lights in the way, feel free to get rid of the hole before laser cutting.
Print Other Parts
We used a 3D printer to make a few other components for this project. This is optional, but is a great way to make the final outcome more engaging.
We printed bocce balls and bowling pins. The bowling pin STL is from Thingiverse and is modeled by MNinventer. For the bocce balls, we modeled them in Tinkercad. The files for these are attached to this step!
All Done!
Your project is now done! Here's a video of it fully functional and being put to use!
Thanks for reading!