INHOUDSOPGAWE:

MicroPython op SPIKE Prime: 12 stappe
MicroPython op SPIKE Prime: 12 stappe

Video: MicroPython op SPIKE Prime: 12 stappe

Video: MicroPython op SPIKE Prime: 12 stappe
Video: How to program SPIKE Prime with Python over Bluetooth - Swinging Monkey 2024, November
Anonim
MicroPython op SPIKE Prime
MicroPython op SPIKE Prime

U kan SPIKE Prime kodeer met behulp van MicroPython, wat 'n subgroep python is vir klein mikroverwerkers.

U kan enige terminale emulator gebruik om die SPIKE Prime -hub te kodeer.

Voorrade

SPIKE Prime -hub

Rekenaar met USB -poort / bluetooth

USB -kabel om die hub aan die rekenaar te koppel

Stap 1: Gryp 'n terminale emulator aan

Gryp 'n terminale emulator
Gryp 'n terminale emulator
Gryp 'n terminale emulator
Gryp 'n terminale emulator

Daar is baie opsies om van te kies.

CoolTerm werk op alle platforms, insluitend Pi

Putty werk op vensters

skermopdrag in Terminal op 'n unix -bedryfstelsel

Stap 2: Koppel SPIKE Prime aan op die USB -poort

Koppel SPIKE Prime aan op die USB -poort
Koppel SPIKE Prime aan op die USB -poort
Koppel SPIKE Prime aan op die USB -poort
Koppel SPIKE Prime aan op die USB -poort

Gebruik 'n microUSB -kabel om die SPIKE Prime aan te sluit op die rekenaar.

Stap 3: Soek die poort

Soek die hawe
Soek die hawe
Soek die hawe
Soek die hawe

Ons moet weet met watter seriële poort die SPIKE Prime -hub gekoppel is.

Tik op Mac

ls /dev/tty.usbmodem*

Op u rekenaar, kyk in u toestelbestuurder onder reeks om te sien watter seriële poorte u gekoppel het

Op pi sal dit iets soos ttyAMC0 wees - kyk na u /dev /gids

Stap 4: Koppel aan

Koppel aan
Koppel aan
Koppel aan
Koppel aan

Koppel aan die regte poort (vanaf vorige stap) teen 115200 baud

Tik in Terminal

gebruikersrekenaar $ skerm / dev / 115200

In ander IDE, druk Open/ connect (na die opstel van die poorte en baudrates)

Let wel: geen pariteit, 8 databits en 1 stopbit nie

Stap 5: Begin die REPL

Begin die REPL
Begin die REPL
Begin die REPL
Begin die REPL
Begin die REPL
Begin die REPL

As u vanaf die terminale/ PUTTY aan die SPIKE Prime koppel, sien u 'n stroom getalle en karakters. Dit is data van interne sensors van SPIKE Prime -hub. Om te begin, druk beheer + c

Dit sal die seriële poort onderbreek, en u moet so iets sien.

MicroPython v1.9.4-1146-gca9944357 op 2019-09-25; LEGO Technic Large Hub met STM32F413xx Tik "help ()" vir meer inligting.

Nou is u gereed om te kodeer.

Stap 6: u eerste kode

U eerste kode
U eerste kode

invoer hub

hub.display.show ('Tufts')

Let op die opdrag "invoer" - wat 'n python -biblioteek inbring waarmee u met SPIKE Prime kan praat. U moet Tufts sien wat op die LED -matriks op die hub geskryf is.

Stap 7: Vertoon u naam

probeer nou tik

hub.display.show ('')

Let daarop dat, aangesien u reeds die hub hierbo ingevoer het, dit reeds in die geheue is. As dit nie die geval was nie, sou u 'n fout kry soos:

Terugspoor (mees onlangse oproep laas): Lêer "", reël 1, inNameError: naam 'hub' is nie gedefinieer nie

Stap 8: Gebruik REPL

Een van die kragtiger eienskappe van Python is dat u alles kan toets voordat u kode in die REPL skryf (lees eval print lus).

Dit sal enige python -opdrag uitvoer - probeer 2 + 2 hieronder tik en kyk wat dit sê:

2+2

Stap 9: Verken MicroPython op SPIKE Prime

Nou is dit tyd om te verken.

hub het baie funksies - u kan uitvind deur net 'hub' in te tik. (vergeet nie die tydperk na die hub nie) en druk dan op die TAB -sleutel in die REPL. Dit wys u al die verskillende maniere waarop u die opdrag kan voltooi.

Uitdaging: kyk of u die versnelling kan lees.

Stap 10: Lees sensorwaardes … 1

Die versnellingsdata kom terug as 'n verskeidenheid waardes. so as u net die X -waarde wil hê, kan u dit probeer

hub.motion.accelerometer () [0]

of 'n beter manier om dit te kodeer, is om veranderlikes soos hierdie te gebruik:

invoer hub

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

Stap 11: Lees sensorwaardes … 2

Sensorwaardes lees … 2
Sensorwaardes lees … 2

U kan ook al drie die versnellings met 'n lus vertoon.

Ons sal ook die biblioteek betyds invoer sodat ons kan stilstaan en u tyd gee om die nommer op die skerm te lees.

Probeer hierdie kode:

invoerhub, utimeaccel = hub.motion.accelerometer () vir Acc in accel: hub.display.show (str (Acc)) utime.sleep (0.8)

Op hierdie punt word 'n paar dinge belangrik:

spasies - Python gaan alles oor die inkruip van regs - soortgelyk aan hakies in ander tale, vertel inkeping wat in die for -lus is en wat nie.

As u die REPL gebruik, sal u agterkom dat u die reël nie meer uitvoer nie, maar wag totdat u die reëls vir die for -lus voltooi (en die >>> word vervang met …). Om die for -lus te voltooi, druk net drie keer op Return en die lus sal uitgevoer word.

Stap 12: Uitdaging

Kyk dan of u kan uitvind wat die onderstaande kode doen - en probeer dit uitvoer om te sien of u reg is.

invoerhub, utime

terwyl True: accel = hub.motion.accelerometer () vir Acc in accel: hub.display.show (str (Acc)) utime.sleep (0.8) as hub.port. B.device.get (): breek

Wenk -jy benodig 'n sensor op poort B.

Aanbeveel: