The Card Reader
This machine optically reads cards encoding binary values with yellow and black plates (or ternary values with grey plates added). The purpose of this reader was originally to program a "brick mixer", taking bricks of different colors and outputting an ordered flow of bricks. I have not yet figured out how to construct this... Stay tuned !
Update January 2001: the Brick mixer is here!
I used a touch sensor as a crude rotation sensor (it acts as a clock) to read the color level in the middle of the plates. The first plate of the card must be black because the contrast between the yellow background of the reader and the black plates acts as a "start bit" for the reading. The second one must be yellow to precisely position transition between plates.
I used a 1:3 gear reduction on the motor, giving a slow reading speed. You might try a 1:1 reduction but I'm not sure the touch sensor can keep up with the increased speed.
See an improved version of card reader here