Im ersten Teil unseres SPIKE™ Prime-Tests haben wir uns die Hardware des neuen Roboters aus dem Hause LEGO® Education genauer angesehen. Im zweiten Teil geht es nun um die Software und die Programmierung.

Die Software

Die Software des SPIKE™ Prime ist sehr stark angelehnt an die neue Software „EV3 CLASSROOM“. Der SPIKE™ wird in Scratch programmiert. Diese grafische Sprache wurde am MIT (Massachusetts Institute of Technology) entwickelt und erfreut sich großer Beliebtheit. Die Software gibt es für Windows 10, macOS, ipad OS, Android und Chromebooks und sie ist auf allen Plattformen kostenlos. Wer auch ohne einen SPIKE™ mal reinschauen möchte, kann sie hier herunterladen:

LEGO® Education
App Store
Google Play Store

Die Software wurde für den SPIKE™ neu entwickelt. Sie ist in der PC- und Tablet-Version nahezu identisch. Ein Hauptmenü zeigt, wo es langgeht.

Das Hauptmenü bringt euch zu den vier Untermenüs: „Erste Schritte“, „Projekte“, „Lerneinheiten“ und „Bauanleitungen“. Oben im Fenster findet ihr auch eine Leiste, die all diese Untermenüs ebenfalls beinhaltet. Es ist also egal, wohin ihr zur Auswahl klickt. Oben rechts in der Ecke befindet sich ein Zahnrad, welches ein Einstellungsmenü öffnet. Hier gibt es Einstellungen wie „Sprache“ oder „Löschen aller Lehrinhalte“.

Ganz links in der Leiste findet ihr den Reiter „Erste Schritte“. Hier werden Neulinge, die noch keinen Roboter oder Mikrocontroller in den Händen hatten, langsam an die Technik herangeführt.

Unter dem Reiter „Bauen“ findet ihr eine Vielzahl an Bauanleitungen. Es sind jetzt schon ziemlich viele und in Zukunft werden es wahrscheinlich noch mehr. Darum verweisen wir hierzu auf die LEGO® Website.

Was unter dem Reiter „Lerneinheiten“ geboten wird, schauen wir uns im dritten Teil unseres Tests genauer an.

Updates

Die Software des SPIKE™ Prime erhält natürlich auch Updates. Diese müssen auf dem Smart-Hub installiert werden – ohne die Installation des aktuellen Updates kann man ihn nicht verwenden. Dazu muss der SPIKE™ per USB-Kabel an einen Computer angeschlossen werden. Das ist sinnvoll, denn ein Update über Bluetooth herunterzuladen, würde sehr viel Strom verbrauchen. Möchte man den SPIKE™ aber zum Beispiel im Unterricht einsetzen und ist erstmal gezwungen, ein Update zu installieren, um ihn benutzen zu können, kann das die Unterrichtsplanung ziemlich durcheinander werfen bzw. behindern.
Nachdem das Update durchgeführt wurde, muss der Smart-Hub außerdem neu benannt werden.

Die Programmierung

Starten wir nun ein neues Projekt. Zuerst öffnet sich eine leere Programmieroberfläche. Wie ihr auf den Bildern (links die Programmieroberfläche auf dem iPad, rechts auf dem PC) im Vergleich sehen könnt, hat es LEGO® geschafft, plattformübergreifend eine identische Oberfläche zu kreieren.

In der SPIKE™ Prime-App seht ihr an der linken Seite einen Farbcode für die verschiedenen Arten von Programmierblöcken: „Motoren“, „Bewegung“, „Licht“, „Soundeffekte“, „Ereignisse“, „Steuerung“, „Sensoren“, „Operatoren“, „Variablen“ und „Eigene Blöcke“. Damit aber nicht genug: Unten links in der Ecke kann man noch weitere Arten von Programmierblöcken hinzufügen. Aktuell gibt es hier als Auswahlmöglichkeiten: „Wetter“, „Weitere Motorblöcke“, „Weitere Bewegungsblöcke“ und „Musik“. Fügt sie aber nur mit Bedacht hinzu, denn aktuell haben wir noch keine Möglichkeit gefunden, diese wieder zu entfernen. Wenn ihr wisst, wie das geht, schreibt es uns doch in die Kommentare.

Programme, die ihr in der App erstellt, werden automatisch gespeichert. Das hat Vor- und Nachteile. Als Vorteil sehen wir es an, sich zuerst einmal um nichts kümmern zu müssen: Die Programme sind da und man macht einfach dort weiter, wo man aufgehört hat. Auf Windows werden die Programme unter den eigenen Dokumenten abgelegt. Von dort aus kann man diese zwar verschieben, eine Kopie bleibt jedoch in den Dokumenten. Sie wird aber nicht mehr genutzt. Das Ganze ist unnötig kompliziert für diejenigen unter euch, die z.B. an Wettbewerben teilnehmen und häufiger Programme mit Teammitgliedern austauschen. Da wäre das klassische „Speichern unter“ eine hilfreiche Ergänzung.

Ein Punkt, der uns an der Programmieroberfläche stört, ist die nicht einstellbare Breite der Blockleiste. Dies führt nämlich dazu, dass zu lange Blöcke einfach abgeschnitten werden. Um diese Blöcke in ganzer Länge angezeigt zu bekommen, muss man mit der Maus über den jeweiligen Block fahren, bzw. am Tablet den Finger darauf halten. Wer sich einen Überblick über die vorhandenen Blöcke verschaffen will, muss sich also alle Blöcke mindestens einmal in voller Länge anschauen und dann im Kopf behalten.

Zusätzlich erschwert wird das ganze dadurch, dass manche Blöcke bis zum Abschneiden genau gleich aussehen. Gerade für Einsteiger*innen ist es so sehr schwierig, sich zu merken, welche Blöcke es gibt und wo sie zu finden sind. Sich stumpf die Position zu merken, sollte unserer Meinung nach nicht die Lösung sein. Das ganze Problem könnte einfach durch die Möglichkeit behoben werden, den Auswahlbereich der Blöcke per Maus oder Finger in der Breite zu verändern, sodass Blöcke in voller Länge angezeigt werden könnten.

Ein weiteres unschönes Detail ist, dass der oberste Block in der verlängerten Ansicht sowohl in der PC- als auch in der Tablet-App unter die Verbindungsanzeige des SPIKE™ glitscht. Wir hoffen auf baldige Updates, die beide Probleme beheben und halten euch darüber natürlich auf den Laufenden.

Mit den Blöcken programmieren

Die große Neuerung in der Programmierung, die die SPIKE™ Prime-App in die LEGO®-Welt bringt ist, dass der Code nun von oben nach unten programmiert wird. Dadurch ähnelt die Struktur deutlich mehr einem textuellen Programmcode. Das aus dem textuellen Programmieren bekannte Einrücken von Codebereichen wird auch hier schon durch umklammernde Blöcke, wie z.B. bei Schleifen, angedeutet.

Schauen wir uns die neun Hauptkategorien einmal der Reihe nach an.

Motoren

Über die Blöcke im Reiter „Motoren“ kann ein Motor einzeln angesprochen werden. Dabei gibt es aber keine kombinierten Blöcke, über die alle Parameter gleichzeitig gesetzt werden können. Erst muss also die Geschwindigkeit mit dem „Geschwindigkeit auf <X> % einstellen“-Block initialisiert werden. Danach können die Motoren mit den anderen Blöcken für eine definierte Anzahl Umdrehungen, Grad oder Zeit programmiert werden. Dieses Vorgehen ist sehr nah an der professionellen Programmierung von Mikrocontrollern, erhöht aber gleichzeitig die Schwierigkeit (wenn auch nur geringfügig).

Bewegung

Unter „Bewegung“ finden sich kombinierte Fahrten, die mit zwei Motoren ausgeführt werden. Auch hier müssen die Parameter vorher eingestellt werden. Neben der Geschwindigkeit und den IO-Anschlüssen, an denen die Motoren angeschlossen werden sollen, ist auch die Radumdrehung vorher zu definieren. Die Radumdrehung ist wichtig, weil man darüber dem Roboter hinterher im Programmcode eine Strecke in Zentimetern zuweisen kann, nach dem Schema: „Fahre 10 cm gerade aus“.

Licht

Unter dem Reiter „Licht“ kann die 5×5 LED-Matrix angesteuert werden. Des Weiteren finden sich hier sowohl die Farb-LED der Mitteltaste als auch die vier LED-Segmente des Ultraschallsensors wieder.

Soundeffekte

Im Reiter „Soundeffekte“ gibt es über 186 Tondateien, die von PC oder Tablet abgespielt werden können. Darunter sind z.B. das Miauen einer Katze oder eine Polizeisirene. Töne, die vom SPIKE™ abgespielt werden, werden hier als Pieptöne ausgegeben.

Ereignisse

Den nächsten Reiter „Ereignisse“ gab es so bisher noch nicht bei den LEGO®-Robotern. Hier finden sich Auslöser wieder, die während der Laufzeit des Programms ein Event auslösen, wenn eine vorher definierte Bedingung gegeben ist. Damit ist eine Parallelität einfacher zu programmieren. Das einfachste Ereignis ist „Wenn Programm startet“. Da die Programmierung mit dieser Art von Blöcken etwas schwieriger ist, werden wir euch das in einem späteren Artikel mal genauer erklären.

Steuerung

Unter den Steuerungsblöcken finden sich Mechanismen wie „Warten“, „Wenn-Dann-Abfragen“ oder „Schleifen“ wieder.

Sensoren

Der Reiter „Sensoren“ ist quasi selbsterklärend. Hier finden sich Blöcke wieder, die einen aktuellen Sensorwert ausgeben.

Operatoren

Unter „Operatoren“ sind mathematische Verrechnungen und Boole´sche Operatoren zu finden.

Variablen

Mit den Blöcken unter „Variablen“ schließlich kann man eigene Zahlenvariablen erstellen, sie auf verschiedene Werte setzen oder inkrementieren. Als Clou gibt es außerdem am rechten Rand einen Überwachungsmonitor, auf dem ihr sehen könnt, welchen Wert eine Variable zur Laufzeit gerade hat. Leider gibt es keine Logischen/Booleschen Variablen.

Erweiterungen

Wie bereits weiter oben erwähnt, gibt es noch Erweiterungsblöcke, die man nachträglich hinzufügen kann. Von der aktuellen Auswahl benötigen zwei Erweiterungen (“Wetter-Assistent” und “Musik”) eine Internetverbindung, weil sie online Daten oder Cloud-Dienste nutzen. Dies ist in der Übersichtsansicht durch ein kleines WLAN-Symbol gekennzeichnet.

Auf die Form kommt es an

Die neun Hauptkategorien an Blöcken unterscheiden sich alle durch ihre Farbe voneinander. Viel wichtiger ist jedoch die Form einzelner Blöcke. Denn diese gibt an, was für ein Datentyp hinter einem Befehl steckt: Zahlen werden in runde Formen eingesetzt, logische Werte in langgezogene Sechsecke. Somit ist klar, was wohin passt. Leider ist die Umgebung nicht wirklich 100%ig typsicher: Zahlenwerte können auch als Sounddatei, Motor-Port oder LED-Matrix eingesetzt werden. Wir denken, dass im Hintergrund diese Werte eventuell auf Zahlen gemappt werden (A=0 B=1 usw.). Trotzdem ist es ein wenig verwirrend, warum man zum Beispiel “Motoranschluss 5” eingeben kann, obwohl die Ports immer auf Buchstaben hören.

Wie kommt das Programm auf den Spike™?

Um fertige Programme auf dem Roboter zu testen, gibt es zwei Möglichkeiten: Download, also das Herunterladen auf den SPIKE™ Prime, oder Streaming.

Der große Unterschied ist dabei, dass der SPIKE™ beim Streaming eine permanente Verbindung zum PC oder Tablet benötigt. Dafür werden die Werte von Variablen zur Laufzeit des Programms angezeigt. Beim Download hingegen hat man 20 Programmplätze zur Verfügung, benannt von 0-19. Diese wählt man in der App mit dem Pfeilbuttons aus. Auf dem SPIKE™ kann man dann die 20 Programmslots mit den Pfeiltasten auswählen und das entsprechende Programm mit der Mitteltaste starten.

Nachdem wir uns nun mit Hard- und Software des SPIKE™ Prime beschäftigt haben, stellen wir euch im dritten Teil unseres Tests das Lehrmaterial etwas vor und bewerten die Schultauglichkeit des Sets.

Autor*innen: Felix Krawczyk, Meike Volkmer, Sarah Fleuren, Vera Straetmanns

Quellen: LEGO® Education, The Brothers Brick