Team Members: Alina Wang, Elden Liu, Gianni Spentzos, Leah Groves
Description of Subsystems and Key Functions
Our Rube Goldberg machine has a few main subsystems that work together. The previous group's marble hits the balls on our ball movement subsystem. The balls are placed on a slanted ramp and rolls into a vertical entrapment to lift one side of the lever. The snow-release subsystem uses another servo motor attached to an L-shaped piece that pushes out the paper "snow." Finally, we have a pulley subsystem. We redesigned the pulley to pull to the left side to allow the pulley to drop an ID card, which will trigger the next group's machine!
On the electronic component, we used two separate setups. One setup has an ultrasonic sensor and a servo while the second setup uses just a photoresistor with a servo. These parts help us detect when to start the next action and allow us to time the movement components in our machine.
Pseudocode Flowchart
This is our pseudocode flowchart, which we use twice in our section. Essentially, the bulk of our two programs is setting up and measuring an input. From there, once the input passes a certain threshold, such as the ultrasonic distance sensor measuring a certain distance, then the servo motor will activate for a little bit and then stop. We have two ultrasonic distance sensors, one for each part of our machine.
AutoCAD
To the right is a 1:1 front view representation of our prototype. The image shows the main components necessary for our project to function and structures built.
Photos and Videos
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Flowchart (Figure 1)
The group before us will use a motor in order to move a cardboard gate, preventing the balls from rolling down the ramp. This slight change will reduce inconsistencies in the section where the balls slide down the ramp. We've placed the ultrasonic sensor at a slightly different angle to measure the balls rolling down the ramp optimally. The sensor positioning ensures accurate detection while minimizing false triggers from ambient movement. Additionally, the group after us will receive a weight that drops. As this weight drops into their section of the machine, it simultaneously pulls an ID card through ours. This dual-action mechanism creates a seamless transition between sections while maintaining the visual flow of the overall machine.
Figure 2
Our initial prototype had various failures. We were able to find our main issue: abandon the main base and use various bases. Other issues include: use a slanted ramp for the balls to roll down, use dowels to hold everything vertically, and abandon having multiple platforms at different heights!
Figure 3
Our dry run prototype was nearly completed. We were able to decorate most of the machine while having most of the parts running. However, we encountered some wiring issues and had malfunctions with our electronics. After the dry run, we began repeatedly testing our code to ensure it wouldn't malfunction on presentation day. We also made sure that all the pieces were stable and would run smoothly.
Figure 4
Here, you will see two close up images of our beginning stage and our ending stage of our final prototype at the expo!
Figure 5
This is our final RGM machine on expo day alongside other teams! You'll see that the once team d's music finishes our striped gate will open. In the final stage, the magnet falls into the team F's cup so that their project runs!
Our Story!
Our project exemplified the iterative nature of engineering design. We moved through multiple cycles of ideation, prototyping, testing, and refinement before arriving at our final product. Each failure taught us a lesson that improved our next iteration. Our design transformed a lot from our original prototype. We began the project with a flat ramp and multiple different levels. We even thought that we would use a fan to push our balls off the flat ramp into a snowman. However, once we built our prototype, we realized these features took up too much space and was very unstable. To solve this, we replaced the flat ramp with a slanted ramp and then added a servo motor to release these balls into a vertical tunnel.
We also need to consider how we would trigger the final step for the following group. Initially, we planned to use a photointerruptor and buzzer, but after we discussed with Group F, we learned that they needed weight. This led us to redesign our prototype and improve our pulley system. The pulley system we designed with a servo motor allowed us to drop our ID card into their section, satisfying their request for weight and our additional electronic component!
Our snow-release system had several iterations. Our first idea, which was to use a servo motor to tip the cup/box of snow, was unreliable. We redesigned this system by converting it into an L-shaped piece that pushes the paper snow out more consistently and frequently! Throughout our project, we struggled with the coding, especially the photointerruptor. We decided to spilt the electronics into two different setups using sensors and servo motors. These changes allowed us to learn new coding and building skills which helped us design and build our final prototype!