Top-Themen

Themen

Service

Workshop

Swift trifft Lego

Lego Mindstorms EV3: Swift Playgrounds spielt mit Lego

Die „kinderleichte“ Programmierumgebung Swift Playgrounds auf dem iPad kann jetzt verbundenes Spielzeug steuern. Gleich mehrere Hersteller arbeiten mit Apple zusammen. Zum Einstieg programmieren wir den Mindstorms EV3 von Lego. Sie erfahren, wie das „Spielzeug“ in Verbindung mit Ihrem Tablet genutzt werden kann und welche Möglichkeiten Ihnen offenstehen.

Geschrieben von
26.10.2017 - 11:24 Uhr
Geschrieben von
26.10.2017 - 11:24 Uhr

Bereits 2014 führte Apple eine neue Programmiersprache namens Swift ein. Durch die Entwickler-Gemeinde ging zunächst ein Raunen, dann ein Sturm der Begeisterung. Denn: Swift ist sowohl mächtig und flexibel als auch besonders einfach zu erlernen. Apple verfolgt in vielen Aktivitäten im Bildungswesen oder bei Seminaren und Trainings im Apple Store die Idee, dass bereits Kinder mit der einfachen Sprache Swift in Berührung kommen sollten.

Im ersten Schritt schuf Apple die iPad-App Swift Playgrounds, die Kindern vermittelt, wie man programmiert. Mit der neuen Version Swift Playgrounds 1.5 von der WWDC 2017 geht Apple einen Schritt weiter. Mit Swift lassen sich verbundene Spielzeuge wie der Sphero-Kugelroboter oder eine Parrot-Drohne sowie das interaktive Lego-Bausteine-Set Mindstorms EV3 programmieren.

Zum Einstieg programmieren wir den Mindstorms EV3 von Lego mit der neuen Version Swift Playgrounds 1.5, die als kostenloser Download und auch in deutscher Sprache im App Store erhältlich ist. Das Trainings-Programm „Programmieren lernen mit Swift Playgrounds“ ist bewusst einfach gehalten. Die App kommt mit einem kompletten Set an Lektionen, die von Apple entwickelt wurden.

Spielerisch vermittelt die Playgrounds-App die Grundlagen von Swift. Dabei nutzt man bereits echten Code, um eine Figur durch eine 3D-Welt zu steuern. Fortgeschrittenere Konzepte vermittelt die App ebenfalls. Ergänzungen für den Lego-EV3 sind als Modul im Bereich „Zubehör“ von Swift Playgrounds zu laden.

Swift gegen LabView

Durch die neuen Möglichkeiten der Playgrounds-App tritt Apple in Konkurrenz zur grafischen Programmiersprache namens LabView für den Lego-Stein. Der Mindstorms EV3 wird nämlich mit einer eigenen grafischen Programmiersprache in so genannten Programmierblöcken gesteuert.

So sieht ein Programm in LabView aus, das ein Fahrzeug bewegt und am Ende eine Sound-Sequenz erfolgreich abspielt.
So sieht ein Programm in LabView aus, das ein Fahrzeug bewegt und am Ende eine Sound-Sequenz erfolgreich abspielt. (Bild: Screenshot)

Die Programmierung erfolgt grafisch in der Lego-Software wahlweise auf dem Mac oder am iPad. Am Mac hat man mehr Möglichkeiten und kann mit einem USB-Kabel schnell und zuverlässig einen Anschluss herstellen. Dafür ist die iPad-Version optisch „moderner“ und frischer gehalten.

Dagegen gibt es Swift Playgrounds ausschließlich auf dem iPad. Wer in Swift am Mac programmieren möchte, greift zu Xcode. Doch das verbindet sich nicht mit unserem programmierbaren Spielzeug. Jedoch sollen letztlich die spielenden Kinder in ihrem weiteren beruflichen Werdegang spielerisch mindestens eine Computer-Sprache beherrschen.

Nicht erst seit der Gamescom 2017 in Köln, die in diesem Jahr zum ersten Mal von Bundeskanzlerin Angela Merkel eröffnet wurde, weiß man um den kulturellen Wert von Computerspielen und teilt die Erkenntnis, dass Kinder in Spielen bei mathematischen Fragestellungen und Problemen länger durchhalten als im Unterricht.

Lego EV3

Mindstorms oder Education

Den EV3 Stein von Lego gibt es in zwei unterschiedliche Kästen. Man kann selbstverständlich mit beiden Kästen sowohl zuhause als auch mit Kindern und in der Schule bauen. Aber es gibt ein paar Unterschiede, die es zu kennen lohnt. Die eine Version gehört zum EV3-Paket 31313, die andere Variante gehört zum Lego Mindstorms Education 45544. Letztere ist etwas teurer und bietet „out-of-the-box“ lediglich fünf Roboter-Modelle. Mit dem Home-Paket lassen sich zusätzlich zwölf weitere Roboter bauen.
Das Mindstorms-Paket 31313 gibt es regulär im Spielzeughandel, im Einzelhandel und auch online. Die Education-Box 45544 gibt es direkt bei Lego im Online-Store und bei ausgewählten Händlern. Die Edu-Version ist teurer, denn sie enthält mehr und höherwertige Sensoren. So gehören beim Edu-EV3 zwei Taster und der Neigungssensor sowie ein Ultraschall-Abstandmesser zum Lieferumfang. Der Home-EV3 kommt lediglich mit einem Taster und anstelle des Ultraschall-Sensors mit einem Infrarot-Sensor sowie einer Infrarot-Fernbedienung, die ihrerseits bei der Edu-Variante fehlen.
Der EV3-Stein von Lego ist hingegen identisch und kann sowohl mit der Edu-App als auch mit der Home-App programmiert und gesteuert werden. Man kann sich sogar die jeweils fehlenden Elemente und Bausteine hinzukaufen.
Wenn man etwas Praktisches kaufen möchte, dann ist das Akku-Pack mit Netzteil empfehlenswert. Damit kann man den EV3-Stein im laufenden Betrieb aufladen. Ansonsten muss man seinen Roboter zum Teil zerlegen, um an das Batteriefach zu kommen. Zusammengefasst eignet sich die Home-Edition eher für Roboter-Freunde, die viele unterschiedliche Modelle bauen wollen. Mit der Edu-Version gelingt der Einstieg in die freie Programmierung etwas leichter, weil die Sensoren mehr Möglichkeiten bieten.

Eine Lösung sollte es daher sein, Computerspiele, programmierbare Roboter und didaktische Lösungen an Tablet und PC in den Unterricht zu integrieren. Lego Education bietet mit dem Mindstorms-EV3-Set einen Baukasten, der Kinder und Jugendliche für Technik begeistern mag. Zusätzlich verfolgt Apple eine eigene Agenda im Bildungswesen und profitiert vom Bekanntheitsgrad der Marke und dem iPad. Gemeinsam starten Apple und Lego durch, denn mit dem Lego EV3 wird die Programmierung in Swift anschaulich. Lernende und Lehrende können Erfolge und Probleme sofort nachvollziehen.

Swift Playgrounds vermittelt auf dem iPad nicht nur Grundzüge, sondern auch Besonderheiten der Programmiersprache Swift.
Swift Playgrounds vermittelt auf dem iPad nicht nur Grundzüge, sondern auch Besonderheiten der Programmiersprache Swift. (Bild: Screenshot)

Flache und steile Lernkurven

Allerdings treffen bei Lego und Apple unterschiedliche Konzepte aufeinander. Wenn man seine Lego-Mindstorms-Roboter streng nach Anleitung baut und programmiert, dann stellen sich schnell Erfolgserlebnisse ein. Für einen Programmablauf kombiniert man in der Lego-App mehrere Blöcke und richtet jeweils die gewünschte Parameter ein. Dazu dienen Eingabefelder und Auswahllisten an den Programmierblöcken.

Die Programme sind mehr oder weniger verdaulich in didaktischen Häppchen verpackt. Sobald man aber die vorgefertigten Pfade verlässt und schaut, was man mit den EV3-Sensoren noch alles anstellen kann, braucht man viel Experimentierfreude und etwas Geduld.

Dagegen handelt es sich bei Swift von Apple um eine echte Programmiersprache, mit der inzwischen abertausende von realen Apps programmiert sind. Innerhalb von Swift Playgrounds schafft Apple einen leichten Zugang zu Swift und zeigt spielerische Lösungen auf. Aber nicht alles in Swift Playgrounds besteht aus Spaß und Spiel. Vermittelt werden reales Swift und echter produktiver Programm-Code. Sobald man aber die vorgefertigten Module hat ablaufen lassen und schaut, was man mit Swift noch so alles anstellen kann, benötigt man auch hier Experimentierfreude.

Jeweils in ihren Ansätzen versuchen Lego und Apple die Lernkurve flach zu halten, damit sich bei den Lernenden – Kindern wie Erwachsenen – beständig Erfolge einstellen. Denn Enttäuschungen führen zu Frustration und bringen letztlich den Lernerfolg in Gefahr. In der Umsetzung ihrer Konzepte sind Apple und Lego jeweils und für sich auch sehr stringent und erfolgreich. Das Lego-Modul für Swift Playgrounds hinterlässt jedoch einen etwas unfertigen Eindruck.

Motor auf A

Das Programm-Beispiel für die Steuerung des EV3 mit Swift zeigt die kompakte Leistungsfähigkeit der Programm-Sprache von Apple. Ein Druck auf den Berührungssensor schaltet den angeschlossenen Motor ein. Der Motor läuft mit voller Leistung – „withPower: 100.0“.

Wird der Schalter wieder freigegeben, läuft der Motor aus, denn die Anweisung „brakeAtEnd: false“ verbietet die Motorbremse.

Als ein Vorteil von Swift läßt sich der Swift-Code selbsterklärend lesen. „motorOn“ und „withPower“ sprechen für sich selbst. Anderseits ist die Leistungsangabe in Prozent und nicht in beispielsweise Milliwatt.

Und auch die Schnittstellen am EV3 sind innerhalb von Swift anders bezeichnet: Aus „A, B, C und D“ in Großbuchstaben werden „.a, .b, .c und .d“ in Kleinbuchstaben. Aber die nummerierten Sensoren-Ports zählen in englischen Zahlwörtern. Das sind nun einmal die Besonderheiten beim Programmieren. Die Schnittstellen muss man nehmen wie sie sind. Das ändert sich in komplexen APIs nicht.

Interessant ist der Umstand, dass EV3 die Betriebsdaten seiner Sensoren als Variablen nutzen kann. Auf diese Weise kann man die Anzahl der Radumdrehungen zählen und zum Beispiel ihrerseits als Sensor-Variable genutzt werden.

Denkbar sind zum Beispiel Berechnungen über die zurückgelegte Wegstrecke, denn der EV3-Stein kann rechnen – auch in Swift. Möglich sind aber auch Steuerungen, die nach der ersten Umdrehung beschleunigt und nach vorgegebener Drehzahl die Geschwindigkeit wieder drosselt.

Fazit

Mit dem Lego EV3 wird die Programmierung in Swift anschaulich und begreifbar. Dies ist nicht nur für das Bildungswesen interessant, sondern auch für Eltern, die mit ihren Kindern neue Kenntnisse erwerben möchten. Nicht zuletzt bleiben die Roboter-Modelle und Experimente mit dem EV3 – auch ohne Swift – eine solide Plattform für spielerische Erfahrungen. Nebenbei steigt man in die Programmierung und damit verbundene mathematische Fragen wie Werte und Variablen, aber auch Ablaufdiagramme und logische Verknüpfungen ein.

Für Apple sind deratige Kooperationen wie die mit Lego von großer Bedeutung. Gerade im wichtigen US-Bildungsmarkt hat Apple zuletzt große Marktanteile an Google mit dem Chromebook verloren und versucht auch deshalb, Angebot für die jüngstmöglichen Kunden zu schaffen. Apple selbst hat sich aber nicht nur monetäre Gründe für das Engagement im Bildungsmarkt auf die Fahnen geschrieben. Es klingt immer etwas befremdlich wenn Tim Cook es sagt und man darf solchen Aussagen auch immer mit einer gesunden Portion Skepsis begegnen, aber Apple möchte die Welt verbessern. Und derzeit gehört dazu, dass Menschen nicht nur lernen, wie man liest, schreibt und rechnet, sondern eben auch programmiert.

Das ist eine Ansicht, die man zunächst einmal vorbehaltlos teilen kann.

Sollten Kinder programmieren können?

Kaum ein Thema wird so kontrovers diskutiert wie die Frage, was Kinder heute lernen müssen, um damit in Zukunft gewappnet zu sein. Das Stichwort lautet Digitalisierung. Was gibt es Digitaleres, als einen Computer zu programmieren? Eben. Lesen, Schreiben, Rechnen und Programmieren. Das sind die neuen Skills, die am besten bereits Kindern vermittelt werden.
Doch während in Deutschland Bildungsfragen im föderalen System zur Profilierung von Parteipolitik dienen, lernen Vorschulkinder in Finnland, Programm-Code zu lesen.
Ich denke, dass eine Programmiersprache für den Schulbetrieb den Status einer Fremdsprache erhalten sollte, damit den Kindern spätestens in Klasse 5 entsprechende Angebote unterbreitet werden können. Es muss ja nicht einmal Swift sein.

Workshop: So programmieren Sie den Lego EV3 am iPad

Mehr zu diesen Themen:

Ihre Meinung? Diskutieren Sie mit!

Hier können Sie ihre Meinung zum Artikel "Lego Mindstorms EV3: Swift Playgrounds spielt mit Lego" äußern. Melden Sie sich hierfür mit ihrem maclife.de-Account an oder füllen sie die untenstehenden Felder aus.