XILO plays music by striking the chromed metal tubes according to your movements.
I got the tubes from my son's toy xylophone - I expect you could use the tubes
from a wind chime if you don't have a xylophone handy.
XILO uses two motors. One rotates the RCX on the central Technic turntable to move
the "whacker" from note to note, the other drives a rubber-band-loaded motor to strike
the metal bars and play the notes. Initially, you turn the central "spider" so that
the whacker is directly over metal tube # 1 (low C).
There is a light sensor mounted on the large Technic turntable below the RCX in line
with the whacker. The light sensor detects the reflection from the shiny metal tube -
an onboard NQC program counts the periods of high reflection so that the rotation motor
can stop when the whacker is lined up with the correct note. Because the bars are arranged
in a circle, the NQC program determines whether XILO should rotate left or right to take
the shortest path to the next note.
The Vision Command System software uses patterns that divide the LEGO Cam's view up
into numbered regions. When the VCS detects movement in a region it sends a message
to the RCX containing the number of the region where the movement was detected.
The RCX then moves the whacker to appropriate bar and strikes the bar firmly with the whacker.
The metal tubes are numbered 1 through 8 (octave of C Major: 1=low C, 2=D, 3=E,...
8=high C) and the number of the tube corresponds to the VCS message number that will
play that note (message 1 plays low C, message 2 plays D, and so on...). You can use
any VCS pattern you like, but the ones I have found most fun are pattern 6 and pattern 12.
Pattern 6 gives you access to all eight notes, while pattern 12 gives you access to 7 notes,
plus a large movement area in the bottom half of the screen to get from region to region.