Innehållsförteckning:

MicroPython på SPIKE Prime: 12 steg
MicroPython på SPIKE Prime: 12 steg

Video: MicroPython på SPIKE Prime: 12 steg

Video: MicroPython på SPIKE Prime: 12 steg
Video: Compare EV3 vs Python code. Lego Mindstorms EV3. 2024, Juli
Anonim
MicroPython på SPIKE Prime
MicroPython på SPIKE Prime

Du kan koda SPIKE Prime med MicroPython som är en delmängd av python för små mikroprocessorer.

Du kan använda valfri terminalemulator för att koda SPIKE Prime -navet.

Tillbehör

SPIKE Prime nav

Dator med USB -port / bluetooth

USB -kabel för att ansluta navet till datorn

Steg 1: Ta en terminalemulator

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

Det finns många alternativ att välja mellan.

CoolTerm fungerar på alla plattformar, inklusive Pi

Spackel fungerar på fönster

skärmkommando i Terminal på ett unix -operativsystem

Steg 2: Anslut SPIKE Prime till USB -porten

Anslut SPIKE Prime till USB -porten
Anslut SPIKE Prime till USB -porten
Anslut SPIKE Prime till USB -porten
Anslut SPIKE Prime till USB -porten

Använd en microUSB -kabel för att ansluta SPIKE Prime till datorn.

Steg 3: Hitta porten

Hitta hamnen
Hitta hamnen
Hitta hamnen
Hitta hamnen

Vi måste veta vilken seriell port SPIKE Prime -hubben är ansluten till.

På mac skriver du

ls /dev/tty.usbmodem*

På en dator, titta i din enhetshanterare under seriell för att se vilka seriella portar du har anslutit

På pi kommer det att vara ungefär ttyAMC0 - kolla in din /dev /mapp

Steg 4: Anslut

Anslut upp
Anslut upp
Anslut upp
Anslut upp

Anslut upp till höger port (från föregående steg) vid 115200 baud

Skriv i Terminal

användardator $ screen / dev / 115200

I andra IDE, tryck på Öppna/ anslut (efter att ha konfigurerat portarna och baudrates)

Obs: ingen paritet, 8 databitar och 1 stoppbit

Steg 5: Starta REPL

Startar REPL
Startar REPL
Startar REPL
Startar REPL
Startar REPL
Startar REPL

När du ansluter till SPIKE Prime från terminalen/ PUTTY ser du en ström av siffror och tecken. Det är data från interna sensorer i SPIKE Prime -navet. För att börja, tryck på kontroll + c

Det kommer att avbryta den seriella porten och du bör se något liknande.

MicroPython v1.9.4-1146-gca9944357 den 2019-09-25; LEGO Technic Large Hub med STM32F413xx Typ "hjälp ()" för mer information.

Nu är du redo att koda.

Steg 6: Din första kod

Din första kod
Din första kod

import nav

hub.display.show (‘Tufts’)

Lägg märke till kommandot "import" - som drar in ett pythonbibliotek som låter dig prata med SPIKE Prime. Du bör se Tufts skrivna på LED -matrisen på navet.

Steg 7: Visa ditt namn

försök nu skriva

hub.display.show ('')

Observera att eftersom du redan importerade navet ovan finns det redan i minnet. Om det inte var det skulle du få ett fel som:

Spår tillbaka (senaste samtal senast): Fil "", rad 1, inNameError: name 'hub' är inte definierat

Steg 8: Använda REPL

Ett av de mer kraftfulla attributen för Python är att du kan testa allt innan du skriver kod i REPL (läs eval print loop).

Det kommer att utföra alla python -kommandon - försök skriva 2 + 2 nedan och se vad det säger:

2+2

Steg 9: Utforska MicroPython på SPIKE Prime

Nu är det dags att utforska.

nav har många funktioner - du kan ta reda på det genom att bara skriva "nav". (glöm inte perioden efter nav) och tryck sedan på TAB -tangenten i REPL. Det visar dig alla olika sätt du kan slutföra kommandot.

Utmaning: Se om du kan läsa accelerationen.

Steg 10: Avläsning av sensorvärden … 1

Accelerationsdata kommer tillbaka som en rad värden. så om du bara vill ha X -värdet kan du prova

hub.motion.accelerometer () [0]

eller ett trevligare sätt att koda detta skulle vara att använda variabler så här:

import nav

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

Steg 11: Läsa sensorvärden … 2

Läser sensorvärden … 2
Läser sensorvärden … 2

Du kan också visa alla tre accelerationer med en loop.

Vi kommer också att importera bibliotekets utime så att vi kan pausa och ge dig tid att läsa numret på skärmen.

Prova den här koden:

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

Vid det här laget blir några saker viktiga:

mellanslag - Python handlar om att dra in höger - i likhet med parenteser på andra språk, indragning berättar vad som finns inuti för -slingan och vad som inte är det.

när du använder REPL kommer du att märka att när du indragit, kör den inte längre raden utan väntar på att du ska slutföra raderna för for -slingan innan den körs (och >>> ersätts med …). För att avsluta for -slingan, tryck bara på retur tre gånger och slingan körs.

Steg 12: Utmaning

Se sedan om du kan ta reda på vad koden nedan gör - och försök att köra den för att se om du har rätt.

import hub, utime

medan True: accel = hub.motion.accelerometer () för Acc i accel: hub.display.show (str (Acc)) utime.sleep (0,8) if hub.port. B.device.get (): break

Tips -du behöver en sensor på port B.

Rekommenderad: