Ardublock

Zur Programmierung eines Arduino-Boards wird wohl meist die im Konzept integrierte Entwicklungsumgebung IDE genutzt. Sie ist textorientiert, das heißt der Programmcode muss buchstaben- und zeichengetreu eingegeben werden. Dabei ist sowohl auf Groß- und Kleinschreibung als auch auf Zeichensetzung (Punkte, Kommas …), verschiedenartige Klammern ([ ]{ }), Schrägstriche (\ /) und anderes mehr zu achten. Das macht die Sache für Einsteiger nicht eben leicht und liefert damit das entscheidende Argument, nach einfacheren Lösungen zu suchen, wie sie ArduBlock verspricht.

Im letsgoING-Projekt der Hochschule Reutlingen wird ArduBlock genutzt und weiterentwickelt, um angehenden und gestandenen Lehrkräften Wege aufzuzeigen, wie Schüler*innen an systemisches Denken und Arbeiten herangeführt werden können. Alle dort verfügbaren Materialien und Komponenten sind Open-Source lizensiert und damit frei nutzbar für den nicht kommerziellen Gebrauch.

Die aktuelle von der Hochschule entwickelte Version „ardublock_letsgoing_21.jar“ steht bei GitHub zum Download bereit. Ein Doppelklick darauf startet den Editor. Zu empfehlen ist aber, ArduBlock zusammen mit der Arduino IDE zu nutzen. Dazu muss sich die jar-Datei in einem bestimmten Ordner an einem bestimmten Platz befinden. Ist Arduino beispielsweise auf einem Windows PC installiert, zeigt die folgende Abbildung, wo das ist.

Windows Dateimanager, der die gespeicherte Datei zeigt. Aus dem Menü darüber ist der Weg dorthin ersichtlich

Bei der Installation der Arduino-Software unter Windows werden die Ordner „arduino“ und „tools“ angelegt. Im letztgenannten Ordner „tools“ muss nun von Hand ein weiterer Ordner mit der Bezeichnung „ArduBlockTool“ und darin der Ordner „tool“ angelegt werden. In den Ordner „tool“ wird dann die jar-Datei kopiert.

Wenn das gemacht worden ist und die Arduino IDE gestartet wird, findet sich unter „Werkzeuge“ der Menüeintrag „ArduBlock“.

Starten von ArduBlock über die Arduino IDE

Wird er angeklickt, startet zusätzlich zur IDE die ArduBlock-Benutzeroberfläche, die dann auch funktional mit der IDE verbunden ist. Damit ist gemeint, dass der ArduBlock-Programmcode mit einem Klick in Arduino-Code umgewandelt und auf das Board übertragen werden kann.

Die Abbildung unten zeigt die ArduBlock-Programmieroberfläche ohne die Teile, die beim ersten Start zusätzlich zum Editor aufgerufen werden.

Ardublock-Programmieroberfläche: links das Register, rechts das Feld zum Zusammenstellen des Blockcodes

Zum Verständnis der Funktionsweise wird im Folgenden beispielhaft das Programm „Blink“ (die eingebaute LED auf einem Arduino-Board blinken lassen) mit ArduBlock umgesetzt.

Block-Auswahl-Menü nach Klick auf Steuerung

Für dieses Beispiel ist der Block „wiederhole fortlaufend“ nötig. Ein Klick auf „Steuerung“ in der obersten Kategorie links öffnet ein Menü, aus dem über einen weiteren Klick der gewünschte Baustein ausgewählt werden kann.

Im nächsten Schritt wird über „Output“ der Baustein „digitalWrite“ ausgewählt und mit gedrückter Maustaste so an die offene Seite des ersten Bausteins herangeführt, dass sich beide Teile verbinden.

Die Pin-Nummer kann angeklickt und angepasst werden, hier auf „Pin 13“, unter dem die eingebaute LED ansprechbar ist.

Da die LED dauerhaft an- und ausgehen (blinken) soll, wird unter „Steuerung“ der Block „warte Millisekunden“ benötigt. Er wird unter „digitalWrite“ in die Klammer „wiederhole fortlaufend“ eingefügt.

Diese Maßnahme allein hat noch nicht die gewünschte Wirkung. Die LED bliebe dauerhaft an. Um sie ein- und auszuschalten, müssen mit einem Rechtsklick auf „digitalWrite“ die beiden Blöcke geklont und in der Klammer zusammengeführt werden.

Oben: Menü nach Rechtsklick auf „digitalWrite“, mittig: geklonte Blöcke, unten: Blöcke zusammengefügt.

Wird der Wert in einem der beiden Blockpaare von „HIGH“ auf „LOW“ gesetzt, führt das zum Ausschalten der LED. Für diese Einstellung wird der Cursor über den Baustein „HIGH“ geführt. Er wandelt sich dabei in eine stilisierte Hand und ein kleines Dreieck zeigt sich rechts neben dem Schriftzug.

Mini-Dreieck zum Öffnen des Menüs sowie Cursorformen: Hand (oben) und Pfeil (unten)

Wird die Hand über das Dreieck geführt, wandelt sie sich zum Pfeil und ein Klick öffnet das benötigte Auswahlmenü.

Menü zum Setzen der Werte „HIGH“ und „LOW“

Damit ist das Programm vollständig. Es soll bewirken, dass Pin 13 im Sekundentakt (1000 Millisekunden) abwechselnd auf „HIGH“ (LED an) und „LOW“ (LED aus) gesetzt wird.

ArduBlock mit der Blink-Programmierung

Durch einen Klick auf „Hochladen auf den Arduino“ in der Menüzeile oben wird der Blockcode in Arduino-Code umgewandelt und in der IDE angezeigt.

ArduBlock-Code (rechts) und der dazugehörige Arduino-Code in der IDE (links)

Damit der Code zur Ausführung kommen kann, muss ein Arduino-Board angeschlossen sein. Kompilierung und Download des Sketchs erfolgt selbsttätig.

Nach dem erfolgreichen Download auf das Board blinkt die LED dann so lange, bis das Programm überschrieben oder das Board vom Strom genommen wird.

Weitere Programmierbeispiele mit Ardublock finden sich in folgenden Kapiteln:

Die verwendeten Programm-Versionen finden sich hier in einem gezippten Ordner.