In der ersten Praktikumsaufgabe geht es darum, ein Projekt in Visual Studio Code zu erstellen, um darin in Python geschriebene Programme abzulegen. Diese können dann auf den LEGO® Mindstorms® EV3 übertragen werden, um sie dort auszuführen. In der Installationsanleitung zu MicroPython haben wir gezeigt, wie ihr alle benötigten Komponenten installieren könnt und wie ihr einen kurzen Test durchführt, ob der EV3-Brick mit der neuen microSD-Karte startet.

Das erste Projekt

Jetzt wollen wir ein neues Projekt für unser erstes Python-Programm erstellen. VS Code selbst kann mit Projekten umgehen, indem ein Ordner oder ein sogenannter Arbeitsbereich geöffnet wird. Das nutzen wir in diesem Fall aber nicht. Die Erweiterung „EV3 MicroPython“, die wir bereits installiert haben, bietet einen eigenen Weg an, um Projekte zu erstellen.

Dazu müsst ihr auf der linken Seite auf das EV3-Symbol klicken. Dann erscheint etwas weiter rechts eine Schaltfläche zum Erstellen eines neuen Projekts. Mit einem Klick auf „Create a new project“ wird der Name des Projekts abgefragt. Den könnt ihr euch aussuchen. Der Name sollte am besten keine Leerzeichen und keine Sonderzeichen beinhalten. Aus Erfahrung kann das im späteren Verlauf zu Problemen führen. Mit der Enter-Taste bestätigt ihr den Namen, worauf VS Code einen Dialog öffnet, damit ihr einen Ordner auswählen könnt, in dem das Projekt gespeichert wird. Damit habt ihr bereits euer erstes Projekt angelegt.

Beim Erstellen eines Projekts wird automatisch eine wichtige Datei erzeugt. Gemeint ist die Datei „main.py“, die das Hauptprogramm enthält. Darin ist ein erster Test enthalten, der den EV3-Brick zum Piepen bringt. Leider scheint es in der aktuellen MicroPython-Version einen Fehler zu geben: Die Datei wird nicht automatisch im Projekt in VS Code angezeigt. Das lässt sich ganz einfach beheben, indem ihr die Datei öffnet. Wählt dazu den Menüeintrag Datei > Datei öffnen aus. Anschließend geht ihr in den Ordner, der durch das Projekt automatisch angelegt wurde und wählt die Datei „main.py“ aus. Sie erscheint dann im rechten Bereich von VS Code und wird bunt dargestellt. Das ist die sogenannte Syntaxhervorhebung, die wichtige Begriffe im Python-Quelltext verdeutlicht.

Aufgabe

Das im vorherigen Schritt erzeugte Projekt enthält immer die gleichen Dateien, die jeweils immer den gleichen Code enthalten. Zumindest für eine MicroPython-Version ist das identisch. Bei späteren Versionen von MicroPython kann sich das ändern.

Die Aufgabe für das erste Praktikum ist es, den Text „Hallo brickobotik“ auf dem Display des LEGO Mindstorms EV3 auszugeben. Dafür kann das eben erzeugte Projekt verwendet werden, indem die Anweisungen in die Datei „main.py“ geschrieben werden.

Wir testen unser erstes Projekt

Der Test eines Programms oder vielmehr das Starten eines Programms ist mit der MicroPython-Erweiterung für Visual Studio Code sehr einfach. Es reicht aus, die Taste F5 zu drücken. Nach ein paar Sekunden wird das Programm auf den EV3 übertragen und dort ausgeführt. Wenn alles funktioniert, erscheint unser Text „Hallo brickobotik“ auf dem Display des LEGO Mindstorms EV3.

Um ein Programm ausführen zu können, muss ein EV3-Brick in Visual Studio Code verbunden werden. Unten links gibt es einen Bereich mit dem Namen „EV3DEV DEVICE BROWSER“. Dort könnt ihr auf den Text klicken, um ein Gerät auszuwählen. Ihr müsst dann in Visual Studio Code den angeschlossenen EV3-Brick auswählen. Dieser sollte sich mit dem Namen „ev3dev Ethernet“ melden. Wird das Gerät ausgewählt, verbindet sich Visual Studio Code damit und ihr könnt loslegen.

API-Befehle für diese Aufgabe
Allgemein
Befehl Erklärung
from pybricks import ev3brick as brick Bindet Funktionen des EV3-Brick ein
from pybricks.tools import print, wait, StopWatch Bindet das Delay-Kontroll-Interface ein
Display
Befehl Erklärung
brick.display.clear() Löscht zur Sicherheit alle Texte des LCDs des EV3-Bricks
brick.display.text(„Hallo brickobotik“, (20, 20)) Gibt den Text auf dem Bildschirm bei den Koordinaten 20, 20 aus (x, y)
Kontrolle
Befehl Erklärung
wait(5000) Wartet 5 Sekunden (5000 Millisekunden), damit der Text gut lesbar ist und nicht sofort verschwindet.

Die Lösung

[et_pb_dmb_code_snippet title=“Listing 1: Das erste Programm“ code=“IyEvdXNyL2Jpbi9lbnYgcHlicmlja3MtbWljcm9weXRob24KCmZyb20gcHlicmlja3MgaW1wb3J0IGV2M2JyaWNrIGFzIGJyaWNrCmZyb20gcHlicmlja3MudG9vbHMgaW1wb3J0IHByaW50LCB3YWl0LCBTdG9wV2F0Y2gKCiMgRGVuIGJpc2hlcmlnZW4gVGV4dCBkZXMgTENEcyBsw7ZzY2hlbi4KYnJpY2suZGlzcGxheS5jbGVhcigpCgpicmljay5kaXNwbGF5LnRleHQoIkhhbGxvIGJyaWNrb2JvdGlrIiwgKDIwLCAyMCkpCndhaXQoNTAwMCk=“ language=“c“ linenums=“on“ _builder_version=“3.25.4″ body_font=“||||||||“]IyEvdXNyL2Jpbi9lbnYgcHlicmlja3MtbWljcm9weXRob24KCmZyb20gcHlicmlja3MgaW1wb3J0IGV2M2JyaWNrIGFzIGJyaWNrCmZyb20gcHlicmlja3MudG9vbHMgaW1wb3J0IHByaW50LCB3YWl0LCBTdG9wV2F0Y2gKCiMgRGVuIGJpc2hlcmlnZW4gVGV4dCBkZXMgTENEcyBsw7ZzY2hlbi4KYnJpY2suZGlzcGxheS5jbGVhcigpCgpicmljay5kaXNwbGF5LnRleHQoIkhhbGxvIGJyaWNrb2JvdGlrIiwgKDIwLCAyMCkpCndhaXQoNTAwMCk=[/et_pb_dmb_code_snippet]

Eine kleine Anmerkung

Ihr habt vermutlich bemerkt, dass die Datei „main.py“ im Projekt, das wir für diese erste Praktikumsaufgabe angelegt haben, noch etwas mehr Python-Code enthält. Damit meinen wir den Anfang, wo mit dem Schlüsselwort „from“ verschiedene Module eingebunden werden. Viele dieser sogenannten Importe sind am Anfang nicht notwendig und könnten gelöscht werden. Wir empfehlen euch, die Python-Anweisungen trotzdem im Code zu lassen, weil sie im weiteren Verlauf wichtig werden. Und da sie im Moment nicht stören, können sie ruhig in der Datei belassen werden.