Índice:

MicroPython na placa do sensor Complex Arts: 3 etapas
MicroPython na placa do sensor Complex Arts: 3 etapas

Vídeo: MicroPython na placa do sensor Complex Arts: 3 etapas

Vídeo: MicroPython na placa do sensor Complex Arts: 3 etapas
Vídeo: Master GPIO with Raspberry Pi Pico & MicroPython - Part 2 2024, Novembro
Anonim
MicroPython na placa do sensor Complex Arts
MicroPython na placa do sensor Complex Arts
MicroPython na placa do sensor Complex Arts
MicroPython na placa do sensor Complex Arts

Um dos aspectos mais incríveis do microcontrolador ESP32 é sua capacidade de executar MicroPython. Isso pode ser feito de duas maneiras: executando programas Python completos ou interativamente por meio de um aplicativo de console. Este Instructable demonstrará como usar o MicroPython de duas maneiras usando a Complex Arts Sensor Board. Primeiro, executaremos um aplicativo de exemplo que coleta dados do acelerômetro do IMU BNO_085 e, em seguida, usaremos um programa serial para programar interativamente em Python.

Nível: este tutorial pressupõe algum conhecimento de Python e que o Python está instalado. Também pressupõe o conhecimento dos comandos básicos do terminal.

Ferramentas: as únicas ferramentas de que precisaremos serão a placa do sensor, um programa de terminal e um programa de console serial. Em um Mac, você pode simplesmente usar o terminal. Em uma máquina Windows, você precisará baixar e instalar um programa de terminal. Para o console serial. Putty é sempre uma boa escolha.

Etapa 1: obtendo o firmware e as bibliotecas

Para começar, precisaremos fazer o download do firmware personalizado fornecido pela Complex Arts e, em seguida, atualizá-lo para o Sensor Board. O firmware pode ser encontrado aqui:

Baixe o arquivo firmware.bin e coloque-o na pasta de sua escolha. Eventualmente, você também precisará do programa de exemplo Complex Arts, então pode muito bem fazer isso agora; acesse: https://github.com/ComplexArts/SensorBoardPython e git clone ou baixe para o local de sua escolha.

Depois de obter os arquivos, precisaremos de alguns pacotes para fazer a interface com o ESP32. O primeiro pacote de que precisamos é esptool.py. Para instalá-lo, basta digitar

pip instalar esptool

no terminal.

Assim que o esptool estiver instalado, podemos apagar e voltar a piscar o chip. Para fazer isso, digite

esptool.py --chip esp32 --port COM4 erase_flash

para a porta, insira a porta serial que coincide com a placa do sensor. Em um Mac, seria algo como --port / dev / ttyUSB0

Assim que isso for feito, vamos atualizar o chip com:

esptool.py --chip esp32 --port COM4 --baud 460800 write_flash -z 0x1000 firmware.bin

Novamente, altere a porta de acordo.

Etapa 2: Trabalhar com MicroPython

Trabalhando com MicroPython
Trabalhando com MicroPython

Se verificarmos a saída serial do Sensor Board neste ponto, veremos o REPL do Python (o loop de leitura-avaliação-impressão: >>>) Para fazer isso, precisaremos de um programa de console serial. Putty é uma boa opção, pois fornece opções para SSH e telnet, mas também comunicação serial simples, como faremos aqui. putty.org. Depois de instalá-lo, abra-o e selecione “Serial” em “Tipo de conexão:” Você precisará digitar o mesmo nome de porta serial inserido para o esptool acima e, em seguida, uma taxa de transmissão de 115200 para a velocidade. Vá em frente e clique em “Abrir”. E tem o Python!

Agora queremos fazer o upload e executar nosso código de exemplo. Para fazer isso, vá para a pasta onde você salvou anteriormente os exemplos SensorBoardPython. Precisamos do incrível pacote ampy da Adafruit. Você pode instalar isso com:

pip install adafruit-ampy = 0.6.3

Depois de obtê-lo, use o ampy para fazer o upload do exemplo do acelerômetro para o quadro:

ampy -p COM4 put accelerometer.py

(mudando a porta de acordo, é claro). Agora reinicie sua placa com o botão de reset. Voltaremos ao Putty neste ponto e no prompt >>>, digite

acelerômetro de importação

Viola! Agora você está executando o código accelerometer.py no Sensor Board! O código será executado por 20 segundos e, em seguida, será interrompido. Observe que enquanto o código do acelerômetro está em execução, o LED azul na placa pisca. Para aqueles mais familiarizados com Python, você notará que isso é feito sem threading e sem demora (). Isso se deve ao uso da biblioteca asyncio do Python, que oferece ótimos métodos para executar tarefas simultaneamente e é muito útil em plataformas embarcadas como o ESP32. Se você não estiver familiarizado com ele, vale a pena conferir; há um ótimo tutorial aqui: https://github.com/peterhinch/micropython-async/b… (mas esteja avisado, é um pouco inebriante).

Etapa 3: MicroPython sobre serial

De volta à tarefa em mãos! Quando o código do acelerômetro parar, você verá novamente o Python >>>. Agora podemos programar interativamente usando o Sensor Board como nosso interpretador Python. Para fazer isso, digite

>> x = 10

>> y = 11

>> x + y

21

Embora este seja o exemplo mais básico, podemos facilmente começar a criar um código mais complexo usando as bibliotecas Complex Arts como ponto de partida. Isso permite que você execute medições de posição e movimento em tempo real, com controle em tempo real. Com os pinos GPIO disponíveis na placa do sensor, você pode conectar servos, luzes, sensores, motores ou qualquer número de dispositivos físicos, usando-os interativamente ou por meio de um programa Python. Divirta-se!

Para obter mais informações, verifique estes outros recursos:

complexarts.net/home/

complexarts.net/docs/bno085/

Recomendado: