boolean logic board construction kit - center for...

5
Edwin Eng Gi Lee Chris Poyzer Aaryn Stanway Boolean Logic Board Construction Kit Things That Think – Spring 2005 1) Introduction: A brief description of your construction kit and its operation. Our construction kit is a Boolean logic board. It is designed to help further students understanding of Boolean logic. Through crickets and LEDs, students can set up physical logic gates and be able to sense the outcome visually. Although we have just created a prototype, we believe that a construction kit of this design could aide with the learning and understanding of even the most complex logic gates. 2) Physical / Material elements: A discussion of the physical materials and components of your project, and the construction process you used. We designed the Boolean logic board with crickets and LEDs in mind. We wanted to be able to use lights because of the fact that they are interesting to watch as well as simple to manipulate. We knew that we needed something to attach all of our crickets to and somehow label them with what Boolean logic gate they were meant to represent. We chose to cut out small pieces of colored acrylic on the laser cutter and etch the word into that. We glued the crickets to their respective acrylic piece (the colors of the acrylic also are unique to the gate it represents). We decided that attaching them to a Velcro board would make the pieces easy to manipulate as well as fun to play with. After that, we knew that we needed some way to attach the various logic gates to one another. In other words, we needed to design a way for an LED from one gate to shine (or not shine) its light onto a light sensor of another gate. We came up with the idea of PVC tubing. We liked it, but we did not want the PVC tubing to be opaque. We wanted the user to be able to see if the light was lit coming off a particular logic gate. We found some semi-transparent tubing and tried it out. We had to be careful with how sensitive we programmed our light sensors to be so that they would not pick up any ambient light outside of the tube. Next we needed to figure out a way to actually attach the LEDs and the light sensors to the tubes. Rubber corks seemed to do the trick, but we had to slit them halfway through the center to put the wires in them without having to cut the wires. Other than that, we just had to attach Velcro to everything and test out the logic gates. 3) Computational/Electronic Elements: A discussion of the programming behind your construction, as well as any additional computational or electronic elements (e.g., chips, sensors, relays) included in the project. Each logic gate (AND, OR, NOT) consisted of etched colored plastics that could attach to the main "circuit board" by Velcro. Each gate also had a cricket attached to its face. The crickets were each programmed to reflect the desired behavior of the gate it represented (see Appendix). Attached to the crickets were light sensors (inputs) and

Upload: lyxuyen

Post on 15-Mar-2018

215 views

Category:

Documents


2 download

TRANSCRIPT

Edwin EngGi Lee

Chris PoyzerAaryn Stanway

Boolean Logic BoardConstruction Kit

Things That Think – Spring 2005

1) Introduction: A brief description of your construction kit and its operation.Our construction kit is a Boolean logic board. It is designed to help further

students understanding of Boolean logic. Through crickets and LEDs, students can setup physical logic gates and be able to sense the outcome visually. Although we havejust created a prototype, we believe that a construction kit of this design could aide withthe learning and understanding of even the most complex logic gates.

2) Physical / Material elements: A discussion of the physical materials andcomponents of your project, and the construction process you used.

We designed the Boolean logic board with crickets and LEDs in mind. Wewanted to be able to use lights because of the fact that they are interesting to watch aswell as simple to manipulate. We knew that we needed something to attach all of ourcrickets to and somehow label them with what Boolean logic gate they were meant torepresent. We chose to cut out small pieces of colored acrylic on the laser cutter andetch the word into that. We glued the crickets to their respective acrylic piece (thecolors of the acrylic also are unique to the gate it represents). We decided thatattaching them to a Velcro board would make the pieces easy to manipulate as well asfun to play with. After that, we knew that we needed some way to attach the variouslogic gates to one another. In other words, we needed to design a way for an LED fromone gate to shine (or not shine) its light onto a light sensor of another gate. We cameup with the idea of PVC tubing. We liked it, but we did not want the PVC tubing to beopaque. We wanted the user to be able to see if the light was lit coming off a particularlogic gate. We found some semi-transparent tubing and tried it out. We had to becareful with how sensitive we programmed our light sensors to be so that they would notpick up any ambient light outside of the tube. Next we needed to figure out a way toactually attach the LEDs and the light sensors to the tubes. Rubber corks seemed to dothe trick, but we had to slit them halfway through the center to put the wires in themwithout having to cut the wires. Other than that, we just had to attach Velcro toeverything and test out the logic gates.

3) Computational/Electronic Elements: A discussion of the programming behindyour construction, as well as any additional computational or electronic elements(e.g., chips, sensors, relays) included in the project.

Each logic gate (AND, OR, NOT) consisted of etched colored plastics that couldattach to the main "circuit board" by Velcro. Each gate also had a cricket attached to itsface. The crickets were each programmed to reflect the desired behavior of the gate itrepresented (see Appendix). Attached to the crickets were light sensors (inputs) and

bright LEDs (outputs). The NOT gate, a unary gate, had only one light sensor and oneled. The AND and OR gates, binary input gates, had 2 input light sensors and 1 outputled.

Coding the crickets was slightly challenging because of the unique syntax forcoding of the crickets. For the AND and OR gates we had to correctly express the 4truth table possibilities with a nested if-else statement. All crickets monitored theirbehavior inside of an infinite loop, which sample the inputs multiple times a second. Intesting the gates, one simply had to cover or uncover the light sensor to supply thebinary 0 or 1 as input. The output LED would then turn off or on to show a binary 0 or 1output. We also fashioned a START cricket, which simply provided a constant led on(or 1), input as a primer to a circuit (See Appendix A for code).

