Is it possible to design a physical mechanism such that it tells us “yes” for some input configurations while “no” for others?
Suppose that input configurations are framed as combinations of simple questions that can have a “yes” or “no” state. If such mechanism existed and there was a way to have inputs controlled by stimuli from the environment while outputs to control actuators, then the system would be able to make decisions based on environmental inputs, and interact logically with the environment, by utilizing natural energy and design.
Consider each input as a ‘switch’ that can take two states. On one hand, the state of a switch can control flow or transfer of energy. On the other hand, flow of energy can control the state of a switch. By using the flow of energy that is controlled by one switch to control another switch, cascades of switches can be created that work as relays. Depending on the configuration of the states of two linked switches, a relay can be forward, meaning that a change in the state of the input switch causes a similar change in the state of the output switch, or reverse, meaning that a change in the state of the input switch causes an opposite change in the state of the output switch. By combining forward and backward relays logic gates can be created, which are the fundamental blocks for building logic circuits. Logic gates take two inputs and produce an output.
In this assignment, working in teams of 2-3 persons, you have to design a mechanically computing device that can interact with a user, by a physical medium (material) of your choice. You will start by exploring how to design a switch, a relay, and the three basic logic gates (AND, OR, and NOT) and you will then combine these components to design a more complex device. You must focus on what your device does, how it interacts with a user, and how it uses/stores energy to perform computation. You can see examples of logic gates made out of train sets in the following link: http://www.cr31.co.uk/stagecast/trains/tt2_func_gates.html
Read chapters 10, 11, 12, and 13 from The Hidden Language of Computer Hardware and Software, on logic circuits. You will find the book as a PDF in the readings subfolder in our Google Drive folder. Then go through the slideshow presentation that was presented in class on Monday (you will find this in the Lectures subfolder).
Go to http://www.cr31.co.uk/stagecast/trains/index.html. Read sections “Intro” and “Functions” and subsections “Mechanical Logic,” “Add/subtract,” “Multiply,” and “Divide” in the menu on your right hand. Then go to https://channel9.msdn.com/Shows/themakershow/The-Maker-Show-Mini-GraviComp-Mechanical-Computer and https://www.turingtumble.com/, Turing Tumble Simulator, and Dr Nim marble computer, and go through the presentations. These give you examples of different ways of how to create relays, logic gates, flip-flops (another component of computer logic), and functional logic circuits with simple physical/mechanical means.
Design a switch and a relay, that you will develop by any physical means you want. Energy flow examples are mechanical movement, fluid movement, wind flow, vehicle traffic, electrical current, sound, pressure, etc. Think creatively. When designing your relay, you must ask yourself “how does my relay harvest, store, and release energy in order to change another relay?” and “how can multiple relays connect in a cascade such that when one relay changes its state, it triggers its connecting relay to change its state as well?”
Design the three basic logic gates (AND, OR, NOT) with the relay you developed in step 3. Create a functional prototype for each one of the three gates in the woodshop/fablab. You can use any material of fabrication method.
Step 5: Create a mechanically computing machine. For example, you can create a binary adding or subtracting machine (see chapters 12 and 13 from Petzold) or a machine that compares, divides, multiplies numbers or does logic, using marbles.
We will spend 3rd and 4th weeks covering topics on information and computation from a mechanical/physical perspective. We will also have a tutorial on mechanical computation using the Turing Tumble game. You are expected to explore online resources on your own and combine the skills that you learned in assignments 1 and 2 in creating your computing device. Like in assignment 2, you plan ahead and order any materials you will need for your project.
We will be using Rhino (either v5 or v4) and Grasshopper. If you haven't installed the software, please do so. If you don't have a licensed copy of Rhino, you can download a free, fully operational, evaluation version from McNeel's website (http://www.rhino3d.com/download) that can save up to 30 times. We will also be using two plugins for designing gears in Rhino: the GearGen RVB script (http://www.rayflectar.com/Rhino/RhinoScripts-Gallery.htm) and the GearGenerator Grasshopper plugin component (http://lmnts.lmnarchitects.com/wp-content/plugins/download-monitor/download.php?id=33). GearGenerator works only on Rhino 5. Install both of them as well, and try to familiarize yourselves as much as possible with them. Additional links for Gear Generating scripts may be provided later.
Plan ahead to reserve spots in the SOA laser cutter. If you want to move this reserved time window earlier or later than our class time, please let me know so that I can arrange that. You will need to be trained to use the laser cutter. Contact SOA Fab Lab for training.
The SOA fab lab will have a limited stock. You should plan ahead to get the materials you need from other vendors by third or fourth class, the latest, to start working on your prototypes. When buying materials from other vendors, please make sure that anything you intend to cut on the laser is an approved material (acrylic or PETG are OK), some plastics are absolutely not OK to cut with the laser (copolyester, vinyl). By far, the best plastic to use for mechanical parts is Delrin
Tadd Walters ([email protected]), Sales Representative, Piedmont Plastics, 5010 West W.T. Harris Blvd, Charlotte, NC 28269
ALTEC plastics (http://www.altecplastics.com/)
McMaster-Carr (http://www.mcmaster.com/)
Petzold, Charles. Code: The Hidden Language of Computer Hardware and Software. Redmond, Wash.: 2000.
Stewart, Ian. "Commuters and Computers: The Intelligent Subway."Mathematics Institute University of Warwick, Coventry, UK.
Hayes, Brian. "Trains of Thought." American Scientist 95, no. 2 (2007): 108.
Chalcraft, Adam and Michael Greene. "Train Sets." Eureka 53, no. 5 (1994): 12.
https://motherboard.vice.com/en_us/article/kbz5ay/the-computer-made-of-nothing-but-plastic-and-marbles
https://www.youtube.com/watch?v=9KABcmczPdg
Educator Guide PDF (contains useful information about the mechanics of computation)
Turing Tumble Simulator by Jesse Crossen
JSTumble by Lode Vandevenne.
http://www.cr31.co.uk/stagecast/trains/index.html