Obsah:

MicroPython na SPIKE Prime: 12 kroků
MicroPython na SPIKE Prime: 12 kroků

Video: MicroPython na SPIKE Prime: 12 kroků

Video: MicroPython na SPIKE Prime: 12 kroků
Video: Running micropython on the Lego Spike Prime hub 2024, Červenec
Anonim
MicroPython na SPIKE Prime
MicroPython na SPIKE Prime

SPIKE Prime můžete kódovat pomocí MicroPython, což je podmnožina pythonu pro malé mikroprocesory.

Ke kódování rozbočovače SPIKE Prime můžete použít jakýkoli emulátor terminálu.

Zásoby

Rozbočovač SPIKE Prime

Počítač s USB portem / bluetooth

USB kabel pro připojení rozbočovače k počítači

Krok 1: Popadněte emulátor terminálu

Popadněte emulátor terminálu
Popadněte emulátor terminálu
Popadněte emulátor terminálu
Popadněte emulátor terminálu

Na výběr je mnoho možností.

CoolTerm funguje na všech platformách, včetně Pi

Tmel funguje na oknech

příkaz obrazovky v Terminálu v operačním systému unix

Krok 2: Připojte SPIKE Prime k USB portu

Připojte SPIKE Prime k USB portu
Připojte SPIKE Prime k USB portu
Připojte SPIKE Prime k USB portu
Připojte SPIKE Prime k USB portu

Pomocí kabelu microUSB připojte SPIKE Prime k počítači.

Krok 3: Najděte port

Najděte přístav
Najděte přístav
Najděte přístav
Najděte přístav

Potřebujeme vědět, ke kterému sériovému portu je rozbočovač SPIKE Prime připojen.

Na macu napište

ls /dev/tty.usbmodem*

Na počítači se podívejte do správce zařízení pod sériovým číslem, abyste zjistili, jaké sériové porty jste připojili

Na pí to bude něco jako ttyAMC0 - podívejte se do složky /dev /

Krok 4: Připojte se

Připojte se
Připojte se
Připojte se
Připojte se

Připojte se ke správnému portu (z předchozího kroku) rychlostí 115200 baudů

V Terminálu zadejte

uživatelský počítač $ screen / dev / 115200

V jiném IDE, stiskněte Otevřít/ připojit (po nastavení portů a přenosových rychlostí)

Poznámka: žádná parita, 8 datových bitů a 1 stop bit

Krok 5: Spuštění REPL

Spuštění REPL
Spuštění REPL
Spuštění REPL
Spuštění REPL
Spuštění REPL
Spuštění REPL

Když se připojíte k SPIKE Prime z terminálu/ PUTTY, uvidíte proud čísel a znaků. To jsou data z interních senzorů rozbočovače SPIKE Prime. Chcete -li začít, stiskněte Ctrl + c

Přeruší to sériový port a měli byste vidět něco takového.

MicroPython v1.9.4-1146-gca9944357 dne 2019-09-25; LEGO Technic Large Hub s STM32F413xx Napište „help ()“pro více informací.

Nyní jste připraveni kódovat.

Krok 6: Váš první kód

Váš první kód
Váš první kód

importní centrum

hub.display.show („trsy“)

Všimněte si příkazu „import“- který načte knihovnu pythonu, která vám umožní mluvit se SPIKE Prime. Měli byste vidět Tufty napsané na matici LED na rozbočovači.

Krok 7: Zobrazte své jméno

teď zkus psát

hub.display.show ('')

Všimněte si toho, že protože jste již importovali hub výše, je již v paměti. Pokud tomu tak není, zobrazí se chyba jako:

Traceback (poslední volání poslední): Soubor "", řádek 1, inNameError: název 'hub' není definován

Krok 8: Použití REPL

Jedním z nejsilnějších atributů Pythonu je, že si můžete cokoli vyzkoušet před zapsáním kódu do REPL (read eval print loop).

Spustí jakýkoli příkaz python - zkuste napsat 2 + 2 níže a podívejte se, co říká:

2+2

Krok 9: Prozkoumejte MicroPython na SPIKE Prime

Nyní je čas prozkoumat.

hub má spoustu funkcí - zjistíte to pouhým zadáním „hub“. (nezapomeňte na období po rozbočovači) a poté stiskněte klávesu TAB v REPL. To vám ukáže všechny různé způsoby, jak můžete příkaz dokončit.

Úkol: Zjistěte, zda dokážete přečíst zrychlení.

Krok 10: Čtení hodnot senzorů … 1

Data zrychlení se vrací jako pole hodnot. takže pokud chcete pouze hodnotu X, můžete to zkusit

hub.motion.accelerometer () [0]

nebo hezčí způsob, jak to kódovat, by bylo použít proměnné takto:

importní centrum

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

Krok 11: Čtení hodnot senzorů … 2

Čtení hodnot senzorů … 2
Čtení hodnot senzorů … 2

Všechna tři zrychlení můžete také zobrazit pomocí smyčky.

Rovněž importujeme utime knihovny, abychom se mohli pozastavit a dát vám čas přečíst si číslo na obrazovce.

Zkuste tento kód:

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

V tomto okamžiku je několik věcí důležitých:

mezery - Python je o odsazení vpravo - podobně jako v závorkách v jiných jazycích, odsazení vám řekne, co je uvnitř smyčky for a co ne.

při použití REPL si všimnete, že když odsadíte, již neprovede řádek, ale spíše čeká, až dokončíte řádky pro smyčku for před spuštěním (a >>> je nahrazeno …). Pro dokončení smyčky for stačí třikrát stisknout klávesu Return a smyčka bude spuštěna.

Krok 12: Výzva

Dále zjistěte, zda můžete zjistit, co dělá níže uvedený kód - a zkuste jej spustit, abyste zjistili, zda máte pravdu.

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

Nápověda -potřebujete snímač na portu B.

Doporučuje: