Rod Logic 1-bit Full Adder in LEGO - The Half-Baked Maker
Rod Logic 1-bit Full Adder in LEGO - The Half-Baked Maker
Rod Logic 1-bit Full Adder in LEGO - The Half-Baked Maker
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Rod</strong> <strong>Logic</strong> 1-<strong>bit</strong> <strong>Full</strong> <strong>Adder</strong><br />
<strong>in</strong> <strong>LEGO</strong><br />
v1.0 – 13 Dec 2009<br />
halfbakedmaker.org
5x<br />
2<br />
3<br />
2x 7<br />
12x 9<br />
48x<br />
4x<br />
4x<br />
17x<br />
Parts List<br />
11<br />
13<br />
15<br />
46x<br />
70x<br />
222x<br />
10x<br />
24x<br />
Perpendicular Axle Jo<strong>in</strong>er<br />
Axle P<strong>in</strong> with Friction<br />
P<strong>in</strong> with Friction<br />
Long P<strong>in</strong> with Friction<br />
Bush<br />
Of the length 15 beams, try to<br />
get 3 <strong>in</strong> a bright color, 7 <strong>in</strong> a<br />
different bright color, and 2 <strong>in</strong> a<br />
third bright color.<br />
<strong>The</strong> best place to get the specific <strong>LEGO</strong> pieces you want is brickl<strong>in</strong>k.com. <strong>The</strong><br />
most common colors are black, light gray, and dark gray.<br />
Get extras!
Subassembly:<br />
Small Side Wall<br />
(build 4)
Subassembly:<br />
Large Side Wall<br />
(build 4)
Turn it around for<br />
the next step.
2x<br />
Short Side Wall<br />
Subassembly:<br />
Module<br />
(build 2)
Axle p<strong>in</strong>s on top, regular<br />
p<strong>in</strong>s on the bottom.
2x<br />
Long Side Wall
1x<br />
Module<br />
Subassembly:<br />
2x1 Module<br />
(build 1)
Axle p<strong>in</strong> here and<br />
on the back side.
1x<br />
Module
P<strong>in</strong>s here and on<br />
the back side.
Beam here and on<br />
the back side.
Subassembly:<br />
Input <strong>Rod</strong> A<br />
(build 1)
Axle p<strong>in</strong><br />
Axle p<strong>in</strong>
This is the end to<br />
push. You could<br />
mark it with<br />
another bush.<br />
<strong>The</strong> p<strong>in</strong> positions determ<strong>in</strong>e the logic! From<br />
left to right, the function of each hole is:<br />
1. Free 1. Connector<br />
2. Stop bush 2. Empty<br />
3. Empty 3. Empty<br />
4. Empty 4. 0 •<br />
5. 0 5. 1<br />
6. 1 • 6. 0 •<br />
7. 0 7. 1<br />
8. 1 • 8. 0<br />
9. 0 • 9. 1 •<br />
10. 1 10. Not used (0)<br />
11. 0 • 11. Not used (1)<br />
12. 1 12. Empty<br />
13. Empty 13. Empty<br />
14. Empty 14. Stop bush<br />
15. Connector 15. Free
Subassembly:<br />
Input <strong>Rod</strong> B<br />
(build 1)
Axle p<strong>in</strong><br />
Axle p<strong>in</strong>
This is the end to<br />
push. You could<br />
mark it with<br />
another bush.<br />
<strong>The</strong> p<strong>in</strong> positions determ<strong>in</strong>e the logic! From<br />
left to right, the function of each hole is:<br />
1. Free 1. Connector<br />
2. Stop bush 2. Empty<br />
3. Empty 3. Empty<br />
4. Empty 4. 0 •<br />
5. 0 5. 1<br />
6. 1 • 6. 0<br />
7. 0 • 7. 1 •<br />
8. 1 8. 0 •<br />
9. 0 9. 1<br />
10. 1 • 10. Not used (0)<br />
11. 0 • 11. Not used (1)<br />
12. 1 12. Empty<br />
13. Empty 13. Empty<br />
14. Empty 14. Stop bush<br />
15. Connector 15. Free
Subassembly:<br />
Input <strong>Rod</strong> C<strong>in</strong><br />
(build 1)
Axle p<strong>in</strong><br />
Axle p<strong>in</strong>
This is the end to<br />
push. You could<br />
mark it with<br />
another bush.<br />
<strong>The</strong> p<strong>in</strong> positions determ<strong>in</strong>e the logic! From<br />
left to right, the function of each hole is:<br />
1. Free 1. Connector<br />
2. Stop bush 2. Empty<br />
3. Empty 3. Empty<br />
4. Empty 4. 0<br />
5. 0 • 5. 1 •<br />
6. 1 6. 0 •<br />
7. 0 7. 1<br />
8. 1 • 8. 0 •<br />
9. 0 9. 1<br />
10. 1 • 10. Not used (0)<br />
11. 0 • 11. Not used (1)<br />
12. 1 12. Empty<br />
13. Empty 13. Empty<br />
14. Empty 14. Stop bush<br />
15. Connector 15. Free
Subassembly:<br />
Intermediate <strong>Rod</strong> for S<br />
(build 3)
This is the end to<br />
push. You could<br />
mark it with<br />
another bush.<br />
<strong>The</strong> p<strong>in</strong> positions determ<strong>in</strong>e the logic! From<br />
left to right, the function of each hole is:<br />
1. Free<br />
2. Stop bush<br />
3. Empty<br />
4. Empty<br />
5. 0 (top) • sense (bottom) •<br />
6. 1 (top)<br />
7. 0 (top) sense (bottom) •<br />
8. 1 (top)<br />
9. 0 (top) sense (bottom) •<br />
10. 1 (top)<br />
11. Not used<br />
12. Not used<br />
13. Empty<br />
14. Stop bush<br />
15. Free
Subassembly:<br />
Intermediate <strong>Rod</strong> for<br />
S/Cout<br />
(build 1)
This is the end to<br />
push. You could<br />
mark it with<br />
another bush.<br />
<strong>The</strong> p<strong>in</strong> positions determ<strong>in</strong>e the logic! From<br />
left to right, the function of each hole is:<br />
1. Free<br />
2. Stop bush<br />
3. Empty<br />
4. Empty<br />
5. 0 (top) • sense (bottom) •<br />
6. 1 (top)<br />
7. 0 (top) • sense (bottom) •<br />
8. 1 (top)<br />
9. 0 (top) sense (bottom) •<br />
10. 1 (top)<br />
11. Not used<br />
12. Not used<br />
13. Empty<br />
14. Stop bush<br />
15. Free
Subassembly:<br />
Intermediate <strong>Rod</strong> for Cout<br />
(build 3)
This is the end to<br />
push. You could<br />
mark it with<br />
another bush.<br />
<strong>The</strong> p<strong>in</strong> positions determ<strong>in</strong>e the logic! From<br />
left to right, the function of each hole is:<br />
1. Free<br />
2. Stop bush<br />
3. Empty<br />
4. Empty<br />
5. 0 (top) sense (bottom) •<br />
6. 1 (top)<br />
7. 0 (top) • sense (bottom) •<br />
8. 1 (top)<br />
9. 0 (top) sense (bottom) •<br />
10. 1 (top)<br />
11. Not used<br />
12. Not used<br />
13. Empty<br />
14. Stop bush<br />
15. Free
Subassembly:<br />
Output <strong>Rod</strong><br />
(build 2)
This is the end to<br />
push. You could<br />
mark it with<br />
another bush.<br />
<strong>The</strong> p<strong>in</strong> positions determ<strong>in</strong>e the logic! From<br />
left to right, the function of each hole is:<br />
1. Free 1. Connector<br />
2. Stop bush 2. Empty<br />
3. Empty 3. Empty<br />
4. Empty 4. sense •<br />
5. sense • 5. Empty<br />
6. Empty 6. sense •<br />
7. sense • 7. Empty<br />
8. Empty 8. sense •<br />
9. sense • 9. Empty<br />
10. Empty 10. Not used<br />
11. sense • 11. Not used<br />
12. Empty 12. Empty<br />
13. Empty 13. Empty<br />
14. Empty 14. Stop bush<br />
15. Connector 15. Free
Subassembly:<br />
Short Side Stop<br />
(build 4)
Subassembly:<br />
Long Side Stop<br />
(build 4)
1x<br />
2x1 Module<br />
Ma<strong>in</strong> Assembly:<br />
<strong>Full</strong> <strong>Adder</strong>
1x<br />
Input <strong>Rod</strong> A<br />
<strong>The</strong> ends to push go on<br />
this side.
1x<br />
Input <strong>Rod</strong> B
1x<br />
Input <strong>Rod</strong> C<strong>in</strong>
2x<br />
Short Side<br />
Stop<br />
You might f<strong>in</strong>d it easier to <strong>in</strong>stall<br />
these if you first remove the stop<br />
bushes from the rods.
3x<br />
Intermediate <strong>Rod</strong><br />
for S<br />
<strong>The</strong> ends to push go on<br />
this side.
1x<br />
Intermediate <strong>Rod</strong><br />
for S/Cout
3x<br />
Intermediate <strong>Rod</strong><br />
for Cout
4x<br />
Long Side<br />
Stop<br />
You might f<strong>in</strong>d it easier to <strong>in</strong>stall<br />
these if you first remove the stop<br />
bushes from the rods.<br />
Double-check the logic now! Check that<br />
each <strong>in</strong>termediate rod can be pushed only<br />
if its <strong>in</strong>put comb<strong>in</strong>ation is set.
2x<br />
<strong>The</strong> ends to push go on<br />
this side.<br />
Output <strong>Rod</strong>
2x<br />
Short Side<br />
Stop