Tabla de contenido:

MicroPython en la placa de sensores de artes complejas: 3 pasos
MicroPython en la placa de sensores de artes complejas: 3 pasos

Video: MicroPython en la placa de sensores de artes complejas: 3 pasos

Video: MicroPython en la placa de sensores de artes complejas: 3 pasos
Video: Webinar Introducción a MicroPython: Python para microcontroladores 2024, Noviembre
Anonim
MicroPython en la placa de sensores de artes complejas
MicroPython en la placa de sensores de artes complejas
MicroPython en la placa de sensores de artes complejas
MicroPython en la placa de sensores de artes complejas

Uno de los aspectos más sorprendentes del microcontrolador ESP32 es su capacidad para ejecutar MicroPython. Esto se puede hacer de dos formas: ejecutando programas completos de Python o de forma interactiva a través de una aplicación de consola. Este Instructable demostrará cómo usar MicroPython en ambos sentidos usando el tablero de sensores de artes complejas. Primero ejecutaremos una aplicación de ejemplo que recopila datos del acelerómetro de la IMU BNO_085, luego usaremos un programa en serie para programar de forma interactiva en Python.

Nivel: este tutorial asume cierto conocimiento de Python y que Python está instalado. También asume el conocimiento de los comandos básicos de la terminal.

Herramientas: las únicas herramientas que necesitaremos serán la placa de sensores, un programa de terminal y un programa de consola en serie. En una Mac, simplemente puede usar terminal. En una máquina con Windows, deberá descargar e instalar un programa de terminal. Para la consola serial. La masilla es siempre una buena opción.

Paso 1: obtener el firmware y las bibliotecas

Para comenzar, necesitaremos descargar el firmware personalizado proporcionado por Complex Arts y luego actualizarlo a la placa de sensores. El firmware se puede encontrar aquí:

Descargue el archivo firmware.bin y colóquelo en la carpeta que elija. Eventualmente, también necesitará el programa de ejemplo de Artes complejas, por lo que también podría hacerlo ahora; vaya a: https://github.com/ComplexArts/SensorBoardPython y git clone o descárguelo en la ubicación que elija.

Una vez que tenga los archivos, necesitaremos algunos paquetes para interactuar con el ESP32. El primer paquete que necesitaremos es esptool.py. Para instalarlo, simplemente escriba

pip instalar esptool

en la terminal.

Una vez que esptool está instalado, podemos borrar y volver a flashear el chip. Para hacerlo, ingrese

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

para el puerto, ingrese el puerto serial que coincide con la placa del sensor. En una Mac, se vería algo así como --port / dev / ttyUSB0

Una vez hecho esto, flashearemos el chip con:

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

Nuevamente, cambie el puerto en consecuencia.

Paso 2: trabajar con MicroPython

Trabajando con MicroPython
Trabajando con MicroPython

Si verificamos la salida en serie de la placa de sensores en este punto, veremos Python REPL (el ciclo de lectura-evaluación-impresión: >>>) Para hacer esto, necesitaremos un programa de consola en serie. Putty es una buena opción, ya que ofrece opciones para SSH y telnet, pero también comunicación en serie simple, como lo haremos aquí. putty.org. Una vez que lo haya instalado, ábralo y seleccione "Serie" en "Tipo de conexión:" Deberá escribir el mismo nombre de puerto serie que ingresó para la herramienta de espionaje anterior, luego una velocidad en baudios de 115200 para la Velocidad. Continúe y haga clic en "Abrir". ¡Y ahí está Python!

Ahora queremos cargar y ejecutar nuestro código de ejemplo. Para hacerlo, vaya a la carpeta donde guardó anteriormente los ejemplos de SensorBoardPython. Necesitaremos el increíble y amplio paquete de Adafruit. Puedes instalar eso con:

pip instalar adafruit-ampy = 0.6.3

Una vez que lo tengas, usa ampy para cargar el ejemplo del acelerómetro en la placa:

ampy -p COM4 poner acelerómetro.py

(cambiando el puerto en consecuencia, por supuesto). Ahora reinicia tu tablero con el botón de reinicio. Regresaremos a Putty en este punto y en el indicador >>>, escriba

importar acelerómetro

¡Viola! ¡Ahora está ejecutando el código accelerometer.py en la placa del sensor! El código se ejecutará durante 20 segundos y luego se detendrá. Observe que mientras se ejecuta el código del acelerómetro, el LED azul en la placa parpadea. Para aquellos más familiarizados con Python, notarán que esto se hace sin subprocesos y sin demora (). Eso se debe al uso de la biblioteca asyncio de Python, que proporciona excelentes métodos para ejecutar tareas simultáneamente y es muy útil en plataformas integradas como ESP32. Si no está familiarizado con él, vale la pena echarle un vistazo; hay un gran tutorial aquí: https://github.com/peterhinch/micropython-async/b… (pero ten cuidado, es un poco embriagador).

Paso 3: MicroPython sobre serie

¡De vuelta a la tarea que tenemos entre manos! Cuando el código del acelerómetro se detenga, volverá a ver Python >>>. Ahora podemos programar de forma interactiva utilizando la placa de sensores como nuestro intérprete de Python. Para hacerlo, ingrese

>> x = 10

>> y = 11

>> x + y

21

Si bien este es el ejemplo más básico, podemos comenzar fácilmente a crear código más complejo utilizando las bibliotecas Complex Arts como punto de partida. Esto le permite ejecutar mediciones de posición y movimiento sobre la marcha, con control en tiempo real. Con los pines GPIO disponibles en la placa de sensores, puede conectar fácilmente servos, luces, sensores, motores o cualquier número de dispositivos físicos, utilizándolos de forma interactiva o mediante un programa Python. ¡Divertirse!

Para obtener más información, consulte estos otros recursos:

complexarts.net/home/

complexarts.net/docs/bno085/

Recomendado: