Innholdsfortegnelse:

MicroPython på SPIKE Prime: 12 trinn
MicroPython på SPIKE Prime: 12 trinn

Video: MicroPython på SPIKE Prime: 12 trinn

Video: MicroPython på SPIKE Prime: 12 trinn
Video: «Программирование платформы EV3 на языке Python» 2024, November
Anonim
MicroPython på SPIKE Prime
MicroPython på SPIKE Prime

Du kan kode SPIKE Prime ved å bruke MicroPython, som er et delsett av python for små mikroprosessorer.

Du kan bruke hvilken som helst terminalemulator til å kode SPIKE Prime -huben.

Rekvisita

SPIKE Prime hub

Datamaskin med USB -port / bluetooth

USB -kabel for å koble huben til datamaskinen

Trinn 1: Ta en terminalemulator

Ta en terminalemulator
Ta en terminalemulator
Ta en terminalemulator
Ta en terminalemulator

Det er mange alternativer å velge mellom.

CoolTerm fungerer på alle plattformer, inkludert Pi

Kitt fungerer på vinduer

skjermkommando i Terminal på et unix -operativsystem

Trinn 2: Koble SPIKE Prime til USB -porten

Koble SPIKE Prime til USB -porten
Koble SPIKE Prime til USB -porten
Koble SPIKE Prime til USB -porten
Koble SPIKE Prime til USB -porten

Bruk en microUSB -kabel for å koble SPIKE Prime til datamaskinen.

Trinn 3: Finn porten

Finn havnen
Finn havnen
Finn havnen
Finn havnen

Vi trenger å vite hvilken serieport SPIKE Prime -huben er koblet til.

På mac skriver du

ls /dev/tty.usbmodem*

På en PC, se i enhetsbehandling under seriell for å se hvilke serielle porter du har koblet til

På pi vil det være noe som ttyAMC0 - sjekk inn din /dev /mappe

Trinn 4: Koble til

Koble til
Koble til
Koble til
Koble til

Koble til høyre port (fra forrige trinn) på 115200 baud

I Terminal skriver du inn

brukerdatamaskin $ screen / dev / 115200

I andre IDE, trykk på Åpne/ koble til (etter at du har konfigurert portene og baudrates)

Merk: ingen paritet, 8 databiter og 1 stoppbit

Trinn 5: Start REPL

Starter REPL
Starter REPL
Starter REPL
Starter REPL
Starter REPL
Starter REPL

Når du kobler til SPIKE Prime fra terminalen/ PUTTY vil du se en strøm av tall og tegn. Dette er data fra interne sensorer i SPIKE Prime -huben. Trykk på kontroll + c for å begynne

Det vil avbryte den serielle porten, og du bør se noe slikt.

MicroPython v1.9.4-1146-gca9944357 på 2019-09-25; LEGO Technic Large Hub med STM32F413xx Type "help ()" for mer informasjon.

Nå er du klar til å kode.

Trinn 6: Din første kode

Din første kode
Din første kode

importknutepunkt

hub.display.show (‘Tufts’)

Legg merke til "import" -kommandoen - som henter inn et python -bibliotek som lar deg snakke med SPIKE Prime. Du bør se Tufts skrevet på LED -matrisen på navet.

Trinn 7: Vis navnet ditt

prøv nå å skrive

hub.display.show ('')

Vær oppmerksom på at siden du allerede importerte huben ovenfor, er den allerede i minnet. Hvis det ikke var det, ville du få en feil som:

Spor tilbake (siste anrop sist): Fil "", linje 1, inNameError: navn 'hub' er ikke definert

Trinn 8: Bruke REPL

En av de kraftigere egenskapene til Python er at du kan teste alt før du skriver kode i REPL (les eval print loop).

Den vil utføre enhver python -kommando - prøv å skrive 2 + 2 nedenfor og se hva den sier:

2+2

Trinn 9: Utforsk MicroPython på SPIKE Prime

Nå er det på tide å utforske.

hub har mange funksjoner - du kan finne ut av det bare ved å skrive "hub". (ikke glem perioden etter hub) og deretter trykke på TAB -tasten i REPL. Det vil vise deg alle de forskjellige måtene du kan fullføre kommandoen.

Utfordring: Se om du kan lese akselerasjonen.

Trinn 10: Lesing av sensorverdier … 1

Akselerasjonsdataene kommer tilbake som en rekke verdier. så hvis du bare vil ha X -verdien, kan du prøve

hub.motion.accelerometer () [0]

eller hyggeligere måte å kode dette på ville være å bruke variabler som dette:

importknutepunkt

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

Trinn 11: Lesing av sensorverdier … 2

Leser sensorverdier … 2
Leser sensorverdier … 2

Du kan også vise alle tre akselerasjonene ved hjelp av en sløyfe.

Vi vil også importere bibliotekets utime slik at vi kan sette en pause og gi deg tid til å lese nummeret på skjermen.

Prøv denne koden:

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

På dette tidspunktet blir noen få ting viktige:

mellomrom - Python handler om innrykk til høyre - i likhet med parenteser på andre språk, forteller innrykk hva som er inne i for -løkken og hva som ikke er det.

når du bruker REPL, vil du legge merke til at når du innrykker, utfører den ikke lenger linjen, men venter heller på at du skal fullføre linjene for for -løkken før den utføres (og >>> erstattes med …). For å fullføre for -løkken, trykker du bare på retur tre ganger, og løkken vil bli utført.

Trinn 12: Utfordring

Se deretter om du kan finne ut hva koden nedenfor gjør - og prøv å utføre den for å se om du har rett.

import hub, utime

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

Tips -du trenger en sensor på port B.

Anbefalt: