Zum Inhalt springen
BetaEN
Lektion 1 von 8Robotik mit LEGO SPIKE

Robotik mit LEGO SPIKE · Lektion 1 · 20 Minuten

Dein erstes Pybricks-Programm

Das lernst du

  • Pybricks-Bausteine mit import holen
  • Den Hub mit Lauftext, Licht und Symbolen steuern
  • Mit wait() Pausen einbauen

Der Code in dieser Lektion stammt aus dem Buch „Python für Roboter“, Kapitel 2.1 und 2.3, und läuft hier unverändert im Simulator. Zum Buch bei Amazon ↗

Python auf dem Roboter

Ab jetzt läuft dein Python-Code nicht mehr nur auf dem Bildschirm, sondern steuert einen Roboter. Auf dem LEGO SPIKE Prime Hub benutzt du dafür Pybricks – das ist echtes Python mit fertigen Bausteinen für Motoren und Sensoren.

Hier probierst du alles erst im Simulator aus: Rechts siehst du den virtuellen Hub mit seiner 5×5-Lichtanzeige, links den Roboter von oben. Drück auf Ausführen:

# Zuerst importieren wir die Bausteine, die wir brauchen.
# Pybricks ist in einzelne Module aufgeteilt - das hält den Code übersichtlich.

from pybricks.hubs import PrimeHub          # Der SPIKE-Hub selbst
from pybricks.parameters import Color      # Fertige Farbwerte, z.B. Color.GREEN
from pybricks.tools import wait            # Zum Pausieren des Programms

# Der Hub wird EINMAL erstellt - danach steuern wir ihn über "hub"
hub = PrimeHub()

# Text läuft als Lauftext über die 5x5-LED-Matrix des Hubs
hub.display.text("Hallo!")

# Das Licht im Hub kurz grün leuchten lassen
hub.light.on(Color.GREEN)

# 2000 Millisekunden = 2 Sekunden warten
wait(2000)

print("Programm beendet.")   # Erscheint im Konsolen-Fenster der Web-IDE

Die ersten drei Zeilen holen Bausteine mit import: PrimeHub ist der Hub selbst, Color enthält fertige Farben und wait lässt das Programm warten. hub = PrimeHub() erstellt einmal das Hub-Objekt – danach steuerst du alles über hub. (erinnerst du dich an Klassen und Objekte?).

Merke: wait(2000) wartet 2000 Millisekunden, also 2 Sekunden. Pybricks rechnet Zeiten immer in Millisekunden.

Die 5×5-Lichtanzeige

Die Anzeige kann Text als Lauftext zeigen, fertige Symbole (Icons) oder eigene Muster:

from pybricks.hubs import PrimeHub
from pybricks.parameters import Icon
from pybricks.tools import wait

hub = PrimeHub()

# Text als Lauftext ueber die Matrix schicken
hub.display.text("Hi!")
wait(1500)

# Fertige Icons aus der Pybricks-Bibliothek anzeigen
hub.display.icon(Icon.HAPPY)
wait(1500)

hub.display.icon(Icon.HEART)
wait(1500)

# Anzeige wieder loeschen (alle Lichtpunkte aus)
hub.display.off()

Weitere fertige Symbole sind zum Beispiel Icon.SAD, Icon.SQUARE, Icon.UP oder Icon.ARROW_RIGHT_UP.

Tipp: Die mittlere Taste am Hub ist auch im Simulator die Stopp-Taste – genau wie am echten Roboter.

Deine Aufgabe

Jetzt bist du dran

Übung 2.1 aus dem Buch: Ändere das Programm so, dass der Hub zuerst deinen Wunsch-Roboternamen als Lauftext zeigt, dann das Licht in deiner Lieblingsfarbe leuchtet (probiere Color.RED, Color.BLUE, Color.YELLOW, Color.ORANGE) und am Ende Bereit! ausgibt.

# Zuerst importieren wir die Bausteine, die wir brauchen.
# Pybricks ist in einzelne Module aufgeteilt - das hält den Code übersichtlich.

from pybricks.hubs import PrimeHub          # Der SPIKE-Hub selbst
from pybricks.parameters import Color      # Fertige Farbwerte, z.B. Color.GREEN
from pybricks.tools import wait            # Zum Pausieren des Programms

# Der Hub wird EINMAL erstellt - danach steuern wir ihn über "hub"
hub = PrimeHub()

# Text läuft als Lauftext über die 5x5-LED-Matrix des Hubs
hub.display.text("Hallo!")

# Das Licht im Hub kurz grün leuchten lassen
hub.light.on(Color.GREEN)

# 2000 Millisekunden = 2 Sekunden warten
wait(2000)

print("Programm beendet.")   # Erscheint im Konsolen-Fenster der Web-IDE

Ohne Hinweise gelöst gibt es einen ⭐ auf deiner Fortschrittsseite.

Lösung anzeigen

Versuch es erst selbst – aus Fehlern lernt man am meisten. Hier ist eine mögliche Lösung:

from pybricks.hubs import PrimeHub
from pybricks.parameters import Color
from pybricks.tools import wait

hub = PrimeHub()

hub.display.text("Compass")
hub.light.on(Color.BLUE)
wait(2000)
print("Bereit!")