Cuprins:

MicroPython pe SPIKE Prime: 12 pași
MicroPython pe SPIKE Prime: 12 pași

Video: MicroPython pe SPIKE Prime: 12 pași

Video: MicroPython pe SPIKE Prime: 12 pași
Video: Running micropython on the Lego Spike Prime hub 2024, Iulie
Anonim
MicroPython pe SPIKE Prime
MicroPython pe SPIKE Prime

Puteți codifica SPIKE Prime folosind MicroPython, care este un subset de python pentru microprocesoare mici.

Puteți utiliza orice emulator de terminal pentru a codifica hub-ul SPIKE Prime.

Provizii

Hub SPIKE Prime

Computer cu port USB / bluetooth

Cablu USB pentru conectarea hub-ului la computer

Pasul 1: apucați un emulator de terminal

Luați un emulator de terminal
Luați un emulator de terminal
Luați un emulator de terminal
Luați un emulator de terminal

Există multe opțiuni din care puteți alege.

CoolTerm funcționează pe toate platformele, inclusiv pe Pi

Putty funcționează la ferestre

comanda ecranului în Terminal pe un sistem de operare Unix

Pasul 2: Conectați SPIKE Prime la portul USB

Conectați SPIKE Prime la portul USB
Conectați SPIKE Prime la portul USB
Conectați SPIKE Prime la portul USB
Conectați SPIKE Prime la portul USB

Utilizați un cablu microUSB pentru a conecta SPIKE Prime la computer.

Pasul 3: Găsiți portul

Găsiți portul
Găsiți portul
Găsiți portul
Găsiți portul

Trebuie să știm la ce port serial este conectat hub-ul SPIKE Prime.

Pe Mac, tastați

ls /dev/tty.usbmodem*

Pe un computer, căutați în managerul de dispozitive sub serial pentru a vedea ce porturi seriale ați conectat

Pe pi, va fi ceva de genul ttyAMC0 - verificați în folderul / dev /

Pasul 4: Conectați-vă

Conectați-vă
Conectați-vă
Conectați-vă
Conectați-vă

Conectați-vă la portul corect (de la pasul anterior) la 115200 baud

În Terminal, tastați

usercomputer $ screen / dev / 115200

În alte IDE, apăsați Deschidere / conectare (după configurarea porturilor și baudrates)

Notă: fără paritate, 8 biți de date și 1 bit de oprire

Pasul 5: Pornirea REPL

Pornirea REPL
Pornirea REPL
Pornirea REPL
Pornirea REPL
Pornirea REPL
Pornirea REPL

Când vă conectați la SPIKE Prime de la terminal / PUTTY, veți vedea un flux de numere și caractere. Acestea sunt date de la senzorii interni ai hub-ului SPIKE Prime. Pentru a începe apăsați control + c

Va întrerupe portul serial și ar trebui să vedeți așa ceva.

MicroPython v1.9.4-1146-gca9944357 la 25.09.2019; LEGO Technic Large Hub cu STM32F413xx Tastați „help ()” pentru mai multe informații.

Acum sunteți gata să codați.

Pasul 6: Primul dvs. cod

Primul tău cod
Primul tău cod

hub de import

hub.display.show („Tufts”)

Observați comanda „import” - care trage într-o bibliotecă python care vă permite să vorbiți cu SPIKE Prime. Ar trebui să vedeți smocuri scrise pe matricea LED de pe butuc.

Pasul 7: Afișează-ți numele

acum încercați să tastați

hub.display.show ('')

rețineți că, din moment ce ați importat deja hubul de mai sus, acesta este deja în memorie. Dacă nu ar fi, ați primi o eroare de genul:

Traceback (ultimul apel cel mai recent): Fișierul "", linia 1, inNameError: numele 'hub' nu este definit

Pasul 8: Utilizarea REPL

Unul dintre cele mai puternice atribute ale Python este că puteți testa orice înainte de a scrie cod în REPL (citiți bucla de imprimare eval).

Va executa orice comandă python - încercați să tastați 2 + 2 mai jos și să vedeți ce scrie:

2+2

Pasul 9: Explorarea MicroPython pe SPIKE Prime

Acum este timpul să explorăm.

hub are o mulțime de funcții - puteți afla doar tastând „hub”. (nu uitați perioada de după hub) și apoi apăsați tasta TAB în REPL. Acest lucru vă va arăta toate modurile diferite prin care puteți finaliza comanda.

Provocare: vedeți dacă puteți citi accelerația.

Pasul 10: Citirea valorilor senzorului … 1

Datele de accelerație revin ca o serie de valori. deci, dacă doriți doar valoarea X, puteți încerca

hub.motion.accelerometer () [0]

sau un mod mai frumos de codificare ar fi să folosiți variabile de genul acesta:

hub de import

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

Pasul 11: Citirea valorilor senzorului … 2

Citirea valorilor senzorului … 2
Citirea valorilor senzorului … 2

De asemenea, puteți afișa toate cele trei accelerații folosind o buclă.

De asemenea, vom importa biblioteca utime, astfel încât să putem întrerupe și să vă oferim timp pentru a citi numărul de pe ecran.

Încercați acest cod:

hub de import, utimeaccel = hub.motion.accelerometer () pentru Acc in accel: hub.display.show (str (Acc)) utime.sleep (0.8)

În acest moment, câteva lucruri devin importante:

spații - Python se referă la indentarea dreaptă - similar cu paranteze în alte limbi, indentarea vă spune ce este în bucla for și ce nu.

atunci când utilizați REPL, veți observa că atunci când introduceți linia, aceasta nu mai execută linia, ci mai degrabă așteaptă să terminați liniile pentru bucla pentru înainte de a executa (și >>> este înlocuit cu …). Pentru a termina bucla for, doar apăsați return de trei ori și bucla va fi executată.

Pasul 12: Provocare

Apoi, vedeți dacă puteți afla ce face codul de mai jos - și încercați să-l executați pentru a vedea dacă aveți dreptate.

hub de import, utime

în timp ce True: accel = hub.motion.accelerometer () pentru Acc in accel: hub.display.show (str (Acc)) utime.sleep (0.8) if hub.port. B.device.get (): break

Sugestie - aveți nevoie de un senzor pe portul B.

Recomandat: