Índice:
- Etapa 1: obtendo o firmware e as bibliotecas
- Etapa 2: Trabalhar com MicroPython
- Etapa 3: MicroPython sobre serial
Vídeo: MicroPython na placa do sensor Complex Arts: 3 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
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
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:
Placa MXY - Placa de robô de desenho de plotadora XY de baixo orçamento: 8 etapas (com imagens)
Placa MXY - Placa de robô de desenho de plotadora XY de baixo orçamento: Meu objetivo era projetar a placa mXY para tornar a máquina de desenho de plotadora XY de baixo orçamento. Por isso criei um quadro que facilita para quem quer fazer esse projeto. No projeto anterior, ao usar motores de passo Nema17 de 2 peças, esta placa u
Usando a Complex Arts Sensor Board para controlar dados puros em WiFi: 4 etapas (com imagens)
Usando a Complex Arts Sensor Board para controlar dados puros em WiFi: você já quis experimentar o controle de gestos? Fazer as coisas andarem com um aceno de mão? Controlar a música girando o pulso? Este Instructable mostrará como! O Complex Arts Sensor Board (complexarts.net) é um microcircuito versátil
Regulador de tensão da placa de ensaio com display / Regulador De Voltagem Com Display Para Placa De Ensaio: 8 etapas
Regulador de Tensão da Placa de Teste com Display / Regulador De Voltagem Com Display Para Placa De Ensaio: Adquira os componentes necessários que constam na lista anexa (existem os links para comprar ou veja suas características). lá os links para poderem comprar ou ver as caracteristicas d
Placa de divisão modular de neopixel compatível com a placa de ensaio de código aberto: 4 etapas (com imagens)
Placa de quebra de neopixel modular amigável para placa de ensaio de código aberto: Este instrutível é sobre uma pequena placa de quebra de placa de ensaio amigável (8 mm x 10 mm) para LEDs de Neopixel que podem ser empilhados e soldados uns aos outros, ele também fornece muito mais rigidez estrutural do que um fino Faixa de LED em uma forma muito menor, fato
Placa de base do Tinkerer - Arduino + placa (s) de ensaio + suporte de periferia: 5 etapas
Placa de base do Tinkerer's - Arduino + placa (s) de ensaio + suporte de periferia: para que serve? Com esta placa, você pode colocar seu Arduino Uno, uma placa de ensaio de meio tamanho E a periferia do seu projeto (por exemplo, botões, potenciômetros, sensores, leds, soquetes ,. ..) em uma placa de base lasercut de 3 mm. Se precisar de mais espaço, também há um la