Índice:

MicroPython no SPIKE Prime: 12 etapas
MicroPython no SPIKE Prime: 12 etapas

Vídeo: MicroPython no SPIKE Prime: 12 etapas

Vídeo: MicroPython no SPIKE Prime: 12 etapas
Vídeo: PyBricks MicroPython Programming - Yannick Yu 2024, Julho
Anonim
MicroPython em SPIKE Prime
MicroPython em SPIKE Prime

Você pode codificar o SPIKE Prime usando MicroPython, que é um subconjunto do Python para pequenos microprocessadores.

Você pode usar qualquer emulador de terminal para codificar o hub SPIKE Prime.

Suprimentos

SPIKE Prime hub

Computador com porta USB / bluetooth

Cabo USB para conectar o hub ao computador

Etapa 1: pegue um emulador de terminal

Pegue um emulador de terminal
Pegue um emulador de terminal
Pegue um emulador de terminal
Pegue um emulador de terminal

Há muitas opções para escolher.

CoolTerm funciona em todas as plataformas, incluindo Pi

Putty funciona em janelas

comando de tela no Terminal em um sistema operacional unix

Etapa 2: Conecte o SPIKE Prime à porta USB

Conecte o SPIKE Prime à porta USB
Conecte o SPIKE Prime à porta USB
Conecte o SPIKE Prime à porta USB
Conecte o SPIKE Prime à porta USB

Use um cabo microUSB para conectar o SPIKE Prime ao computador.

Etapa 3: Encontre a porta

Encontre o Porto
Encontre o Porto
Encontre o Porto
Encontre o Porto

Precisamos saber a qual porta serial o hub SPIKE Prime está conectado.

No mac, digite

ls /dev/tty.usbmodem*

Em um PC, olhe no gerenciador de dispositivos em serial para ver quais portas seriais você conectou

No pi, será algo como ttyAMC0 - verifique sua pasta / dev /

Etapa 4: Conecte-se

Conecte-se
Conecte-se
Conecte-se
Conecte-se

Conecte-se à porta certa (da etapa anterior) em 115200 baud

No Terminal, digite

usercomputer $ screen / dev / 115200

Em outro IDE, clique em Abrir / conectar (após configurar as portas e taxas de transmissão)

Nota: sem paridade, 8 bits de dados e 1 bit de parada

Etapa 5: Iniciando o REPL

Iniciando o REPL
Iniciando o REPL
Iniciando o REPL
Iniciando o REPL
Iniciando o REPL
Iniciando o REPL

Quando você se conecta ao SPIKE Prime do terminal / PUTTY, você verá um fluxo de números e caracteres. Esses são dados de sensores internos do hub SPIKE Prime. Para começar, pressione control + c

Isso interromperá a porta serial e você deverá ver algo assim.

MicroPython v1.9.4-1146-gca9944357 em 2019-09-25; LEGO Technic Large Hub com STM32F413xx Digite "help ()" para obter mais informações.

Agora você está pronto para codificar.

Etapa 6: Seu primeiro código

Seu Primeiro Código
Seu Primeiro Código

hub de importação

hub.display.show (‘Tufts’)

Observe o comando “import” - que puxa uma biblioteca python que permite que você converse com o SPIKE Prime. Você deve ver Tufts escritos na matriz de LED no hub.

Etapa 7: exiba seu nome

agora tente digitar

hub.display.show ('')

observe que, como você já importou o hub acima, ele já está na memória. Se não fosse, você obteria um erro como:

Traceback (última chamada mais recente): Arquivo "", linha 1, inNameError: o nome 'hub' não foi definido

Etapa 8: usando REPL

Um dos atributos mais poderosos do Python é que você pode testar qualquer coisa antes de escrever o código no REPL (leia o loop de impressão eval).

Ele executará qualquer comando python - tente digitar 2 + 2 abaixo e veja o que diz:

2+2

Etapa 9: Explorando MicroPython em SPIKE Prime

Agora é hora de explorar.

hub tem várias funções - você pode descobrir apenas digitando "hub". (não se esqueça do ponto depois do hub) e, em seguida, pressione a tecla TAB no REPL. Isso mostrará todas as diferentes maneiras de concluir o comando.

Desafio: Veja se você consegue ler a aceleração.

Etapa 10: Lendo os valores do sensor … 1

Os dados de aceleração voltam como uma matriz de valores. então, se você quer apenas o valor X, pode tentar

hub.motion.accelerometer () [0]

ou uma maneira mais agradável de codificar isso seria usar variáveis como esta:

hub de importação

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

Etapa 11: Lendo os valores do sensor … 2

Lendo os valores do sensor … 2
Lendo os valores do sensor … 2

Você também pode exibir todas as três acelerações usando um loop.

Também importaremos a biblioteca utime para que possamos fazer uma pausa e dar-lhe tempo para ler o número na tela.

Experimente este código:

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

Neste ponto, algumas coisas se tornam importantes:

espaços - Python tem tudo a ver com indentação à direita - semelhante aos colchetes em outras linguagens, indentação informa o que está dentro do loop for e o que não está.

ao usar o REPL, você notará que ao recuar, ele não executa mais a linha, mas espera que você termine as linhas do loop for antes de executar (e >>> é substituído por…). Para finalizar o loop for, basta pressionar return três vezes e o loop será executado.

Etapa 12: Desafio

Em seguida, veja se você consegue descobrir o que o código abaixo faz - e tente executá-lo para ver se você está certo.

import hub, utime

enquanto True: accel = hub.motion.accelerometer () para Acc in accel: hub.display.show (str (Acc)) utime.sleep (0.8) if hub.port. B.device.get (): break

Dica - você precisa de um sensor na porta B.

Recomendado: