Mobil mit Arduino

Für die Steuerung von Fahrzeugen ist der Calliope mini nur eingeschränkt tauglich, da er lediglich über zwei Anschlüsse für Motoren verfügt. Folglich können bei der Verwendung von zwei Motoren diese nur an- und abgeschaltet. Das bedeutet, dass Fahrzeuge weder auf der Stelle wenden noch Rückwärtsfahren können. Ist aber genau das gesucht, muss ein anderer Controller eingesetzt werden, beispielsweise ein Arduino Nano. Dieses Mikrocontrollerboard kostet nur einen Bruchteil dessen, was für den Kauf eines Calliope mini aufgewendet werden muss.

Im Gegensatz zum Calliope mini verfügt der Nano über keinen Motorentreiber. Ein solches Bauteil muss nachgerüstet werden.

Infrage kommen dafür beispielsweise ein L9110 (links) oder L293D (rechts).

Der Zusammenbau der Komponenten gelingt am leichtesten mit Hilfe eines Breadboards.

Der L9110 wird über die Stiftleiste wie in der Abbildung gezeigt mit dem Breadboard verbunden. Mithilfe von Drahtbrücken werden die nötigen Anschlüsse hergestellt:

L9110 ⇔ Nano

   B-IA ⇔ D11

   B-IB ⇔ D10

   A-IA ⇔ D9

   A-IB ⇔ D6.

Die Motoren werden mit den als „A“ und „B“ gekennzeichneten Schraubkontakten verbunden. Durch Einklemmen kurzer Drahtstifte können auch handelsübliche Jumperkabel. benutzt werden.

Motorentreiber und Nano bekommen Strom von einem 9V Block. Der Pluspol der Batterie wird mit Vin am Nano und VCC am Motorentreiber verbunden. Der Minuspol an beiden Teilen mit GND.

Der L293D wird so auf das Breadboard gesetzt, dass dessen Pins unverbunden sind und einzeln angesteuert werden können.

Der Anschlussplan, soweit nicht aus der Abbildung links ersichtlich, kann hier nachgelesen werden.

 Zum Programmieren empfiehlt sich eine dem „Open Roberta Lab“ oder dem „Makecode Editor“ vergleichbare Programmieroberfläche. Dazu ist eine Anleihe am Institut für Geoinformatik der Uni Münster zu empfehlen. Das Team des Schüler- und Forschungslabors hält nach den Prinzipien der OpenScience das Projekt „senseBox“ eine deutschsprachige Version von Ardublockly im Netz vor.

Alternativ zu dieser internetbasierten Anwendung kann „Ardublockly“ auch lokal auf jedem Rechner ausgeführt werden. Die dafür nötigen Dateien stehen für die verschiedenen Betriebssysteme unter GitHub zum Download bereit.

Für ein 64-bitiges Windows ist das die Datei „ardublockly_Windows64_2017-06-26_13.55.zip“. Diese Datei ist nach dem Download an einen Ort der eigenen Wahl entpacken. Zum Starten des Editors in dem neuen Ordner den Unterordner „ardublockly“ öffnen und darin die Datei „index.html“ mit einem Doppelklick starten.

Die zur Programmierung des Nano nötigen Blöcke finden sich unter „Funktionen“ (Schleifen), „Eingang/Ausgang“ (analoge und digitale Pins) und „Zeit“ (Dauer einer Aktion). 

Die in der Abbildung gezeigte Blöcke „Setze analogen pin# …. auf …“ sorgen dafür, dass der jeweils angegebene Pin in Intervallen vom µController mit dem Pluspol der Stromquelle in Kontakt gebracht wird. Variiert werden kann das zwischen 0 und 255. Wird so beispielsweise der eine Pol des Motors auf 0, der andere auf 255 gesetzt, dreht der Motor mit voller Geschwindigkeit. Ein Vertauschen der Zahlwerte kehrt die Drehrichtung um. Wird der Wert verringert, dreht der Motor langsamer. Beide Pins auf 0 (oder 255) führt zum Stillstand. 

Unter „Zeit“ findet sich der Block „Warte 1000 millisekunden“, mit dem die Dauer einer Aktion festgelegt werden kann.

Die Auswahl eines Programmblocks erzeugt automatisch den Arduino-Quellcode. Über Copy & Paste kann dieser in die Arduino IDE übertragen und so zur Programmierung des µControllers genutzt werden.

Weitere Details zur Programmierung eines Arduino-µControllers finden sich hier.


Bezugsquellen: Arduino Nano , L9110L293DBreadboard und Steckbrücken oder auch Jumperkabel. Letztere gibt es in den Ausführungen Buchse-Buchse, Buchse-Stecker und Stecker-Stecker.