To work the circuit, all cricket used must be turned on. Then an input (lightsensor) from any gate is placed firmly into an opaque tube opening. Then an output(LED) from any gate is placed in the other opening of the same opaque tube.Depending on the LED’s state of on or off, it will affect the input light sensor's input.Opaque tubes would block out background light (from the ceiling), yet allow the brightled outputs to shine through. This was very important, as it would allow the user toreceive feedback to output while filtering out outside stimuli to the circuit.

4) Process of Construction: What were the obstacles that you had to overcome(or sidestep) in the course of your project? What sorts of decisions had to bemade (or unmade)? Were there any aspects of the construction process thatsurprised you, or that you didn't anticipate?

During the course of our project, there were several small obstacles that we hadto overcome. The first obstacle was how our light sensors would be able to correctlydetermine that a LED associated with that sensor is on. We did not anticipate that thesensors could be programmed to a certain tolerance. Thus we were worried that sincethe light sensors were surrounded by ambient light, the sensors would incorrectly tellthat it is detecting the light from the LED. However, after doing a little research andplaying with the code for the crickets, we found that the light sensors had a tolerancethat we were able to program in. Thus we set the tolerance to a number where theambient light would be disregarded while it was detecting a light from the LED. Anotherobstacle we faced with was how were we going to cut letters into our acrylic boards.However, there was no font that we could have used to make such a cut. To workaround this, we thought maybe we could etch the letters into the board. We’ve neverdone this on acrylic. However, after finding the proper settings for etching, we testedhow the etching would look. To our surprise, the etching came out very clean and morethan what we were expecting. The etching, in our opinion, was a better method oflabeling our acrylic boards. Lastly, once we finished our design and what materials touse for our project, we ran into a problem with our chosen supplies and how to actuallydo what we wanted to do. Our problem was, how would we get our wiring through therubber stopper/plug. We discussed several methods, drilling a hole through thestopper, slitting the stopper and wedging the wire in, and even disbanding the idea ofusing a stopper. However, after some thought, we decided that the best and most timeeffective method was to slit the rubber stopper half way through and then just wedging

the wire in. To our surprise this worked out great. Not only was it easy, bit we did notrun into our anticipated problem of having ambient light affecting our sensors. All in all,we ran into only minor obstacles in our project. When first learning of the obstacleduring the construction, we thought they would be major, but in the end, no obstaclewas a serious risk and the construction of our project came out to be verystraightforward.

5) Educational / Aesthetic Issues: How would you envision a child (or student)making use of your creation? What is the educational role (and content) of yourproject? Does your creation fit within some existing tradition of construction kits,or educational toys? Does it improve upon or extend that tradition?

One of the first fundamental concepts a student new to programming will learn isbinary logic (AND, OR, NOT). It may be difficult for one to grasp this concept mainlybecause our conventional way of thinking is not based on ones and zeros. Thestandard method of teaching is displaying the binary output through logic tables andcharts. This approach produces descent results, however we feel that a differentteaching style may expedite a student's ability to fully understand binary logic.

Our modular system of AND, OR, and NOT gates will allow a student to plan,setup, and test different logic patterns and view the result. It is our hope that the systemprovides a more visual, tactile, and interactive way to work with Boolean logic thanconventional teaching (at least here at CU), and hopefully will quicken a student's abilityto understand the quirky world of on and off.

From my limited knowledge of the history of construction kits, we do not believeour system directly draws from any other besides the binary logic project that usedmarbles from last year (2004). We see this kit deviating from the traditional sense of aconstruction kit due in part to the fact that you do not build anything in particular. Itseems as though other kits are designed to build something, which in turn is somethingor does something. Our kit falls a little outside those bounds because it is primarilydesigned to display the concept of binary logic. However, it could be argued that byshowing the light path through the logic gates ends up “being” something, but we do notfeel that the argument holds in this case. Hopefully the idea of displaying conceptualconcepts in a visual and interactive manner improves upon the traditional philosophybehind construction kits, and could be extended to other theorems in the future.

6) Suggestions for Continued or Future Work: Suppose you had, say, anadditional month or two to work on this project. What would be the natural nextsteps to take in continuing or elaborating the project? Suppose you werepresenting this project at a meeting at (say) Fisher-Price (or Intel, or Radio Shack,or Microsoft, or wherever such a project might make sense); and suppose youwere asked where this project might be over the still longer term (after a year orso). What sorts of longer-term directions for development could you envision?

Because of time constraints, only one of each of three logic gates could bedesigned (AND, OR, NOT). Given further time, the next logical step would be to designmore of the same types of gates for more complex inter-gate interactions. Also, otherlogic gates such as XOR could be introduced. However, because all logical gates can

be made with the AND, OR, and NOT, it is not absolutely necessary and all logicalcircuits are possible with these three gates alone. Because each gate is using a cricket,there is room for more computational power, and some storage space. A look into thelong-term directions for development would include a way for a "custom" cricket to bemade. Say a bright student had designed and implemented a circuit and wanted to thenuse that circuit as a building block for an even more complex circuit. It is conceivablethat the user could plug in the custom cricket and store the current circuit he hasdesigned. The custom cricket can now be used in place of the circuit, thus freeing upthe other "gates". This "building block" type of approach would truly allow customizablecircuits in a very hands-on and user-friendly way.

Appendix A (Code):

AND GATEto andgate loop[

ifelse sensora < 50[ifelse sensorb < 50

[a, on] [a, off]]

[a, off]]andgate end

OR GATEto orgate loop[

ifelse sensora > 50[ifelse sensorb > 50

[a, off][a, on]]

[a, on]]orgate end

NOT GATEto notgate loop[

ifelse sensora < 50[a, off]

[a, on]]notgate end

START GATEto startgate

a, onstartgate end

Appendix B (Photos):

Look REALLY closely and you can see the lights.