Der Roboter mBot von Makeblock

Der mBot von Makeblock ist ein Lernroboter auf Arduino-Basis, welcher mit der grafischen Programmiersprache Scratch zum Leben erweckt werden kann. Der mBot ist besonders robust und widerstandsfähig. Er eignet sich sehr gut als Roboter für Lehrzwecke oder als Spielzeug für Jugendliche, um damit erste Programmiererfahrungen zu sammeln. Der dreirädrige Roboter kann sehr einfach umgebaut oder erweitert werden. Das Gehäuse bietet zudem die Möglichkeit, über einen Block von 3×5 Pins mit Lego-Bausteinen verbunden zu werden. Des Weiteren sind die beiden Antriebsräder zu Lego-Technic kompatibel.

Technische Daten:

  • ATmega328 Mikrocontroller
  • Kommunikation via Bluetooth (optional via WLAN 2.4 GHz)
  • Ultraschall-Abstandsensor
  • Linienfolgesensor (eignet sich auch zur Erkennung von Abgründen)
  • Lichtsensor
  • zwei Servomotoren zur Steuerung der Antriebsräder
  • zwei frei programmierbare RGB-LEDs sowie einen Tongeber
  • vier beliebig verwendbare User-Ports für Zubehör (davon zwei vorbelegt mit Liniensensor und Abstandssensor)
  • Infrarotfernbedienung
  • USB-Connector

Wir haben unseren mBot noch um ein kleines Akkupack und um eine LED-Matrix mit 8×16 Bildpunkten erweitert.

Es sind zusätzliche Add-Ons verfügbar, zum Beispiel ein Servo-Arm, oder ein Umbaukit zum sechsbeinigen Laufroboter.

Der mBot kommt mit einer integrierten Entwicklungsumgebung (IDE) namens mBlock für Windows und für Mac. Diese erlaubt es den erstellten Quellcode unmittelbar auf dem Roboter auszuführen, ohne dass eine vorherige Compilierung erforderlich wäre. Hinweis: Für das IPad wird zusätzlich die einfachere Entwicklungsumgebung mBlocky zur Verfügung gestellt.

Programmieren lernen mit Scratch

Scratch ist eine spezielle Programmiersprache für Jugendliche, welche als Lehrsprache zum Verstehen grundlegender Konzepte entwickelt wurde. Das wichtigste Augenmerk wurde dabei auf die intuitive Bedienung und eine einfache Syntax gerichtet. Programmiert wird mit Hilfe von Puzzle-Bausteinen, welche per Drag&Drop passend aneinander gefügt werden können. Es können nur syntaktisch korrekte Befehlsketten gebildet werden.

Nichtsdestotrotz ist diese Sprache ausreichend mächtig, um damit durchaus anspruchsvolle Projekte zu verwirklichen. Neben Variablen und Listen, Bedingungen und Schleifen stehen auch selbstdefinierbare Funktionen, Rekursion, Erzeugung von Instanzen sowie Messages zur Ablaufsteuerung zur Verfügung.

mBlock IDE
Die mBlock IDE auf Basis der Programmiersprache Scratch

Für den mBot wurde die übliche Scratch-IDE über eine zusätzliche Extension um alle notwendigen Befehle zur Robotersteuerung erweitert. Ergänzend zur Steuerung des Roboters kann man natürlich auch die Bildschirmausgabe am steuernden Rechner verwenden und dort auf Tastatureingaben reagieren.  Mit Scratch können auch Klänge und Videos abgespielt werden, so dass man nicht ausschließlich auf die eingeschränkte Tonausgabe des Roboters angewiesen ist.

Die LED-Matrix eignet sich natürlich hervorragend um Meldungen oder die Inhalte von Variablen direkt am Roboter anzuzeigen. Man kann Pixelgrafiken oder Text ausgeben. Eine Laufschrift ist im Handumdrehen programmiert. Ein anderes schönes Programmierbeispiel ist ein Abstandswarner, analog zur Einparkhilfe eines Autos.

mBot Einparkhilfe
mBot Einparkhilfe realisiert über den Ultraschall-Abstandssensor

Relevante Links:

Download der mBlock IDE

Scratch am Massachusetts Institute of Technology (MIT)