Programando Raspberry Pi Pico con MicroPython

En este tutorial, aprenderemos cómo programar Raspberry Pi Pico con MicroPython. Aprenderemos qué es MicroPython, cómo instalar MicroPython en Raspberry Pi Pico y cómo programar Raspberry Pi Pico con MicroPython.

Hice un tutorial de Introducción a Raspberry Pi Pico, en el que hablé del microcontrolador RP2040, la placa de desarrollo Raspberry Pi Pico, Pinout de Raspberry Pi Pico. Por lo tanto, consulte ese tutorial antes de continuar.

Introducción

Si está familiarizado con la programación informática, probablemente haya oído hablar de Python. El lenguaje de programación Python, que lleva el nombre de Monty Python (y no de la serpiente), se ha convertido en una opción popular entre los desarrolladores de software desde su lanzamiento inicial en 1991.

Python fue diseñado para desarrollar aplicaciones para computadoras de escritorio, portátiles y servidores, que tienen un procesador potente y ejecutan un sistema operativo. Pero, ¿qué sucede si desea escribir aplicaciones en Python para un pequeño sistema integrado basado en microcontroladores?

Las placas de microcontroladores como Arduino y Raspberry Pi Pico tienen severas restricciones en términos de memoria y potencia de procesamiento y no pueden ejecutar Python como lo hacen las computadoras de escritorio y portátiles grandes.

Aquí viene MicroPython al rescate.

¿Qué es MicroPython?

MicroPython es un intérprete de lenguaje Python desarrollado para microcontroladores y sistemas integrados. Fue desarrollado por Damien P. George y está escrito en C. MicroPython es un compilador y tiempo de ejecución compatible con Python 3 que puede ejecutarse en pequeños microcontroladores.

Aunque es un subconjunto de Python 3, no incluye todas las bibliotecas estándar de Python, ya que fue desarrollado para sistemas restringidos. Solo se incluyen algunas bibliotecas de Python seleccionadas, mientras que los recordatorios están escritos para el propio MicroPython (principalmente para acceso de hardware de bajo nivel).

Si es un desarrollador de software que nunca ha trabajado en hardware, pero desea escribir aplicaciones para sistemas integrados basados ​​en microcontroladores (proyectos personales o profesionales), MicroPython es la respuesta.

Sintácticamente, MicroPython es muy similar a Python. Entonces, si trabajó con Python, trabajar con MicroPython será muy fácil (además, puede controlar el hardware).

Si no ha trabajado con Python (como yo), no se preocupe. Es un idioma fácil de aprender.

¿Qué computadora usar?

La documentación oficial de Raspberry Pi Pico se basa en el uso de un SBC de Raspberry Pi como computadora host (ya sea para MicroPython o C). Si está trabajando con MicroPython, puede usar cualquier computadora (Windows, Mac o Linux) ya que simplemente necesita descargar un IDE llamado Thonny.

Pero si está trabajando con C, le recomiendo que utilice un sistema basado en Linux como una computadora Raspberry Pi (si tiene una), ya que es fácil descargar el SDK y escribir programas C en Linux.

Además, si está interesado en depurar el código, entonces una Raspberry Pi será útil ya que podemos usar algunos de los GPIO de Raspberry Pi para depurar Raspberry Pi Pico.

NOTA: En este tutorial, usaré un sistema Windows para demostrar cómo programar Raspberry Pi Pico con MicroPython. Pero también puede aplicar pasos similares en otros sistemas operativos.

¿Cómo instalar MicroPython en Raspberry Pi Pico?

Descarga MicroPython Binary

Empecemos ahora con MicroPython en Raspberry Pico. La forma más fácil y rápida de ejecutar MicroPython en Raspberry Pi Pico es descargar el binario prediseñado del sitio web oficial de Raspberry Pi Pico.

Vaya a la página de documentación de Raspberry Pi Pico y haga clic en «Introducción a MicroPython» pestaña.

El contenido debajo de la pestaña cambia según la pestaña seleccionada y cuando hace clic en «Introducción a MicroPython”, Aparece un texto relacionado con Introducción a MicroPython junto con una pequeña animación sobre cómo instalar MicroPython en Raspberry Pi Pico.

Lea toda la información y haga clic en la opción «Descargar archivo UF2». Se descargará un binario MicroPython en forma de archivo .uf2.

Instalar MicroPython en Raspberry Pi Pico

Después de descargar MicroPython Binary, tenemos que cargar este firmware en Raspberry Pi Pico. Para eso, primero tenemos que poner el Pico en modo cargador de arranque.

Para hacer eso, conecte un cable micro-USB al puerto micro-USB de Raspberry Pi Pico. Ahora, mantenga presionado el botón BOOTSEL en el Pico y conecte el otro extremo del cable USB a un puerto USB de la computadora host (mientras mantiene presionado el botón BOOTSEL).

Puede soltar el botón después de un par de segundos cuando Raspberry Pi Pico aparece como un dispositivo de almacenamiento masivo con el nombre “RPI-RP2”. Si lo abre, verá un archivo de texto y un archivo HTML.

Ahora, vaya a la carpeta de descargas y arrastre y suelte el archivo MicroPython UF2 descargado en el dispositivo RPI-RP2. Después de copiar, la Raspberry Pi Pico se reiniciará y ejecutará MicroPython. El dispositivo de almacenamiento masivo desaparecerá después de que copie el archivo MicroPython UF2.

Su Raspberry Pi Pico ahora está ejecutando MicroPython. Ahora está listo para programar Raspberry Pi Pico con MicroPython.

Descargando Thonny

Si su computadora host es Linux o Mac, entonces puede comunicarse con Raspberry Pi Pico usando terminal y Minicom. Pero en este tutorial, veremos cómo programar Raspberry Pi Pico usando Thonny IDE.

Thonny es un IDE de Python simple disponible para Windows, Mac y Linux. El sistema operativo Raspberry Pi viene con Thonny preinstalado. Como estoy usando un sistema Windows, descargué la versión para Windows de Thonny. Se descarga un ejecutable llamado “thonny-3.3.5.exe”.

Haga doble clic en el ejecutable descargado e instale Thonny. No hay nada especial con esta instalación y es muy sencillo. Opcionalmente, puede seleccionar crear un acceso directo en el escritorio.

Configurando Thonny

Después de descargar e instalar Thonny IDE, ábralo. Asegúrese de que Raspberry Pi Pico ya esté conectado a la computadora host. Thonny IDE es muy simple. Su diseño se puede dividir en cuatro partes: barra de herramientas, área de script, shell, intérprete.

  • La barra de herramientas: contiene iconos para guardar, ejecutar y detener los programas.
  • El área de secuencia de comandos: aquí es donde escribe los programas de Python.
  • Shell: Python Shell es un bloque REPL (Read-Evaluate-Print-Loop) interactivo donde puede dar comandos individuales al intérprete y este los ejecutará.
  • El intérprete: seleccione el intérprete adecuado en la parte inferior derecha del IDE.

De forma predeterminada, Thonny IDE está configurado para interpretar Python 3.x.x.

Haga clic en Python 3.7.9 (o la versión que sea) y seleccione el intérprete de MicroPython (Raspberry Pi Pico). Tan pronto como seleccione el intérprete de MicroPython, el shell en la parte inferior cambia a MicroPython.

Dado que MicroPython admite REPL interactivo, puede ingresar comandos en el shell y Raspberry Pi Pico los ejecutará. Intentemos esto. Comenzaremos con Hello World de programas que es imprimir Hello World.

Programando Raspberry Pi Pico con MicroPython

En el Shell, escriba lo siguiente junto al símbolo «>>>» y presione enter.

print («¡Hola, mundo!»)

Esta es una instrucción para el intérprete de MicroPython que se ejecuta en Raspberry Pi Pico. Al recibir este comando, MicroPython responderá con el mensaje «¡Hola, mundo!» y lo imprime en la propia cáscara.

Si recuerda el diseño de la Raspberry Pi Pico, un LED está conectado a GPIO 25. Podemos intentar encender y apagar este LED desde la carcasa.

Para eso, primero tenemos que importar una biblioteca especial llamada «máquina». La biblioteca de la máquina en MicroPython se utiliza para controlar el hardware de una placa, Raspberry Pi Pico en este caso. Puede restablecer el microcontrolador, ponerlo en suspensión, habilitar o deshabilitar las interrupciones, despertarlo de la suspensión mediante el módulo de máquina.

Algunas de las clases de módulo de máquina son:

  • Alfiler
  • Señal
  • ADC
  • UART
  • SPI
  • I2C
  • RTC
  • Temporizador
  • WDT
  • Dakota del Sur
  • Tarjeta SD

Aprenderemos sobre todos los módulos y sus clases a medida que los usemos. La documentación de MicroPython es un buen lugar para comenzar si desea explorar más a fondo las bibliotecas MicroPython.

Como queremos usar el bloque GPIO, podemos importar la clase «pin» de la «máquina», que se utiliza para controlar los pines IO de la Raspberry Pi Pico.

A continuación, creamos un objeto de clase Pin y establecemos el número GPIO y su dirección, es decir, Entrada o Salida.

led_gpio25 = Pin (25, Pin.OUT)

Para encender el LED, tenemos que establecer su valor en 1.

Escriba las líneas anteriores una tras otra en el shell. Puede ver el LED encendido. Para apagar el LED, establezca el valor del pin en 0.

Hacer parpadear un LED

Ejecutar comandos desde el shell es bueno, pero ¿y si desea escribir un programa Python completo? Por eso tienes el área de guiones. Veamos ahora cómo podemos escribir nuestro primer programa Python para Raspberry Pi Pico y hacer parpadear un LED.

Conecté un LED rojo de 5 mm a GPIO 16 de Raspberry Pi Pico con la ayuda de una resistencia limitadora de corriente de 220Ω.

Ahora, en el área de la secuencia de comandos, escriba el siguiente programa. Comenté el código para obtener una explicación detallada de lo que hace cada línea. Puede ignorar los comentarios.

Haga clic en guardar y seleccione Raspberry Pi Pico, cuando se le solicite.

Dé un nombre al archivo y haga clic en Aceptar. Lo di como «main.py».

Haga clic en el icono «Ejecutar» y verá el LED parpadeando.

En lugar de establecer el valor en 1 y 0, puede utilizar la función de alternancia para reducir el código.

Razón para nombrar main.py

Cuando reinicia cualquier microcontrolador (ya sea que lo apague por completo y lo encienda o se reinicie el botón), espera que el microcontrolador ejecute el programa una vez más. Si desea que suceda lo mismo en Raspberry Pi Pico, entonces debe nombrar el script de Python como «main.py».

Puede proporcionar cualquier nombre para el programa Python al guardar como «blinky.py», pero no se ejecutará si desconecta la alimentación y lo vuelve a conectar. Para ello, debe nombrar el programa Python como «main.py».

Incluso si tiene varios scripts de Python en Raspberry Pi Pico, si hay un archivo llamado main.py, MicroPython lo ejecutará.

NOTA: No soy un experto en Python o MicroPython y todavía estoy aprendiendo. Esta cuestión de nombres es lo que experimenté cuando trabajaba con Raspberry Pi Pico.

Leer desde el botón

Hemos visto cómo configurar el pin GPIO de Raspberry Pi Pico como salida y hacer parpadear un LED. Extendamos ahora esto configurando un pin GPIO como entrada y conectando un botón al pin GPIO. Leeremos el estado del Botón y cambiaremos el estado del LED.

Usé GPIO 15 como pin de entrada y le conecté un simple botón momentáneo. El otro terminal del botón está conectado a 3.3V. Para obtener una lectura limpia del botón, utilicé la opción PULL_DOWN mientras configuraba el pin del botón. Entonces, normalmente el Pico lee BAJO en el pin del botón, pero cuando presiono el botón, Pico lee ALTO en el pin del botón.

Conclusión

En este elaborado tutorial, aprendió a programar Raspberry Pi Pico con MicroPython. Aprendió un poco sobre MicroPython, cómo instalar MicroPython en Raspberry Pi Pico, programar Raspberry Pi Pico con MicroPython y Thonny IDE, hacer parpadear un LED y también leer un botón.

Source link

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *