Lego Education Spike Prime im Blick
18.11.2024, 00:00 Uhr
Soll es Block oder Text sein?
Spike Prime ist eine moderne Robotikplattform für kreatives Lernen, die mit visueller und textbasierter Programmierung eine Fülle von Anwendungsmöglichkeiten bietet.
Unser Bildungssystem steht in der heutigen Zeit vor großen Herausforderungen und Veränderungen. Die zunehmende Digitalisierung und neue pädagogische Konzepte prägen die Bildungslandschaft und erfordern innovative Ansätze. Darunter gewinnt die digitale Bildung immer mehr an Bedeutung und verändert die Art und Weise, wie Wissen vermittelt und erworben wird. Sie umfasst den Einsatz digitaler Medien und Technologien im Unterricht sowie die Vermittlung von Kompetenzen für die digitale Welt. Schüler lernen den verantwortungsvollen Umgang mit digitalen Werkzeugen und entwickeln wichtige Fähigkeiten für die Zukunft.
In diesem Kontext ist das Stellvertretermodell ein wichtiger Aspekt. Dieses Modell im Bereich Bildung und Lernen bezieht sich auf eine Form des modernen Lernens, bei der eine bestimmte Person, Gruppe oder Technologie als „Stellvertreter“ fungiert, um Lerninhalte zu vermitteln oder Lernprozesse zu unterstützen. Es gibt verschiedene Ausprägungen dieses Modells, aber generell geht es um die Idee, dass nicht der eigentliche Lehrer oder Dozent, sondern ein Stellvertreter Lernprozesse leitet oder erleichtert.
In der modernen Bildungstechnologie wird das Stellvertretermodell oft auf digitale Werkzeuge übertragen. Beispielsweise können künstliche Intelligenzen, Lernplattformen oder Hardwaresysteme wie Roboter als Stellvertreter agieren, indem sie Lehrinhalte präsentieren, Tests verwalten oder Feedback geben. Auch hier wird die Rolle des Lehrers durch ein System oder eine Technologie teilweise ersetzt oder ergänzt.
Lego Education Spike Prime versus Mindstorms EV3
Lego Education Spike Prime und Lego Mindstorms EV3 sind beide leistungsfähige Robotik-Plattformen für den Bildungsbereich, unterscheiden sich jedoch in einigen wichtigen Aspekten. Spike Prime verfügt über modernere Hardware mit einem leistungsstärkeren Hub, universellen Ports und integrierten Sensoren. Seine Programmierumgebung basiert auf Scratch und Python, was den Einstieg und späteren Übergang zur textbasierten Programmierung erleichtert. Spike Prime zielt auf jüngere Schüler ab und bietet eine flachere Lernkurve, während der EV3 sich eher für ältere Schüler und komplexere Projekte eignet. Obwohl EV3 mittlerweile eingestellt wurde, bleibt es dank seiner großen Community relevant. Spike Prime bietet als neueres Produkt bessere Zukunftsfähigkeit und eignet sich besonders gut für den Einstieg in die Robotik, während der EV3 für fortgeschrittene Anwender weiterhin attraktiv bleibt.
Lego Education Spike Prime
Lego Education Spike Prime [1] ist ein Lernwerkzeug aus dem Hause Lego Education. Es kombiniert die bekannten Lego-Bausteine mit fortschrittlicher Technologie und pädagogischen Konzepten, um zum Beispiel Schülern die Möglichkeit zu bieten, Konzepte aus den Bereichen Technik, Umwelt und Softwareentwicklung selbst zu erleben. Damit es einfacher zu lesen ist, bezeichnen wir das System im weiteren Verlauf des Artikels kurz als Spike Prime.
Lego Education hat sich seit Jahrzehnten der Förderung von praktischem, spielerischem Lernen verschrieben. Spike Prime stellt dabei einen wichtigen Schritt dar, da es die neueste technische Entwicklung mit bewährten pädagogischen Methoden verbindet. Das System ermöglicht es Schülern, komplexe MINT-Konzepte (Mathematik, Informatik, Naturwissenschaften und Technik) auf eine greifbare und unterhaltsame Weise zu verstehen.
Spike Prime richtet sich primär an Schulen und Bildungseinrichtungen und eignet sich insbesondere für Schüler im Alter von 10 bis 14 Jahren. Es ist jedoch auch in Maker-Spaces und MINT-Clubs beliebt, wo es kreative und technische Fähigkeiten fördert. Die Vielseitigkeit des Systems macht es zu einem wertvollen Werkzeug für verschiedene Lernumgebungen und Altersgruppen.
Das Herzstück von Spike Prime ist der programmierbare Hub, der als Gehirn der Kreationen fungiert. Er verfügt über einen leistungsstarken Prozessor, Bluetooth-Konnektivität und ein 5x5-LED-Display. Dazu kommen präzise Motoren, verschiedene Sensoren (wie Farb-, Kraft- und Distanzsensoren) sowie eine Vielzahl von Lego-Technic-Bausteinen. Diese Komponenten ermöglichen den Bau komplexer, interaktiver Modelle und Roboter.
Spike Prime zielt darauf ab, Schüler mit essenziellen Fähigkeiten für das 21. Jahrhundert auszustatten. Durch praktische Projekte und Herausforderungen entwickeln die Lernenden ein tiefes Verständnis für MINT-Konzepte. Sie üben kritisches Denken und Problemlösung, indem sie komplexe Aufgaben in kleinere, bewältigbare Schritte zerlegen. Die Arbeit in Teams fördert zudem wichtige soziale Kompetenzen wie Kommunikation und Zusammenarbeit.
Lego Education Spike Prime versus Spike Essential
Lego Education Spike Essential [3] ist ein Einstiegsset für jüngere Schüler im MINT-Bereich. Es enthält einen kompakten gelben Technic Hub mit zwei Anschlüssen, zwei kleine Motoren und eine 3x3-LED-Matrix. Das Set umfasst über 500 Lego-Technic-Elemente und ist für Kinder ab etwa sechs Jahren konzipiert.
Das Lego Education Spike Essential Set verfügt über einen kompakten, aufladbaren Hub mit Bluetooth-Verbindung, der eine einfache visuelle Programmierung über eine Scratch-basierte App ermöglicht. Es legt den Fokus auf grundlegende MINT-Konzepte und fördert spielerisches Lernen. Zudem ist es kompatibel mit anderen Powered-Up-Komponenten und eignet sich für ein bis zwei Schulstunden, abhängig von der Akkulaufzeit. Als Teil des Lego-Learning-Systems unterstützt es ein ganzheitliches MINT-Lernen und bietet eine ideale Einführung in Robotik und Programmierung für jüngere Schüler.
Spike Essential bietet eine sanfte Einführung in Robotik und Programmierung, mit altersgerechten Herausforderungen und einer benutzerfreundlichen Oberfläche. Es dient als Vorstufe zum komplexeren Spike-Prime-Set und ermöglicht einen nahtlosen Übergang zu fortgeschritteneren MINT-Konzepten.
Die Hardware
Zum Lieferumfang von Spike Prime gehört eine Palette an Hardware-Komponenten, die es ermöglichen, komplexe robotische Systeme zu bauen und zu programmieren. Bild 1 zeigt eine Übersicht des Lieferumfangs. Die Kombination aus dem Hub, präzisen Motoren, vielseitigen Sensoren und dem modularen Baukastensystem basierend auf Lego Technic macht Spike Prime zu einem motivierenden Werkzeug für den MINT-Unterricht.
Der Spike Prime Hub ist das Herzstück des Systems und fungiert als programmierbarer Controller für alle angeschlossenen Komponenten. Er ermöglicht die Steuerung von Motoren und Sensoren sowie die Verarbeitung von Daten.
Der Hub verfügt über sechs Ein- beziehungsweise Ausgänge, die symmetrisch auf beiden Seiten angeordnet sind. Diese universellen Ports lassen sich sowohl für Motoren als auch für Sensoren nutzen, was eine gute Flexibilität bei der Konstruktion von Modellen bietet. Im Vergleich zum Vorgängermodell EV3, das separate Anschlüsse für Motoren und Sensoren hatte, ist dies eine Verbesserung in Bezug auf Benutzerfreundlichkeit und Vielseitigkeit. Nachteilig an Spike Prime gegenüber dem EV3 ist, dass Letzterer vier Anschlüsse für Sensoren und vier für Motoren besitzt, also insgesamt acht Anschlüsse. Bezogen auf die Anzahl der Anschlüsse bedeutet Spike Prime also einen kleinen Rückschritt.
Der Spike Prime Hub ist mit einem M4-Prozessor mit 100 MHz und 320 KB RAM ausgestattet [2]. Obwohl dies auf den ersten Blick weniger leistungsfähig erscheint als der ARM9-Prozessor des EV3 mit 300 MHz, bietet der Spike Prime Hub andere Vorteile:
- eine 5x5-LED-Matrix für visuelle Ausgaben und
Animationen, - Bluetooth-Konnektivität (sowohl BTC 4.2 als auch BLE 4.2),
- ein integrierter Lautsprecher für Audioausgaben,
- ein 6-Achsen-Gyroskop für präzise Bewegungs- und
Lageerfassung, - einen wiederaufladbaren Lithium-Ionen-Akku für lange
Betriebszeiten, - einen Micro-USB-Anschluss für einfache Verbindung mit Computern und Tablets.
Der Hub bietet 32 MByte Speicher für Projekte, was deutlich mehr ist als die effektiv nutzbaren 5 MByte des EV3. Dies ermöglicht die Speicherung umfangreicherer Programme und Daten direkt auf dem Gerät.
Spike Prime bietet im Lieferumfang drei Motoren: zwei mittlere und einen großen Motor. Die mittleren Motoren haben ein Drehmoment von 3,5 Ncm und erreichen 135 Umdrehungen pro Minute. Der große Motor bietet ein Drehmoment von 8 Ncm und schafft 175 Umdrehungen pro Minute. Alle Motoren verfügen über eingebaute Encoder, die eine präzise Positionsbestimmung ermöglichen. Dies ist besonders nützlich für genaue Bewegungssteuerung und Robotik-Anwendungen.
Spike Prime bietet zudem eine Reihe von Sensoren für verschiedene Anwendungsbereiche:
- Kraftmesser: Misst Kräfte und Druck, ideal für physikalische Experimente.
- Ultraschallsensor: Misst Abstände bis zu zwei Metern und verfügt über vier individuell ansteuerbare LED-Segmente.
- Farbsensor: Erkennt acht verschiedene Farben und kann auch als Lichtsensor verwendet werden.
- Gyroskop: Im Hub integriert, ermöglicht präzise Lage- und Bewegungserfassung.
Diese Sensoren ermöglichen es Schülern, mit den Spike-Prime-Produkten ihre Umgebung zu erfassen, Daten zu sammeln und auf Veränderungen zu reagieren. Sie bilden die Grundlage für jegliche Art von interaktiven Robotern und komplexen MINT-Projekten.
Das Spike-Prime-Set enthält darüber hinaus über 500 Lego-Technic-Elemente in verschiedenen Farben. Diese Vielfalt an Bauteilen ermöglicht es Schülern, ihrer Kreativität freien Lauf zu lassen und eine breite Palette von Konstruktionen zu erstellen. Die Elemente sind essenziell, um mit Spike Prime Robotikprojekte umzusetzen. Die Modularität des Systems ist eine seiner größten Stärken. Schüler können schnell zwischen verschiedenen Konfigurationen wechseln, Teile austauschen und ihre Designs iterativ verbessern. Dies fördert das Problemlösungsdenken und ermutigt zum Experimentieren.
Spike Prime bietet neue Räder. Sie haben einen Durchmesser von 55,5 mm und sind so konzipiert, dass sie eine geringe Reibung bei gleichzeitig gutem Grip bieten. Die Reifen sind fest mit den Felgen verbunden, was die Stabilität erhöht und Fehler beim Aufbau minimiert.
Allerdings kann es auch in einigen Anwendungsfällen zu Problemen kommen, weil die Räder schmal sind – zum Beispiel in Wettbewerbssituationen oder bei ungewohnten
Bodenbeschaffenheiten.
Bodenbeschaffenheiten.
Programmierung mit der Lego-Software
Die Programmierung erfolgt bei Spike Prime hauptsächlich über die Lego-Spike-App, eine auf Scratch basierende Programmierumgebung. Diese Plattform ermöglicht es, schnell und effektiv mit der Programmierung zu beginnen und gleichzeitig komplexe Projekte zu realisieren.
Das Herzstück der Programmierumgebung in Spike Prime ist die visuelle, blockbasierte Programmiersprache, die auf Scratch aufbaut, einer weit verbreiteten Plattform für den Einstieg in die Programmierung. Diese Umgebung ist speziell auf die Bedürfnisse von Schülern und Lehrern im MINT-Bereich zugeschnitten. Die Spike-App gibt es als Download [4] für verschiedene Plattformen, wie zum Beispiel macOS, Windows, iOS und Android. Bild 2 zeigt einen Screenshot der Windows-App unter Windows 10.
Zum Zeitpunkt der Erstellung dieses Artikels war die Version 3.4.3 der Lego-Spike-App aktuell. Alternativ bietet Lego Education die App als Webversion [5] im Browser. Bild 3 zeigt ein Beispiel für die Web-App in Chrome.
Die Benutzeroberfläche der Spike-App ist übersichtlich und intuitiv gestaltet. Sie besteht aus mehreren Hauptbereichen. Im Programmierbereich lassen sich die Codeblöcke platzieren und miteinander verbinden. Die Blockpalette enthält alle verfügbaren Programmierblöcke, kategorisiert nach Funktionen. Im Hub-Verbindungsbereich ist der Status der Verbindung zum Spike Prime Hub zu sehen, und im Bereich des Projektmanagements ist es möglich, Projekte zu speichern, zu laden und generell zu verwalten.
Die Programmierung an sich erfolgt durch Drag-and-drop von Codeblöcken. Diese Methode ist besonders für Einsteiger geeignet, da sie keine Vorkenntnisse der Syntax traditioneller Programmiersprachen erfordert. Die Blöcke sind farbcodiert und in logische Kategorien unterteilt, was hilfreich für Navigation und Verständnis ist. Einige der wichtigsten Blockkategorien sind die folgenden:
- Bewegung: Zur Steuerung der Motoren.
- Sensoren: Für die Verarbeitung von Sensorinformationen.
- Operatoren: Für mathematische und logische Operationen.
- Kontrollstrukturen: Für Schleifen und Verzweigungen.
- Variablen: Zum Speichern und Verwalten von Daten.
Die Blöcke lassen sich einfach ineinanderschieben, wobei die Form der Blöcke sicherstellt, dass nur syntaktisch korrekte Verbindungen möglich sind. Dies reduziert Frustration durch Syntaxfehler und ermöglicht es, sich auf die Logik und Struktur von Programmen zu konzentrieren.
Erste Schritte mit der visuellen Programmierung
Die Spike-App bietet eine Reihe von vordefinierten Beispielprojekten und Tutorials, die den Einstieg in die Programmierung erleichtern. Diese Projekte sind sorgfältig konzipiert und leiten die Nutzer durch verschiedene Programmierkonzepte und Hardwarefunktionen von Spike Prime. Die Tutorials sind typischerweise so aufgebaut, dass alle wichtigen Schritte nach und nach abgearbeitet werden: zum Beispiel die Verbindung zum Hub, eine einfache Motorsteuerung, Sensorauswertung, bedingte Anweisungen, Schleifen und ähnliche Konzepte. Zudem bauen die Projekte aufeinander auf und führen schrittweise in komplexere Konzepte ein – für Einsteiger daher eine gute Wahl.
Die Steuerung der Motoren ist ein zentraler Aspekt vieler Spike-Prime-Projekte. Die App bietet verschiedene Blöcke zur präzisen Kontrolle der Motoren:
- Drehung um einen bestimmte Grad: Ermöglicht die genaue Positionierung der Motoren.
- Drehung für eine bestimmte Zeit: Nützlich für zeitbasierte Bewegungen.
- Geschwindigkeitssteuerung: Erlaubt die Anpassung der Motorgeschwindigkeit.
- Synchrone Motorsteuerung: Für koordinierte Bewegungen mehrerer Motoren.
Ein Beispiel für einen einfachen Motorsteuerungsblock zeigt das zugehörige Bild 4 der Scratch-Blöcke.
Die Sensorauswertung ist ein weiterer wichtiger Aspekt der Spike-Prime-Programmierung. Die App bietet spezielle Blöcke für jeden verfügbaren Sensortyp, wie den Farbsensor, den Ultraschallsensor, den Kraftsensor und das Gyroskop. Ein typischer Sensorauswertungsblock ist in Bild 5 zu sehen.
Selbst die einfache Kombination von Motor- und Sensorsteuerung ermöglicht die Erstellung komplexer und interaktiver Roboter. Beispielsweise lässt sich ein Roboter programmieren, der unter Verwendung des Farbsensors einer Linie folgt und durch Auswertung des Ultraschallsensors Hindernissen ausweicht.
Darüber hinaus bietet die Spike-App auch fortgeschrittene Programmiermöglichkeiten. Dazu gehört die Datenprotokollierung zum Sammeln und Analysieren von Sensordaten über die Zeit. Die parallele Ausführung ermöglicht es, dass mehrere Programmteile gleichzeitig ablaufen können, und die ereignisgesteuerte Programmierung sorgt dafür, dass Programme auf spezifische Ereignisse reagieren können, um anschließend Aktionen auszuführen.
Python als Alternative?
Zusätzlich zur blockbasierten Programmierung bietet die Spike-App die Möglichkeit, mit Python zu programmieren. Dies ermöglicht einen sanften Übergang von der visuellen zur textbasierten Programmierung und bereitet auf fortgeschrittenere Programmierkonzepte vor. Python bietet eine leistungsfähige und flexible Plattform für komplexere Projekte und tieferes Verständnis von Programmierkonzepten.
Die Python-Unterstützung für Spike Prime ermöglicht es, textbasierte Programme zu erstellen und auszuführen. Dies bietet mehrere Vorteile gegenüber der blockbasierten Programmierung in der Lego-Software, hat aber auch gewisse Grenzen, die bei der Nutzung und Einführung im Bildungskontext zu berücksichtigen sind.
Die Python-Programmierung für Spike Prime bietet im Vergleich zur Lego-Software erweiterte Möglichkeiten wie die Implementierung komplexerer Algorithmen und Datenstrukturen, eine präzisere Kontrolle über Hardware-Ressourcen sowie die Nutzung externer Python-Bibliotheken. Dies bereitet Lernende effektiv auf professionelle Programmierung vor.
Allerdings bringt dieser Ansatz auch Herausforderungen mit sich: Anfänger sehen sich einer steileren Lernkurve gegenüber, die visuelle Unterstützung ist reduziert, und es können Einschränkungen bei der Hardwareunterstützung auftreten. Trotz dieser Grenzen bietet die Python-Programmierung insgesamt ein leistungsfähigeres und flexibleres Entwicklungsumfeld für fortgeschrittene Spike-Prime-Projekte.
Es ist wichtig zu beachten, dass es verschiedene Python-Implementierungen für Spike Prime gibt, etwa Spike 3, Spike 2 und Pybricks [6]. Jede hat ihre eigenen Vor- und Nachteile in Bezug auf Funktionalität und Kompatibilität.
Installation und erstes Python-Beispiel
Um mit Python auf Spike Prime zu arbeiten, ist zunächst die entsprechende Firmware auf dem Hub zu installieren. Dies kann je nach gewählter Python-Implementierung variieren. Für die offiziell unterstützte Lego-Python-Umgebung sind die Schritte recht einfach. Über die installierte Spike-Software lässt sich der Spike Prime Hub verbinden, um die aktuelle Firmware des Hubs zu installieren. Damit steht die von Lego bereitgestellte Python-Umgebung zur Verfügung. Für alternative Implementierungen wie Pybricks gibt es spezifische Anweisungen [7] auf der Website.
Das Python-API für Spike Prime bietet eine Reihe von Bibliotheken zur Steuerung der verschiedenen Hardwarekomponenten. Listing 1 zeigt ein erstes Beispiel, in dem verschiedene Komponenten importiert werden und dann zum Einsatz kommen, um beispielsweise den Hub zu initialisieren, die LED-Matrix anzusteuern und Sensoren auszuwerten. Diese Grundlagen ermöglichen es, die verschiedenen Komponenten von Spike Prime zu steuern und auszulesen. Das Beispiel verdeutlicht zudem, warum diese Art der Programmierung sich so sehr von der Scratch-basierten Umgebung unterscheidet. Das ist logisch, da es sich um zwei grundverschiedene Ansätze handelt, ist aber bei der Arbeit mit Lernenden unbedingt zu berücksichtigen.
Listing 1: Das erste Python-Programm für Spike Prime
from Spike import PrimeHub, LightMatrix, Button,
StatusLight, ForceSensor, MotionSensor, Speaker,
ColorSensor, App, DistanceSensor, Motor, MotorPair
from Spike.control import wait_for_seconds,
wait_until, Timer
# Initialisierung des Hubs
hub = PrimeHub()
# Steuerung der LED-Matrix
hub.light_matrix.show_image('HAPPY')
# Motorsteuerung
motor = Motor('A')
motor.run_for_degrees(360)
# Sensorauswertung
color_sensor = ColorSensor('E')
print(color_sensor.get_color())
StatusLight, ForceSensor, MotionSensor, Speaker,
ColorSensor, App, DistanceSensor, Motor, MotorPair
from Spike.control import wait_for_seconds,
wait_until, Timer
# Initialisierung des Hubs
hub = PrimeHub()
# Steuerung der LED-Matrix
hub.light_matrix.show_image('HAPPY')
# Motorsteuerung
motor = Motor('A')
motor.run_for_degrees(360)
# Sensorauswertung
color_sensor = ColorSensor('E')
print(color_sensor.get_color())
Roboterbewegung und Sensordatenverarbeitung
Das zweite Python-Beispiel zeigt, wie sich die Bewegung eines Roboters steuern lässt und Sensordaten verarbeitet werden können. Der Python-Code steuert einen Spike-Prime-Roboter, der mithilfe eines Farbsensors einer Linie folgt, bis er ein Hindernis erkennt, und dann stoppt und umkehrt.
Listing 2 zeigt dazu den Code. Zunächst werden der Roboter-Hub, ein Farbsensor, ein Abstandssensor und zwei Motoren initialisiert. Der Farbsensor misst kontinuierlich die Lichtreflexion, um die Position des Roboters relativ zur Linie zu bestimmen. Ein proportionaler Regelalgorithmus (P-Regler) berechnet anhand des Unterschieds zwischen dem gemessenen Reflexionswert und einem Zielwert die notwendige Korrektur für die Steuerung. Der Roboter passt seine Bewegung entsprechend an, um der Linie zu folgen.
Listing 2: Python-Programm für einen PID zur Sensordatenverarbeitung
from Spike import PrimeHub, ColorSensor,
DistanceSensor, MotorPair
from Spike.control import wait_for_seconds
# Initialisierung der Komponenten
hub = PrimeHub()
color_sensor = ColorSensor('E')
distance_sensor = DistanceSensor('F')
drive_motors = MotorPair('A', 'B')
# Konstanten für die Linienfolge
TARGET_REFLECTION = 50
KP = 0.5 # Proportionaler Faktor für PID-Regelung
def follow_line():
while True:
# Lesen des Reflexionswertes
reflection =
color_sensor.get_reflected_light()
# Berechnung des Fehlers
error = reflection - TARGET_REFLECTION
# Berechnung der Steuerung (einfache
# P-Regelung)
steering = KP * error
# Fahren mit berechneter Steuerung
drive_motors.start(steering=steering)
# Überprüfung auf Hindernisse
if distance_sensor.get_distance_cm() < 10:
avoid_obstacle()
def avoid_obstacle():
# Stoppen und zurückfahren
drive_motors.stop()
drive_motors.move(-10, 'cm', 0, 20)
# Drehen
drive_motors.move(180, 'degrees', 100, 20)
# Vorwärts fahren
drive_motors.start()
# Hauptprogramm
hub.light_matrix.show_image('GO')
wait_for_seconds(1)
follow_line()
DistanceSensor, MotorPair
from Spike.control import wait_for_seconds
# Initialisierung der Komponenten
hub = PrimeHub()
color_sensor = ColorSensor('E')
distance_sensor = DistanceSensor('F')
drive_motors = MotorPair('A', 'B')
# Konstanten für die Linienfolge
TARGET_REFLECTION = 50
KP = 0.5 # Proportionaler Faktor für PID-Regelung
def follow_line():
while True:
# Lesen des Reflexionswertes
reflection =
color_sensor.get_reflected_light()
# Berechnung des Fehlers
error = reflection - TARGET_REFLECTION
# Berechnung der Steuerung (einfache
# P-Regelung)
steering = KP * error
# Fahren mit berechneter Steuerung
drive_motors.start(steering=steering)
# Überprüfung auf Hindernisse
if distance_sensor.get_distance_cm() < 10:
avoid_obstacle()
def avoid_obstacle():
# Stoppen und zurückfahren
drive_motors.stop()
drive_motors.move(-10, 'cm', 0, 20)
# Drehen
drive_motors.move(180, 'degrees', 100, 20)
# Vorwärts fahren
drive_motors.start()
# Hauptprogramm
hub.light_matrix.show_image('GO')
wait_for_seconds(1)
follow_line()
Wenn der Abstandssensor ein Hindernis innerhalb von 10 cm Distanz erkennt, hält der Roboter an, fährt kurz rückwärts, um sich Platz für eine Drehung zu verschaffen, dreht sich um 180 Grad und fährt dann der Linie folgend wieder zurück. Währenddessen zeigt der Roboter über eine LED-Matrix eine Startanzeige („GO“) an, bevor die Linienfolge beginnt.
Dieses Beispiel zeigt mehrere zentrale Konzepte, darunter die Verarbeitung von Sensordaten, bei der ein Farbsensor zur Erkennung von Oberflächenreflexionen verwendet wird, um einer Linie zu folgen. Die Motorensteuerung erfolgt basierend auf diesen Sensordaten. Ein Distanzsensor erkennt Hindernisse und ermöglicht es, eine Kollision zu vermeiden. Zudem wird eine einfache proportionale Regelung (PID) eingesetzt, um eine gleichmäßige Linienfolge zu gewährleisten. Das Programm könnte durch die Implementierung einer vollständigen PID-Regelung oder weiterer Funktionen, wie die Erkennung von Kreuzungen, weiter verbessert werden.
Python im Bildungskontext
Die Programmierung von Spike Prime mit Python bietet eine Vielzahl von Möglichkeiten für fortgeschrittene Projekte und tieferes Lernen. Allerdings ist es wichtig zu beachten, dass die Wahl der Python-Implementierung (Spike 3, Spike 2, Pybricks) die verfügbaren Funktionen und die Kompatibilität beeinflussen kann. Pybricks wird oft als die stabilste und leistungsfähigste Option angesehen, obwohl es einige Einschränkungen bei der UART-Unterstützung gibt.
Für Pädagogen und Schüler, die tiefer in die Python-Programmierung mit Spike Prime eintauchen möchten, empfiehlt es sich, die offizielle Lego-Education-Dokumentation sowie die verfügbaren Community-Ressourcen zu konsultieren. Diese bieten oft detaillierte Anleitungen, Beispielprojekte und Best Practices für die Entwicklung mit Python auf der Spike-Prime-Plattform.
Zusätzliche technische Möglichkeiten
Die Programmierung von Spike Prime lässt sich über die Standardfunktionen hinaus erweitern, um komplexere und anspruchsvollere Projekte zu realisieren. Open-Source-Frameworks wie OpenMV [8] und MicroPython [9] ermöglichen fortgeschrittene Funktionen innerhalb der Spike-Prime-Programmierung wie Bildverarbeitung und maschinelles Lernen direkt auf dem Spike Prime Hub.
Die Kombination von Spike Prime mit Geräten wie Raspberry Pi oder Arduino erweitert die Fähigkeiten des Systems erheblich. Ein Raspberry Pi kann beispielsweise als leistungsfähiger Prozessor für komplexe Berechnungen dienen, während ein Arduino zusätzliche Sensoren und Aktoren einbinden kann. Beispielsweise ist der Raspberry Pi Build HAT eine solche Erweiterungsplatine für Raspberry-Pi-Computer, die in Zusammenarbeit mit Lego Education entwickelt wurde. Sie ermöglicht die einfache Steuerung von Lego-Technic-Motoren und die Auswertung von Sensoren aus dem Spike-Portfolio mit einem Raspberry Pi. Die Erweiterungsplatine bietet vier Anschlüsse für Lego-Technic-Motoren und Sensoren und ist mit allen 40-Pin-GPIO-Raspberry-Pi-Modellen kompatibel. Zur einfachen Steuerung der Lego-Komponenten steht eine spezielle Python-Bibliothek zur Verfügung. Ein integrierter RP2040-Mikrocontroller übernimmt die Verwaltung der angeschlossenen Lego-Geräte. Für eine stabile Stromversorgung des Raspberry Pi und der Lego-Komponenten lässt sich ein optionales Netzteil nutzen.
Die Verbindung von Spike Prime mit Cloud-Diensten wie Google Cloud oder AWS ermöglicht die Nutzung fortschrittlicher Datenanalyse- und KI-Funktionen. Sensordaten können in Echtzeit an diese Dienste gesendet und dort verarbeitet werden, um tiefere Einblicke zu gewinnen oder komplexe Steuerungsalgorithmen zu implementieren. Die Bluetooth- und WiFi-Fähigkeiten des Spike Prime Hub eröffnen vielfältige Kommunikationsmöglichkeiten. Über Bluetooth lassen sich mehrere Spike Prime Hubs miteinander vernetzen, um koordinierte Aktionen durchzuführen. WiFi ermöglicht die Anbindung an das Internet und damit den Zugriff auf Webservices oder die Fernsteuerung über mobile Geräte. Diese erweiterten Programmierungsmöglichkeiten transformieren Spike Prime von einem einfachen Lernwerkzeug zu einer vielseitigen Plattform für fortgeschrittene MINT-Projekte.
Vergleich der beiden Sprachen
Lego Spike Prime bietet sowohl visuelle Programmierung mit Scratch als auch textbasierte Programmierung mit Python. Scratch ist intuitiv und einsteigerfreundlich, hat jedoch Einschränkungen bei komplexeren Projekten. Python hingegen ist mächtiger und flexibler, erfordert aber eine längere Einarbeitungszeit. Die Wahl der Programmiersprache hängt vom Erfahrungsniveau der Lernenden, der Projektkomplexität, der verfügbaren Zeit und den Lernzielen ab. Für Einsteiger und einfachere Projekte eignet sich Scratch, während Python für fortgeschrittene Lernende und anspruchsvollere Aufgaben vorteilhaft ist. Ein effektiver Ansatz kombiniert beide Methoden: Man beginnt mit Scratch für grundlegende Konzepte, wechselt schrittweise zu Python für fortgeschrittene Funktionen und nutzt Scratch für schnelle Prototypen, während Python für die Feinabstimmung eingesetzt wird. Das ermöglicht eine sanfte Lernkurve und maximale Flexibilität in der Projektentwicklung. Diese Kombination ermöglicht es Lernenden, die Vorteile beider Welten zu nutzen. Sie können mit der intuitiven visuellen Programmierung beginnen und allmählich zu textbasierter Programmierung übergehen, was eine sanfte Lernkurve und tieferes Verständnis fördert.
Die Spike-App unterstützt diesen Ansatz, indem sie sowohl visuelle als auch textbasierte Programmierung in einer Umgebung anbietet. Dies erleichtert den Übergang und ermöglicht es Lehrenden, den Unterricht flexibel an die Bedürfnisse der Lernenden anzupassen.
Fazit
Lego Education Spike Prime bietet eine vielseitige Robotik-Plattform, die speziell für den MINT-Unterricht entwickelt wurde. Sie verbindet kreative, praktische Lernansätze mit technologischem Fortschritt und richtet sich an Schüler im Alter von 10 bis 14 Jahren.
Spike Prime ermöglicht durch visuelle und textbasierte Programmierung, insbesondere mit Scratch und Python, eine einfache Einführung in die Robotik und in MINT-Konzepte. Gefördert werden dabei kritisches Denken, Problemlösung und Teamarbeit.
Im Vergleich zu älteren Systemen wie dem Mindstorms EV3 bietet Spike Prime moderne Hardware, bleibt jedoch zugänglich für Einsteiger und ist zukunftssicher für den Einsatz in Bildungsumgebungen. Die geringere Anzahl an Ports und die Qualität der Teile, zum Beispiel der Reifen, haben allerdings auch Kritik hervorgerufen. Nicht alle finden, insbesondere im Bildungskontext beispielsweise an Schulen, dass Spike Prime ein würdiger Nachfolger des EV3 ist. Wie sich das System weiterentwickelt, beobachtet die Community mit großer Spannung. Ein Nachfolgemodell ist bisher nicht angekündigt.◾
Dokumente
Artikel als PDF herunterladen
Fußnoten