In diesem Beitrag stelle drei Systeme vor, die für die Steuerung von kleinen Robotern in Frage kommen. Es folgt ein Vergleich und eine Abwägung von Vor- und Nachteilen bezüglich des Einsatzes für das Robbi-Projekt:

Der Calliope Mini

Der Callipe Mini ist ein für Bildungszwecke entwickelter Einplatinencomputer. Enthalten sind eine 5x5 LED-Matrix, Sensoren (Licht, Temperatur, Beschleunigung, Mikrofon) ein DC-Motortreiber, mehrere digitale und analoge Eingänge, Funk und Bluetooth. Er ist die “deutsche Variante” des BBC Microbit.

Für die als “Löcher” realisierten Anschlüssen empfiehlt es sich Stift-Leisten anzulöten.

Folgendes Bild zeigt den Original-Calliope und einen mit angelöteter Stiftleiste.

Calliope Mini

Den Calliope programmiert man auf einem anderen Computer in einer von mehreren möglichen webbasierte graphische Programmierumgebungen. Anschließend überträgt man den Programmcode auf den Calliope Mini.

Der Raspberry Pi

Der Raspberry Pi ist ein Einplatinencomputer, bei dem meist ein angepasstes Linux als Betriebssystem zum Einsatz kommt. Er ist ein kleiner vollständiger Computer, an den man einen Monitor, eine Tastatur und eine Maus anschließen kann. Die Ausstattung ist abhängig vom Modell. Ich nutze die folgenden Raspis:

  • Raspberry Pi Zero W
  • Raspberry Pi 3 Model B Plus Rev 1.3

Raspberry Pi 3 Model B Plus und Raspberry Pi Zero W

Diese Raspis verfügen über 40 GPIO-Pins, WLAN und Bluetooth und einen Kameraanschluss.

Programmiert wird der Raspi oft in Python. Es sind aber auch andere Programmiersprachen möglich. Dabei kann man das Programm direkt auf dem Raspi erstellen.

Der Arduino

Der Arduino ist ein Microcontroller, der über digitale und analoge Pins verfügt. Zusätzliche Funktionen sind über das Aufstecken von Erweiterungen (Shields) möglich.

Es gibt sehr viele Arduino-Modelle. Ich nutze einen Arduino Uno.

Programme für den Arduino werden auf einem anderen Rechner in der Arduino IDE programmiert und dann auf den Arduino übertragen. Auf diesem läuft dann nur das auf ihn übertrgene Programm.

Arduino Uno

Der Vergleich

Merkmal Callipe Mini Raspberry Pi Arduino Uno
Programmiersprache Make Code / Open Roberta Lab meist Python / andere möglich C++ in Arduino-IDE (Sketches)
Anzahl analoger PINs 4 0 6
Anzahl digitaler PINs 16 26 14
Motortreiber on Board ja nein nein
Bluetooth on Board ja ja nein
Sensoren on Board Licht, Temperatur, Beschleunigung nein nein
Mobile Stromversorgung über USB oder über 2AAA-Batterien über USB mehrere Möglichkeiten
Anschluss Kamera nein ja nein
Größe 8 x 9 cm (Stern) 9 x 6 cm 7 x 6 cm
Preis 35 Euro 35 Euro / 19 Euro (Zero) 20 Euro
Stromverbrauch ? ? ?

Vor- und Nachteile

Der Calliope Mini punktet mit seiner Ausstattung. Man kann die auf dem Board vorhandenen LEDs, Schalter Sensoren usw. direkt nutzen. Der integrierte Motortreiber unterliegt zwar einigen Einschränkungen, ist aber ohne weitere Hardware nutzbar, sofern man an die Motor-Pins eine Stiftleiste gelötet hat. Wenn man zwei Calliope Mini hat, kann man den einen als Steuermodul auf dem Robbi nutzen und den anderen als Funk-Fernsteuerung (z.B. unter Auswertung des Neigesensors) verwenden. Probleme (Aussetzer, Ruckeln) traten jedoch bei gleichzeitiger Verwendung von DC-Motoren und einem Servomotor auf. Die graphische Pogrammierung macht die Nutzung einfach, damit ist der Calliope auch für Kinder gut geeignet.

Der Raspi ist dann die erste Wahl, wenn komplexere Aufgaben, wie beispielsweise die Auswertung von Kamerabildern geplant sind. Da man ein vollständiges Linux-Betriebssystem hat, können alle dafür zur Verfügung stehenden Programme genutzt werden. Bei der Programmierung in Python stehen ebenfalls viele Möglichkeiten offen. Viele wichtige Bibliotheken sind schon standardmäßig dabei, weitere können über den Python-Paketmanager pip nachinstalliert werden. Um Motoren anzusteuern benötigt man zusätzlich Hardware, beispielsweise ein aufsteckbares Motorshield oder ein L298-Motortreiber. Ich nutze letzteren. Auch Sensoren sind nicht integriert. Um mit dem Raspi gut klarzukommen sind Linux-Kenntnisse und Kenntnisse in der Programmierprache Python hilfreich.

Auch für den Arduino benötigt man ein Motorshield oder einen Motortreiber sowie Sensoren bei Bedarf. Die Möglichkeiten sind beim Arduino gegenüber dem Raspi zwar beschränkt - das macht die Sache aber auch einfacher. Man muss sich vor allem mit der Arduino IDE vertraut machen. Der Arduino hat einen hohen Verbreitungsgrad und man findet viele Beispielprojekte.