BALL CATCHER
Our first Mini Sculpture idea was a ball-catching game. A light sensor would detect the color of the marble rolling down the ramp. Based on the color of the marble, it would direct the basket to move a certain distance to catch a certain marble.
Fig. 1: Concept design for our team's Ball Catcher idea.
In finalizing this design, we originally only had a user-controlled motor design, where the user uses a touch sensor to move around the basket and try to catch the marble. However, in order to make the design automated and meet the requirement of the motor moving as a result of the sensor value, we added a light sensor and made the movement of the basket dependent on the value returned.
For construction, a piece angling the track upwards was hard to find, so we tried to substitute it with a trampoline for a similar upward arc movement. The trampoline is more inconsistent though, and could make the automated coding portion harder. When testing the effectiveness and consistency, we used a yellow marble and a black marble, intending to have them both bounce the same distance off the trampoline. However, due to the differing weights, the black marble would consistently land in the correct basket, but being lighter, the yellow marble did not travel far enough. As a result, we ended up taking out the trampoline and just using a track instead, which worked much better. Our design also uses an obscene amount of touch sensors, and when we tried to substitute some of the touch sensors with other sensors, such as sonar or light, the effects were not as good, so we decided to scrap our point system idea.
When writing the program for this design, we faced several challenges with reading in the light sensor and coordinating the motor. Originally, the default value the light sensor read in was too similar to the values read in of different colored marbles, so the motor would not move at the proper time, meaning the marbles were either not caught or caught in the wrong basket.
The goal of the code for this design was to read in a value from the light sensor after detecting a marble and program the motor to move accordingly. Using an if-else structure, if the value read in was greater than a certain value, meaning the marble was yellow, the motor would move forward at motor power 30 for a certain number of seconds to catch the marble in the first basket. Otherwise, the motor would move forward for a longer amount of time, catching the black marble in the second basket.
To the left is a flowchart showing the algorithm for our code.
WM2D Simulation of Ball Catcher Concept
Physically Implemented Ball Catcher