ubergeek.de ubergeek.de

Diese Seite verwendet Cookies.
Auf dieser Website werden sogenannte Session-Cookies verwendet, um wiederkehrende Besucher zu erkennen. Benötigt wird diese Funktion, um Artikel zu kommentieren und um sich an der Seite anzumelden (nur Redakteure). Wenn Sie mit der Nutzung von Cookies nicht einverstanden sind, können Sie die Seite problemlos nutzen, lediglich die oben genannten Funktion sind dann nicht verfügbar. Da wir eine Ablehnung nicht speichern können bzw. Sie bei folgenden Seitenabrufen nicht wiedererkennen, erscheint dieser Hinweis in diesem Fall immer wieder.

Arduino in der Ausbildung (Anwendungsentwicklung)

Vor einiger Zeit (ja, diesen Text wollte ich eigentlich früher schreiben), erlebten Einplatinenrechner auf Basis einfacher Mikrocontroller, also Calliope, Micro:bit, Arduino und andere einen Boom. Überschaubare Hardware und simple Entwicklungswerkzeuge versprachen den einfachen und schnellen Einstieg in die Welt der Programmierung. Grund genug für mich, das auch in der Ausbildung einzusetzen. Nach einigem Hin und Her habe ich mich am Ende für den Arduino-basierten Arduboy entschieden. Ein kurzer Überblick.

Die erste Frage, die sich beim Einsatz von Mikrocontrollern stellt: Was konkret kann und will man damit umsetzen?

In vielen Tutorials verdrahtet man ein paar einfache Sensoren, LEDs und Displays, bastelt sich eine »Wetterstation« oder eine Ampelschaltung – und dann war’s das auch schon wieder. Abgesehen davon, dass man Ähnliches in der Regel auch in der Berufsschule macht (zu meiner Zeit noch auf relativ großen Steckbrettern und mit einfachen Logikgattern, heute eher mit dem Raspberry Pi), ist das nur mäßig spannend, während sich das Gelernte hauptsächlich auf die Auffrischung einiger Lektionen aus dem Physik-Unterricht beschränkt. Jedenfalls ist mir das für Anwendungsentwickler zu wenig Programmierung.

Interessanter fand ich die Idee, ein überschaubares Spiel zu entwickeln bzw. entwickeln zu lassen. Um kleine LCD-Displays anzusteuern, haben auch die einfacheren ATmega-Controller ausreichend Leistung und Speicher. Bleiben noch drei Probleme. Als erstes ist es nicht einfach, einen »fertigen« Controller zu finden, den man ohne großen Aufwand verkabeln und nutzen kann [am ehesten kommt man vermutlich zum Ziel, wenn man mit Hilfe einer kleinen Zusatzplatine einen Controller für den Wii-Extension-Port verwendet] und Schaltknöpfe auf das Breadboard zu stecken, ist keine sonderlich gut zu bedienende Variante. Zweitens ist die Verkabelung mit Jumper-Kabeln und einem Breadboard wenig haltbar, neigt zu Wackelkontakten und ist schlecht zu transportieren. Zuletzt bleibt ein vergleichsweise hoher Aufwand für das Zusammenstecken der Schaltung, und bei Anwendungsentwicklern möchte ich die Priorität eigentlich auf das Programmieren legen.

Zum Glück leben wir in einer Welt, in der viele Probleme bereits von anderen Menschen gelöst worden sind, und so bin ich über den Arduboy gestolpert, der alles bietet, was ich haben wollte: einen ATmega-Controller mit einfarbigem Display und gut zu verwendenden Bedienelementen in einem ansprechenden Gehäuse bei voller Kompatibilität zu vorhandenen Arduinos. Zudem ist das System vernünftig dokumentiert und bietet eine einfach zu verwendende API. Mit grob 50 EUR ist auch der Preis noch vertretbar.

Der Arduboy
Circuitmess Nibble
Nibble und Arduboy im Vergleich
Eine Arduboy-kompatible Schaltung auf Basis des Arduino Leonardo

Wenn beim Arduboy das Basteln von Hardware wegfällt und eine fertige API für die Spiele-Entwicklung sowie gute Dokumentation vorhanden sind, dann befreit einen das als Ausbilder ein wenig vom Vorbereiten von Material, so dass man eine einfache Aufgabe stellen kann:

»Überlegen Sie sich ein Spiel, das Sie gerne programmieren möchten! (Ich helfe Ihnen bei der Umsetzung.)«

Zu meinem Glück (soviel muss ich zugeben) hat sich meine Auszubildende für ein Spiel entschieden, bei dem es kein Problem ist, aus dem Stegreif eine Lösung zu entwickeln: Snake. Am Ende eines ca. vierwöchigen Projektes, das auch das Ende ihrer Probezeit markierte, konnte meine Auszubildende dann einen eigenen Arduboy (natürlich durfte sie die Hardware für sich behalten) mit einem ersten selbst programmierten Spiel nicht nur in den Händen halten, sondern auch in die Tasche stecken und hoffentlich mit etwas Stolz Familie und Freunden zeigen. Perfekt 😊

Auf Grundlage der gemeinsamen Ideen habe ich auf Github zwei »glattgestrichene« Clean-Room-Implementierungen inkl. neu gestalteter Grafiken veröffentlicht. Die erste Variante ist vielleicht etwas leichter nachzuvollziehen, dafür etwas ineffizienter, was sich im schlimmsten Fall in einem langsameren Gameplay äußern könnte. Die zweite Variante ist etwas effizienter, erfordert dafür aber auch ein kleines bisschen mehr Mathematik, was ich meiner Auszubildenden vorerst nicht abverlangen wollte.

Leider ist der Arduboy nicht (mehr) leicht zu bekommen. Der Hersteller produziert in Batches nach Vorbestellung. Meine Vorbestellung im Herbst 2020 hat, sofern ich das richtig in Erinnerung habe, etwa ein halbes Jahr bis zu ihrer Auslieferung benötigt; damals habe ich noch über Reichelt zwei Exemplare zügig erhalten können, über Reseller scheint der Arduboy aktuell aber auch nicht mehr verfügbar zu sein. Die Situation ändert sich hoffentlich demnächst.

Alternativ kann man mit einfachen Mitteln eine Arduboy-kompatible Schaltung selbst zusammenstecken und dann wenigstens die gute API nutzen. Als weitere Alternative gibt es beispielsweise auch den Nibble von CircuitMess, der mit der Arduino-IDE programmiert werden kann, ein Farbdisplay und etwas mehr Leistung bietet, dafür aber selbst zusammengelötet werden muss und etwas teurer ist. Außerdem ist die schlechte bzw. kaum vorhandene Dokumentation ein Ärgernis.

Frage an die Leser: Hat jemand andere Beispiele für den Einsatz von Mikrocontrollern in der beruflichen oder schulischen Ausbildung? Oder vielleicht eine Idee für ein anderes Spiel, das in einem ähnlichen Rahmen umgesetzt werden könnte?

Kommentare

Sie müssen der Verwendung von Cookies zustimmen, bevor Sie einen Kommentar hinterlassen können.