2012-11-03

Arduino UNO an Fischertechnik anpassen

Wie ist das mit der elektrischen Eisenbahn? Man(n) kauft sie für die Kinder, aber am Ende spielt man doch lieber selbst damit.
Ähnlich verhält es sich wohl mit Fischertechnik auch. In meiner Jugend hatte ich ein paar Kästen. Die frühen Computing-Interfaces für den C64 waren aber nicht erschwinglich, dennoch fand ich sie interessant. Um die Geschichte kurz zu machen: Ich habe mittlerweile die aktuelle Fischertechnik Computing Reihe im Hause, aber leider viel zu wenig Zeit, damit etwas zu machen.

Meine Sammlung aus Jugendtagen habe ich um folgende Baukästen der Computing-Serie ergänzt.

(weitere werden nun nicht verraten).

Bild des aktuellen ROBO TX Controllers

Der ROBO TX Controller ist ein super Gerät zu einem fairen Preis, wenn man bedenkt, was dieses Gerät alles kann. Alle Ein- und Ausgänge sind gegen Kurzschluss und Überspannung gesichert (sagt der Hersteller. Durchprobiert habe ich das noch nicht). Die Ausgänge können 9V Motoren ansteuern, die 8 Eingänge können sowohl digital als auch analog beschaltet werden. Es gibt 4 extra Zählereingänge. Der TX verfügt über ein Display, Bluetooth und auch eine USB-Schnittstelle. Weiterhin kann der Controller Programme autonom ausführen, die zuvor in der graphischen Programmierumgebung erstellt wurden oder im Online-Betrieb über eine beliebige Programmiersprache vom PC aus kontrolliert werden.


"Commodity"

Andererseits gibt es seit einiger Zeit im Internet ein Embedded-Hardware-Projekt namens "Arduino". Die Hardware ist modular aufgebaut (aufsteckbare "Shields"), ebenso die Programme (Libraries und "Sketches").
Die C/C++ Progammierumgebung ist einfach genug, damit auch Anfänger und Interaktionskünstler ihre Programme schnell auf das Gerät bringen können. Vor allem besteht ein minimaler Arduino im Wesentlichem aus dem Mikrocontroller. Die Community ist gross, so findet man viele Anregungen und Bibliotheken im Netz.

Ich habe mich zunächst für zwei sehr gängige Komponenten entschieden:


Als spätere Erweiterungen habe ich noch etwas Zubehör bestellt: ein Bluetooth Modul, Ultraschallsensoren, USB-Seriell-Wandler und einige Komponenten zum Selberbau kleiner ATmega / ATtiny Schaltungen.


Die Hardware-Seite

Das Motor Shield ist schnell auf das Arduino Board gesteckt. Aber es bleiben 2 Probleme:
  1. Gehäuse für den Controller bzw. Befestigung am Fischertechnik-Modell
  2. Verkabelung
Zum ersten Punkt: Fischertechnik ist ein Konstruktionsspielzeug. Ein Gehäuse lässt sich also notfalls aus den Steinen (als Rahmen) und Platten zusammenstellen.

Ich habe mich letztlich dafür entschieden, eine rote Grundplatte 9cm x 9cm zu verwenden. Mit etwas Heisskleber unterhalb der vier Bohrungen des Arduino Boards lässt sich der Controller mittig auf der Oberseite der Grundplatte befestigen. Die Unterseite bleibt frei, um mit weiteren Steinen verbunden zu werden.








Verkabelung: Wie man beim original Fischertechnik-Controller erkennen kann, bedeuten viele Eingänge und Ausgänge auch, dass man Platz für viele der kleinen Fischertechnik Mini-Stecker schaffen muss. Jeder Ein- und Ausgang wird prinzipiell über ein Steckerpaar verbunden.
Beim Arduino mit Motorshield haben wir 4 Ausgänge für DC-Motoren und 8 Eingänge ohne Modifikationen zur Verfügung [offizielle Bezeichnungen: A0 - A5,; D9, D10 (über die ungenutzten Servo-Ausgänge) Pin 2 wäre noch frei, Pin 13 ungenutzt, aber schwerer zugänglich]

Wir benötigen also Anschlüsse für 8 Stecker (Motorenausgänge) und 12 bzw. 16 Stecker (6 bzw. 8 Eingänge).

Die billigsten Lüsterklemmen erwiesen sich hier als ideal:
Wie man auf dem Bild erkennen kann, habe ich unten mit einem Cutter jeweils ein Stückchen Plastik entfernt, damit die ft-Ministecker besser passen. Die Schrauben brauchen nur ganz leicht angezogen werden. Ebenso sieht man, wie diese Klemmen wiederum mit Heisskleber wunderbar auf der Grundplatte befestigt werden können.

Im folgenden Bild sieht man die Klemmen: Links und oben befinden sich die Eingänge, Rechts sind die Motorenausgänge:
Die Motorausgänge werden von den kleinen blauen Klemmen zu den weissen "Ports" geführt. Ich hätte auch kürzere Leitungen nehmen können. Zugegeben, die Befestigung auf der Grundplatte war nicht die erste Überlegung.
Auf dem Motor Shield befindet sich ein Block aus 3x6 Pfostenleisten für die Ausgänge A0..A6 (plus jeweils GND und +5V). Ein Stück eines alten IDE-Kabels passt hier, um die 6 Ausgänge und Masseleitungen an die Anschlussklemmen zu führen.

Was man am Bild noch deutlich sieht: Es handelt sich in der momentanen Fassung eher um Erwachsenenspielzeug:
  • Die Bauteile liegen offen und die Ein- und Ausgänge sind nicht wirklich gesichert gegen Verpolung, Überlast, etc. Ersteres lässt sich durch den Bau einer Abdeckung aus Steinen lösen. Aber momentan finde ich es so ganz schön :-)

Wie man weiterhin sieht, erfolgt die 9V Stromversorgung über ein Steckernetzteil. Ein Adapter auf den Fischertechnik-Akku lässt sich aber leicht herstellen.


Links
Innenleben des Original Fischertechnik-TX Controller: hier


Nettes Projekt...
Mittlerweile habe ich gesehen, dass Dirk Grebe eine ähnliche Idee verfolgte und einen minimalen Arduino (inkl. Treiberbaustein für 2 Motoren) in ein Fischertechnik-Batteriegehäuse eingebaut hat:





1 Kommentar:

  1. Hallo Michael,
    mich würde interressiern wie man in einem sketch zB. 4 DC motoren programmiert.
    danke im Vorhinein! :)

    AntwortenLöschen