Indholdsfortegnelse:

MicroPython på SPIKE Prime: 12 trin
MicroPython på SPIKE Prime: 12 trin

Video: MicroPython på SPIKE Prime: 12 trin

Video: MicroPython på SPIKE Prime: 12 trin
Video: Programming SPIKE Prime Color Sensor using Python 2024, Juli
Anonim
MicroPython på SPIKE Prime
MicroPython på SPIKE Prime

Du kan kode SPIKE Prime ved hjælp af MicroPython, som er en delmængde af python til små mikroprocessorer.

Du kan bruge enhver terminalemulator til at kode SPIKE Prime -hubben.

Forbrugsvarer

SPIKE Prime hub

Computer med USB -port / bluetooth

USB -kabel til tilslutning af hub'en til computeren

Trin 1: Tag en terminalemulator

Tag en terminalemulator
Tag en terminalemulator
Tag en terminalemulator
Tag en terminalemulator

Der er mange muligheder at vælge imellem.

CoolTerm fungerer på alle platforme, inklusive Pi

Kitt fungerer på vinduer

skærmkommando i Terminal på et unix -operativsystem

Trin 2: Tilslut SPIKE Prime til USB -porten

Tilslut SPIKE Prime til USB -porten
Tilslut SPIKE Prime til USB -porten
Tilslut SPIKE Prime til USB -porten
Tilslut SPIKE Prime til USB -porten

Brug et microUSB -kabel til at slutte SPIKE Prime til computeren.

Trin 3: Find porten

Find havnen
Find havnen
Find havnen
Find havnen

Vi skal vide, hvilken seriel port SPIKE Prime -hub'en er forbundet til.

På mac skal du skrive

ls /dev/tty.usbmodem*

På en pc skal du se i din enhedsadministrator under seriel for at se, hvilke serielle porte du har tilsluttet

På pi vil det være noget i stil med ttyAMC0 - tjek i din /dev /mappe

Trin 4: Tilslut

Opret forbindelse
Opret forbindelse
Opret forbindelse
Opret forbindelse

Tilslut til den rigtige port (fra forrige trin) ved 115200 baud

Skriv i Terminal

brugercomputer $ screen / dev / 115200

I andre IDE, tryk på Open/ connect (efter opsætning af havne og baudrates)

Bemærk: ingen paritet, 8 databit og 1 stopbit

Trin 5: Start af REPL

Start af REPL
Start af REPL
Start af REPL
Start af REPL
Start af REPL
Start af REPL

Når du opretter forbindelse til SPIKE Prime fra terminalen/ PUTTY, vil du se en strøm af tal og tegn. Det er data fra interne sensorer i SPIKE Prime -hub. Tryk på kontrol + c for at begynde

Det afbryder den serielle port, og du skal se sådan noget.

MicroPython v1.9.4-1146-gca9944357 den 2019-09-25; LEGO Technic Large Hub med STM32F413xx Type "hjælp ()" for mere information.

Nu er du klar til at kode.

Trin 6: Din første kode

Din første kode
Din første kode

import hub

hub.display.show (‘Tufts’)

Bemærk kommandoen "import" - der henter et python -bibliotek, der lader dig tale med SPIKE Prime. Du bør se Tufts skrevet på LED -matrixen på hubben.

Trin 7: Vis dit navn

prøv nu at skrive

hub.display.show ('')

Bemærk, at da du allerede importerede hub ovenfor, er det allerede i hukommelsen. Hvis det ikke var det, ville du få en fejl som:

Spor tilbage (seneste opkald sidste): Fil "", linje 1, inNameError: navn 'hub' er ikke defineret

Trin 8: Brug af REPL

En af de mere kraftfulde attributter ved Python er, at du kan teste alt, inden du skriver kode i REPL (læs eval print loop).

Det vil udføre enhver python -kommando - prøv at skrive 2 + 2 nedenfor og se, hvad der står:

2+2

Trin 9: Udforsk MicroPython på SPIKE Prime

Nu er det tid til at udforske.

hub har en masse funktioner - du kan finde ud af det ved bare at skrive "hub". (glem ikke perioden efter hub) og derefter trykke på TAB -tasten i REPL. Det viser dig alle de forskellige måder, du kan fuldføre kommandoen på.

Udfordring: Se om du kan læse accelerationen.

Trin 10: Læsning af sensorværdier … 1

Accelerationsdataene kommer tilbage som en række værdier. så hvis du bare vil have X -værdien, kan du prøve

hub.motion.accelerometer () [0]

eller pænere måde at kode dette på ville være at bruge variabler som denne:

import hub

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

Trin 11: Læsning af sensorværdier … 2

Læsning af sensorværdier … 2
Læsning af sensorværdier … 2

Du kan også vise alle tre accelerationer ved hjælp af en loop.

Vi vil også importere bibliotekets utime, så vi kan holde pause og give dig tid til at læse nummeret på skærmen.

Prøv denne kode:

import hub, utimeaccel = hub.motion.accelerometer () for Acc i accel: hub.display.show (str (Acc)) utime.sleep (0,8)

På dette tidspunkt bliver et par ting vigtige:

mellemrum - Python handler om at indrykke rigtigt - svarende til parenteser på andre sprog, indrykning fortæller dig, hvad der er inde i for -løkken, og hvad der ikke er.

når du bruger REPL, vil du bemærke, at når du indrykker, udfører den ikke længere linjen, men venter snarere på, at du afslutter linjerne for for -løkken, før den udføres (og >>> erstattes af …). For at afslutte for -løkken skal du bare trykke på retur tre gange, og sløjfen vil blive udført.

Trin 12: Udfordring

Se derefter, om du kan finde ud af, hvad koden herunder gør - og prøv at udføre den for at se, om du har ret.

import hub, utime

mens True: accel = hub.motion.accelerometer () for Acc i accel: hub.display.show (str (Acc)) utime.sleep (0,8) hvis hub.port. B.device.get (): pause

Tip -du har brug for en sensor på port B.

Anbefalede: