Das Kind muss endlich Programmieren lernen – Teil 1: Der Roboter

In der letzten Zeit häufen sich die Stimmen, die meinen, das Programmieren in Zukunft eine Kompetenz sein sollte, die alle Kinder frühzeitig erwerben (“Erste Fremdsprache = Programmiersprache”). Selbstredend teile ich diese Meinung. Die Frage ist vielleicht weniger ob man Kinder an das Programmieren heranführt, sondern vielmehr wie man das macht. Das Ziel muss es schließlich sein, Begeisterung zu erwecken. Mit dem Calliope Mini scheint beispielsweise eine erste deutschlandweite Kampagne durchzustarten. Diese richtet sich an Schülerinnen und Schüler ab der dritten Klasse. Was aber ist das richtige Einstiegsalter für das Thema? Meine Meinung: Es kann nicht früh genug sein, solange es den Kindern Spaß macht. Ich bin nun über zwei Projekte gestolpert, die vielleicht schon für Drei- bis Vierjährige interessant sein könnten. Zum einen handelt es sich dabei um das Spiel Lightbot von dem im Rahmen der Hour-of-Code auch eine kostenlos spielbare Variante entstanden ist. Und kürzlich bin ich dann auf den Cubetto gestoßen, der das gleiche Prinzip mit einem anfassbaren Aufbau umsetzt. In beide Konzepten ist es das Ziel, einen Roboter mit einfachen Befehlen zu programmieren (“ein Feld vorwärts” oder “90-Grad-Drehung nach links”) und damit einen Parcours zu bewältigen. Das inspirierte mich, ebenfalls einen programmierbaren Roboter zu bauen. Zum Cubetto-Projekt sei erwähnt, dass deren Macher eine Anleitung zum Nachbau des Systems frei veröffentlicht haben. Das finde ich eine prima Idee. Meine Maker-Ehre trieb mich aber dennoch an, eine eigene Lösung zu entwickeln. Dieser Post beschreibt den Aufbau des Roboters. Hoffentlich folgt bald noch die Programmierumgebung, die es erlaubt, dem Roboter Leben einzuhauchen (das erinnert mich daran, dass ich mal mein Boot-Projekt zuende bringen muss …).

Der erste Schritt beim Aufbau des Roboters ist die Konstruktion der Bodenplatte, auf der später die Antriebseinheit und die Steuerungselektronik untergebracht werden. In der Bodenplatte sind bereits die Aussparungen für die Räder vorgesehen.

01_bodenplatte

Das Fahrwerk wird aus Bauteilen zusammengesetzt, die aus alten Märklin-Baukästen stammen. Ich hatte mal in einem Anfall von Nostalgie einige Reste von solchen Baukästen günstig bei ebay zusammengekauft. Bisher hatte ich aber noch gar keinen wirklichen Einsatz dafür. Endlich ändert sich das.

02_achsen

Die beiden Räder werden einzeln gesteuert. Damit wird das Kurvenfahren ermöglicht, ohne das eine Lenkung im eigentlichen Sinne umgesetzt werden muss. Das gleiche Prinzip kommt auch bei Raupenfahrzeugen zum Einsatz: Wenn das Vehikel um eine Kurve fahren soll, drehen sich die beiden Achsen gegenläufig, beim Vorwärts- und Rückwärtsfahren drehen sie sich jeweils in die gleiche Richtung. Den Antrieb für die beiden Achsen liefern zwei Mini-DC-Motoren mit integriertem Getriebe.

03_motor

Nun muss noch für die Ansteuerung der beiden Motoren gesorgt werden. Das Gehirn dafür ist ein NodeMCU v3. Das ist im Prinzip eine Kombination aus einem ESP8266-Wifi-Modul und einem Arduino. Man kann also kabellos damit kommunizieren und gleichzeitig hat man diverse Schnittstellen, um weitere Elektronikbauteile anzuflanschen. Die Ansteuerung der beiden Motoren übernimmt auch gleich ein ganz einfaches und günstiges Bauteil: ein HG7881 Motortreiber. Die Programmierung dieses Bauteils über den Arduino ist ein Kinderspiel.

04_elektonik

Zu guter Letzt soll noch eine Möglichkeit integriert werden, damit der Status des Roboters nach außen vermittelt werden kann. Dazu spendiere ich ihm eine grüne LED, die immer leuchtet, wenn die Stromversorgung steht. Außerdem habe ich einen Neopixel-Ring integriert, der lustige Farbspiele zeigen kann, etwa, wenn eine Programmieraufgabe mit dem Roboter erfolgreich absolviert wurde.

08_neopixels[Beispiel-Lichtspiel-Video durch Klick auf das Bild]

Sowohl die grüne LED als auch der Neopixel-Ring werden in den Deckel des Roboters integriert und mit dem NodeMCU verkabelt.

06_leds

Das Gehäuse wird noch durch einen stylischen Wolf belebt und dann kann sich der Roboter auf den Weg machen.

07_ergebnis

Hoffentlich gibt es bald den zweiten Teil dieses Posts, sodass der Roboter auch programmiert und zum Einsatz gebracht werden kann. Aktuell lässt er sich nur über eine kleine Webschnittstelle und einen Browser steuern. Seine Bestimmung wird er aber erst finden, wenn eine kindgerechte Programmierung unterstützt wird.

Ach ja, und nun noch an alle, die denken: “Ein dreijähriges Kind soll Programmieren lernen? Typisch helikopterartige Drill-Tiger-Eltern! Pfui!” Ja. Stimmt. Bau’ ich trotzdem. So.

PS: In Zukunft werde ich auch Code und Schaltzeichnungen/Verkabelungspläne unter GitHub veröffentlichen: https://github.com/pjenke/makerguy