Turing Machine Build
PRODUCT DESCRIPTION
I was approached by a Professor at UCLA and asked if I could build a working example of a Turing Machine. A Turing Machine was a theoretical computer devised by Alan Turing in the 1930's https://simple.wikipedia.org/wiki/Turing_machine The machine processes things at the simplest level one step at a time, and has the ability to change its own programming through out the execution of the program. The machine I was asked to build was to demonstrate the concepts - reading and writing, entering and executing a program and to be visually interesting.
The machine comprised of 32 'Cells' in a row these were effectively memory locations where the machine could read or write a value, increment or decrement the value. Underneath the cells was a moving head that was driven by a program, that read the cell value or wrote to it - depending on the program or the value it read from the cell. The part that contained the 32 cells I called the 'Array' and I also built a 'Programming' device where the program instructions could be entered.
Skills Involved:
- Arduino Programing - compiler was written to execute entered program code.
- PCB / Hardware design - cusom made Cell PCB's / Read Write Head / Backplane PCBs.
- Electronics in general - getting all the sub systems to talk to each other.
- Aesthetic design and mechancial design.
- Mechatronics - implementing movement of head under computer control.
The Completed machine used 34 Arduino Nano microcontrollers, 1 Arduino Mega controller, Optical communication link between the head and the cells, RF link between programmer and the Array. A mammoth project, but if did exactly what it was intended to do, and demonstrate how a Turing machine would work.