Theorie wird Hardware: DIY-Turing-Maschine zum Nachbauen

Ein RGB-LED-Streifen, ein paar Fotowiderstände, ein Arduino, Motor und mechanische Teile aus dem 3D-Drucker – fertig ist die Turing-Maschine, der man beim Arbeiten zusehen kann. Nur das Speicherband ist endlich.

In Pocket speichern vorlesen Druckansicht 134 Kommentare lesen
Theorie wird Hardware: DIY-Turing-Maschine zum Nachbauen

(Bild: Screenshot aus dem verlinkten Video)

Lesezeit: 3 Min.
Von
  • Peter König

Schon klar: Was Igor Brkić da gebaut hat, ist natürlich keine echte Turing-Maschine, denn die müsste nach dem Konzept von Alan Turing als Speicher über ein endlos langes Band von Zellen verfügen. So etwas kann man unmöglich real nachbauen. Aber davon abgesehen entspricht die Konstruktion des Bastlers vom Makerspace Radiona.org aus Zagreb exakt den Spezifikationen Turings: Ein Schreib- und Lesekopf kann den Zustand der Speicherzellen (eins, null oder aus) auslesen, verändern und zur nächsten oder vorhergehenden Speicherzelle wechseln.

3D-Druck

Der Sammelbegriff 3D-Druck steht heute für ein ganzes Bündel von Fertigungstechniken, die nach unterschiedlichen Prinzipien funktionieren und sich jeweils nur für ganz bestimmte Materialien eignen. Ihr gemeinsamer Nenner: Alle Verfahren bauen dreidimensionale Objekte, indem sie Material in dünnen Schichten auftragen und verfestigen.

Die Speicherzellen werden dabei durch einen RGB-LED-Streifen nachgebildet, wobei grünes Licht für eins steht, rotes Licht für null und gar kein Licht für das Leerzeichen, das in der Definition der Turing-Maschine ebenfalls vorgesehen ist. Der Schreibkopf besteht aus einem einfachen Arm mit einem Kontakt am Ende, der an Masse angeschlossen ist und durch Berührung mit dem Kontakt einer Speicherzelle deren Zustand weiterschaltet. Der Lesekopf enthält zwei lichtempfindliche Widerstände, die hinter farbigen Folien (Schnipsel von Einkaufstüten) als Lichtfilter sitzen. Die meisten mechanischen Teile seiner Maschine hat Igor Brkić mit einem 3D-Drucker gefertigt – dem besonders kleinen (und billigen) Fabrikator Mini von HobbyKing, weshalb er diverse Baugruppen in kleiner Komponenten zerlegen musste.

Wie die Zeichen auf dem Speicherband manipuliert werden sollen, bestimmt ein extern vorgegebenes Programm, das die Maschine von Brkić über ein selbstgebautes Lesegerät von einer Lochkarte einliest. Im folgenden Video wurde das Gerät über die Lochkarte als spezielle Turing-Maschine programmiert, als sogenannter Fleißiger Biber (Busy Beaver): Sie schreibt möglichst viele Einsen auf das Band und hält nach einer bestimmten Zahl von Rechenschritten an.

Arduino: Mikrocontroller für Quereinsteiger

Die leibhaftige Turing-Maschine wird im Zagreber Makerspace Radioana.org im Rahmen einer Ausstellung zu Alan Turing gezeigt, die noch bis zum 17. Juli zu sehen ist. Wer seine eigene Turing-Maschine bauen will, findet auf der Webseite von Igor Brkić die 3D-Dateien für die Mechanik, die Platinenvorlagen sowie Schablonen für die Lochkarten zum Download. Für die 3D-Konstruktion hat er FreeCAD und für das Platinenlayout KiCAD benutzt. Als Speicherband dient ein mit 56 WS2812-LEDs (auch als "Neopixel" bekannt) bestückter Streifen, der von einem Arduino Pro Mini angesteuert wird. Weil der Antrieb des Wagens mit dem Schreib-Lese-Kopf und dem Lochkartenleser von einem Gleichstrommotor angetrieben wird, dient eine Reihe von blauen LED als Positionsmarker, die von einem weiteren Fotowiderstand identifiziert werden. (pek)