Push-pull logic gates
A few people have designed boolean logic devices using LEGO pneumatics and gone
on to develop fundamental computer devices such as full-adders and flip-flops.
These have been discussed greatly on LUGNET.
I had suspected that there would be a large number of logic devices using
mechanic principals, but a search for mechanical logic devices didn't get many hits.
I got one hit on mechanical logic detailing the use of rods to make logic gates.
To my surprise I only came across two LEGO webpages that gave any details of
mechanical logics gates. The first page, has details of a LEGO NOT gate. And the
page "http://peach.mie.utoronto.ca/events/lego/lego-dinner-index.html", which has now gone
was the other, had photos of an AND gate.
If you made any mechanical logic gates then please contact me.
Finally some one has answered the call and even though they're not LEGO, but K'NEX, I'll give you
the link to William Hilton's video of his K'NEX logic gates.
They still use a push-pull system like mine, but the design is quite different.
I originally considered using a clockwise rotation of an axle for logical 1 and
anti-clockwise rotation for logical 0. This is the method used in the other LEGO
logic gates I found. However, I simply couldn't conceive of
any simple way to decouple the axle motions from two inputs to a single output - other
than a NOT gate. So I decided to try using push/pull-rods to represent the
logic states. Pushing an axle in would be logical 1, and pulling an axle out
would be a logic 0. The advantage of this method is that you can used both
linear and rotational motion. My mechanical logic gates take one-stud length
of motion and converts it to another one-stud of linear motion.
I have now designed working versions of all the basic gates,
that is the NOT, OR, NOR, AND, and NAND gates. More recently
I've produced an XOR gate that is a single gate in its own right, i.e.
not a composition of ANDs, ORs and NOTs. Using two NAND
gates I created a NAND gate latch or Flip-Flop. The natural follow on
from these is clocked logic, half and full adders and ultimately a
genuine "computer" device. At the moment all these gates essentially
just demonstrators. They work, but because of the limitations that
arise through gear slippage
and inertia, the real practicable use is probably not that
great. One possible way to resolve these problems is via buffering
and I've now designed a basic mechanical buffer.
The details of logic gates can be found by using the following links.