My Mindstorms Ball Machine in its first generation.
About this creation
Be sure to look at my Lego page for videos, photos and to find other Lego creations.
This whole contraption came to light through inspiration made from the "NXT Ball Roller Coaster" by nxtprograms. Such a thing is a classic model to build just like brick sorters.
This particular model uses one NXT set and two RIS 1.0 sets. It also uses the Ultimate Builders and Ultimate Accessories sets. Plus, it also makes use of additional Lego pieces from sets I have no idea.
On the NXT side, there are 3 motors: One drives the pivot arm that moves the ball onto the rotating platform which is controlled by another motor. The third is the ejector motor that pushes the ball off the platform onto the ball rack. It also uses 4 sensors: An ultrasonic sensor monitors the ball passing on the conveyor belt to run the program on the NXT that moves the ball as mentioned above. A sound sensor is placed next to the Primary RCX. It is used in error signaling to indicate to the NXT that the RCX has detected an error and needs to respond. The program is setup in such a way that footsteps and ambient noise do not trigger the failsafe program on the NXT. A touch sensor is used merely as a button to check the status of the NXT's motors and sensor readings. Lastly, a light sensor is used to visually indicate if the NXT reports some kind of error (the LED flashes rapidly).
On the RCXs side, the Primary RCX controls the motorized gate that holds balls back from entering the lifter when it is not all the way down. It also operates the conveyor belt that moves the ball after being pushed off the lifter onto the pivot arm. It also powers four LED lights: one provides light to a light sensor because the light sensor was having troubling measuring brightness with ambient light. Another is merely mounted on top of the ejector arm on the rotating platform. The other two are mounted at the end of the conveyor belt and operate in two modes: They are brightly lit when the motorized gate is closed and dim when it is open. The RCX has a touch sensor connected to a plunger that is used to change the display to indicate how many errors have been encountered while in operation. It is also used as an acknowledge when there is a particular error that requires user attention. Lastly there is another light sensor that monitors the brightness of the light in the Li-Po battery bay. If the light is dim, it will stop all functions on the coaster and wait for the user to either stop the program or resume (this is where the control plunger can be used).
The Secondary RCX controls the lifter and uses two touch sensors to determine whether the lifter is fully up or down. It also controls the ejector mechanism and uses a rotation sensor to monitor how much the mechanism ahs traveled. Lastly, it controls the lights in the battery bay and the dual lamps used for visually indicating an error on the RCX side. The RCXs communicate with each other using infrared messages.
One particular feature of the model is its failsafe function: The model maintains a certain rhythm or steady-state when its in operation, If that rhythm gets off, all functions stop and it starts checking where the problem is (usually a ball has gotten stuck on the conveyor belt or on the pivot arm). First, it sounds an alarm on the Secondary RCX and flashes the dual lamps to indicate there is an error detected by the RCX. It starts the conveyor belt and runs the ejector another time. If a ball is stuck on the conveyor belt it will push it along. If that doesnt work, it assumes the ball is stuck on the pivot arm and the ultrasonic sensor did not see it. In this case, the Primary RCX sounds a tone which the NXT sound sensor picks up. After 10 seconds, this causes the NXTs failsafe to run, which moves the ball as it usually does when running, just that the light sensor is flashing now indicating there was an error on the NXT side. When the ball reaches the light sensor at the motorized gate, everything resumes normally.