Inhaltsverzeichnis:

MicroPython auf SPIKE Prime - Gunook
MicroPython auf SPIKE Prime - Gunook

Video: MicroPython auf SPIKE Prime - Gunook

Video: MicroPython auf SPIKE Prime - Gunook
Video: Micropython on LEGO SPIKE Prime hub 2024, November
Anonim
MicroPython auf SPIKE Prime
MicroPython auf SPIKE Prime

Sie können SPIKE Prime mit MicroPython programmieren, einer Untermenge von Python für kleine Mikroprozessoren.

Sie können einen beliebigen Terminalemulator verwenden, um den SPIKE Prime-Hub zu codieren.

Lieferungen

SPIKE Prime-Hub

Computer mit USB-Anschluss / Bluetooth

USB-Kabel zum Verbinden des Hubs mit dem Computer

Schritt 1: Besorgen Sie sich einen Terminal-Emulator

Holen Sie sich einen Terminal-Emulator
Holen Sie sich einen Terminal-Emulator
Holen Sie sich einen Terminal-Emulator
Holen Sie sich einen Terminal-Emulator

Es gibt viele Optionen zur Auswahl.

CoolTerm funktioniert auf allen Plattformen, einschließlich Pi

Putty funktioniert auf Windows

screen-Befehl im Terminal auf einem Unix-Betriebssystem

Schritt 2: Verbinden Sie SPIKE Prime mit dem USB-Port

Verbinden Sie SPIKE Prime mit dem USB-Port
Verbinden Sie SPIKE Prime mit dem USB-Port
Verbinden Sie SPIKE Prime mit dem USB-Port
Verbinden Sie SPIKE Prime mit dem USB-Port

Verwenden Sie ein microUSB-Kabel, um den SPIKE Prime mit dem Computer zu verbinden.

Schritt 3: Finden Sie den Port

Finden Sie den Hafen
Finden Sie den Hafen
Finden Sie den Hafen
Finden Sie den Hafen

Wir müssen wissen, mit welchem seriellen Port der SPIKE Prime-Hub verbunden ist.

Geben Sie auf dem Mac ein

ls /dev/tty.usbmodem*

Schauen Sie auf einem PC in Ihrem Gerätemanager unter seriell nach, welche seriellen Anschlüsse Sie angeschlossen haben

Auf pi wird es so etwas wie ttyAMC0 sein - überprüfen Sie Ihr /dev/folder

Schritt 4: Verbinden Sie sich

Verbinden
Verbinden
Verbinden
Verbinden

Verbinden Sie sich mit dem rechten Port (aus dem vorherigen Schritt) mit 115200 Baud

Geben Sie im Terminal ein

usercomputer$ screen /dev/ 115200

In anderen IDEs

Klicken Sie auf Öffnen/Verbinden (nach dem Einrichten der Ports und Baudraten)

Hinweis: keine Parität, 8 Datenbits und 1 Stoppbit

Schritt 5: Starten des REPL

Starten des REPL
Starten des REPL
Starten des REPL
Starten des REPL
Starten des REPL
Starten des REPL

Wenn Sie sich vom Terminal/PUTTY mit dem SPIKE Prime verbinden, sehen Sie einen Strom von Zahlen und Zeichen. Das sind Daten von internen Sensoren des SPIKE Prime Hubs. Um zu beginnen, drücken Sie Strg + c

Es wird die serielle Schnittstelle unterbrechen und Sie sollten so etwas sehen.

MicroPython v1.9.4-1146-gca9944357 am 25.09.2019; LEGO Technic Large Hub mit STM32F413xx Geben Sie "help()" ein, um weitere Informationen zu erhalten.

Jetzt können Sie codieren.

Schritt 6: Ihr erster Code

Ihr erster Code
Ihr erster Code

Import-Hub

hub.display.show(‘Büschel’)

Beachten Sie den Befehl „importieren“, der eine Python-Bibliothek einzieht, mit der Sie mit SPIKE Prime sprechen können. Sie sollten Tufts auf der LED-Matrix auf dem Hub sehen.

Schritt 7: Zeigen Sie Ihren Namen an

jetzt versuch es zu tippen

hub.display.show(' ')

Beachten Sie, dass sich der Hub bereits im Speicher befindet, da Sie ihn oben bereits importiert haben. Wenn dies nicht der Fall wäre, erhalten Sie eine Fehlermeldung wie:

Traceback (letzter Aufruf zuletzt): Datei "", Zeile 1, inNameError: Name 'Hub' ist nicht definiert

Schritt 8: Verwenden von REPL

Eines der leistungsfähigeren Attribute von Python ist, dass Sie alles testen können, bevor Sie Code in die REPL (read eval print loop) schreiben.

Es wird jeden Python-Befehl ausführen - versuchen Sie, 2 + 2 unten einzugeben und sehen Sie, was er sagt:

2+2

Schritt 9: MicroPython auf SPIKE Prime erkunden

Jetzt ist es Zeit zu erkunden.

hub hat viele Funktionen - Sie können es herausfinden, indem Sie einfach "hub" eingeben. (Vergessen Sie nicht den Punkt nach Hub) und drücken Sie dann die TAB-Taste in der REPL. Das zeigt Ihnen alle verschiedenen Möglichkeiten, wie Sie den Befehl ausführen können.

Herausforderung: Sehen Sie, ob Sie die Beschleunigung lesen können.

Schritt 10: Sensorwerte lesen…1

Die Beschleunigungsdaten kommen als Array von Werten zurück. Wenn Sie also nur den X-Wert wollen, können Sie es versuchen

hub.motion.accelerometer()[0]

oder eine schönere Art, dies zu codieren, wäre die Verwendung von Variablen wie folgt:

Import-Hub

accel = hub.motion.accelerometer() xAccel = accel[0] hub.display.show(str(xAccel))

Schritt 11: Sensorwerte lesen…2

Sensorwerte lesen…2
Sensorwerte lesen…2

Sie könnten sich auch alle drei Beschleunigungen mit einer Schleife anzeigen lassen.

Wir werden auch die Bibliothek utime importieren, damit wir eine Pause einlegen und Ihnen Zeit geben können, die Nummer auf dem Bildschirm zu lesen.

Versuchen Sie diesen Code:

import hub, utimeaccel = hub.motion.accelerometer() für Acc in accel: hub.display.show(str(Acc)) utime.sleep(0.8)

An dieser Stelle werden einige Dinge wichtig:

Leerzeichen - Bei Python dreht sich alles um das richtige Einrücken - ähnlich wie bei Klammern in anderen Sprachen sagt Ihnen das Einrücken, was sich in der for-Schleife befindet und was nicht.

Wenn Sie REPL verwenden, werden Sie feststellen, dass beim Einrücken die Zeile nicht mehr ausgeführt wird, sondern vor der Ausführung darauf gewartet wird, dass Sie die Zeilen für die for-Schleife beendet haben (und das >>> wird durch … ersetzt). Um die for-Schleife zu beenden, drücken Sie einfach dreimal die Eingabetaste und die Schleife wird ausgeführt.

Schritt 12: Herausforderung

Sehen Sie als Nächstes, ob Sie herausfinden können, was der folgende Code tut - und versuchen Sie, ihn auszuführen, um zu sehen, ob Sie Recht haben.

Import-Hub, utime

while True: accel = hub.motion.accelerometer() for Acc in accel: hub.display.show(str(Acc)) utime.sleep(0.8) if hub.port. B.device.get(): break

Hinweis - Sie benötigen einen Sensor an Port B.

Empfohlen: