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.