Programación de Raspberry Pi Pico con MicroPython | Información para principiantes

En este tutorial, descubriremos cómo programar la Raspberry Pi Pico con MicroPython. Estudiaremos qué es MicroPython, cómo se puede programar MicroPython en Raspberry Pi Pico y cómo se puede programar Raspberry Pi Pico con MicroPython.

He hecho un tutorial de Introducción a la Raspberry Pi Pico, a través del cual he mencionado el microcontrolador RP2040, la placa de crecimiento de la Raspberry Pi Pico, el pinout de la Raspberry Pi Pico. Así que echa un vistazo a ese tutorial antes de continuar.

Introducción

Si estás acostumbrado a programar en PC, probablemente habrás oído hablar de Python. Llamado así por Monty Python (y nunca por la serpiente), el lenguaje de programación Python se ha convertido en una alternativa preferida entre los creadores de programas de software desde su lanzamiento preliminar en 1991.

Se suponía que Python era para fines de crecimiento para ordenadores de sobremesa, portátiles y servidores, que tienen un procesador robusto y ejecutan un sistema operativo. ¿Pero qué pasa si quieres escribir en Python para un pequeño microcontrolador, basado principalmente en métodos embebidos?

Las placas de microcontroladores como Arduino y Raspberry Pi Pico tienen restricciones extremas de memoria y potencia de procesamiento y no pueden ejecutar Python de la mejor manera que lo hacen los grandes ordenadores de sobremesa y portátiles.

Aquí viene MicroPython al rescate.

¿Qué es MicroPython?

MicroPython es un intérprete del lenguaje Python desarrollado para microcontroladores y métodos embebidos. Fue desarrollado por Damien P. George y está escrito en C. MicroPython es un compilador de Python 3 adecuado y puede funcionar con pequeños microcontroladores.

Aunque es un subconjunto de Python 3, no abarca todas las bibliotecas habituales de Python porque se desarrolló para métodos restringidos. Sólo se incluyen algunas bibliotecas de Python elegidas, mientras que el resto están escritas para el propio MicroPython (principalmente para la entrada de bajo nivel {hardware}).

Si eres un programador de software que no ha trabajado nunca en {hardware}, pero necesitas escribir para propósitos de microcontroladores basados principalmente en métodos embebidos (tanto iniciativas privadas como especializadas), entonces MicroPython es la respuesta.

Sintácticamente, MicroPython es similar a Python. Así que para quienes hayan trabajado con Python, trabajar con MicroPython puede ser muy sencillo (además, puedes regular el {hardware}).

Si no has trabajado con Python (como yo), no te preocupes. Es un lenguaje sencillo de estudiar.

¿Qué Pc utilizar?

La documentación oficial de la Raspberry Pi Pico se basa en la utilización de una Raspberry Pi SBC como ordenador portátil anfitrión (tanto para MicroPython como para C). En caso de que trabajes con MicroPython, deberás utilizar cualquier ordenador portátil (Home windows, Mac o Linux), ya que sólo tienes que conseguir un IDE llamado Thonny.

Sin embargo, si trabajas con C, me gusta recomendarte que utilices un sistema basado principalmente en Linux, como una Raspberry Pi Pc (probablemente tengas una), ya que es sencillo conseguir el SDK y escribir aplicaciones en C en Linux.

Además, si te interesa depurar código, una Raspberry Pi puede ser útil, ya que podemos utilizar algunos de los GPIO de la Raspberry Pi para depurar la Raspberry Pi Pico.

NOTA: En este tutorial, podría estar utilizando un sistema de Windows para mostrar cómo se puede programar Raspberry Pi Pico con MicroPython. Sin embargo, puedes aplicar pasos similares en otros sistemas operativos.

¿Cómo se puede configurar MicroPython en la Raspberry Pi Pico?

Obtener el binario de MicroPython

Ahora nos permite empezar con MicroPython en Raspberry Pico. La mejor y más rápida técnica para ejecutar MicroPython en la Raspberry Pi Pico es obtener el binario pre-construido del sitio web oficial de la Raspberry Pi Pico.

Ir a la documentación página de Raspberry Pi Pico y haz clic en «Iniciar MicroPythonpestaña «Pestaña».

Instalación de MicroPython-1

El material de contenido debajo de la pestaña de ajustes se basa en la pestaña elegida y mientras se hace clic en «Iniciar MicroPython«, aparece un contenido textual asociado a Cómo empezar con MicroPython junto con una breve animación sobre cómo se puede montar MicroPython en Raspberry Pi Pico.

Instalación de MicroPython-2

Aprende todos los conocimientos y haz clic en la posibilidad de «Obtener el archivo UF2». Se puede descargar un binario de MicroPython del tipo de archivo .uf2.

Instalación de MicroPython-3

Preparación de MicroPython en Raspberry Pi Pico

Después de descargar el binario de MicroPython, tenemos que añadir este firmware a la Raspberry Pi Pico. Para ello, primero tenemos que poner el Pico en modo cargador de arranque.

Para probarlo, conecta un cable micro-USB al puerto micro-USB de la Raspberry Pi Pico. Ahora, mantén pulsado el botón BOOTSEL del Pico y conecta el cable USB a un puerto USB del portátil anfitrión (mientras mantienes pulsado el botón BOOTSEL).

Puedes soltar el botón después de unos segundos cuando la Raspberry Pi Pico parezca un Gadget de almacenamiento masivo con el título «RPI-RP2». Si lo abres, verás un archivo de contenido textual y un archivo HTML.

Instalación de MicroPython-4

Ahora, ve a la carpeta de descargas y arrastra y suelta el archivo MicroPython UF2 descargado en la máquina RPI-RP2. Después de copiar, la Raspberry Pi Pico se reiniciará y ejecutará MicroPython. La máquina de almacenamiento masivo desaparecerá después de copiar el archivo MicroPython UF2.

Instalación de MicroPython-5

Tu Raspberry Pi Pico ya está ejecutando MicroPython. Ahora mismo puedes programar la Raspberry Pi Pico con MicroPython.

Descargar Thonny

Si tu ordenador portátil es Linux o Mac, entonces puedes hablar con la Raspberry Pi Pico utilizando el terminal y el Minicom. Sin embargo, en este tutorial, veremos cómo puedes programar la Raspberry Pi Pico utilizando Thonny IDE.

Descarga-Thonny-1

Thonny es un IDE de Python fácil de usar para Home Windows, Mac y Linux. El sistema operativo Raspberry Pi viene con Thonny preinstalado. Como utilizo un sistema de Windows, he descargado el modelo de Thonny para Windows. Se descarga un ejecutable denominado «thonny-3.3.5.exe».

Haz doble clic en el ejecutable descargado y configura Thonny. Esta configuración no tiene nada de especial y es bastante sencilla. Opcionalmente puedes elegir crear un acceso directo en el escritorio.

Configuración de Thonny

Una vez que hayas descargado y colocado el IDE de Thonny, ábrelo. Haz que la Raspberry Pi Pico esté ya conectada al portátil anfitrión. El IDE de Thonny puede ser muy fácil. Su estructura puede dividirse en 4 componentes: Barra de herramientas, espacio de scripts, shell, intérprete.

Configurar-Thonny-1

  • La barra de herramientas: comprende iconos para guardar, trabajar y detener aplicaciones.
  • El espacio del guión: Este es el lugar donde se escriben las Aplicaciones Python.
  • La Shell: La Shell de Python es un REPL (Learn-Consider-Print-Loop) interactivo que bloquea el lugar donde puedes dar instrucciones particulares al intérprete y éste las ejecutará.
  • El intérprete: Elige el intérprete adecuado en la parte inferior del propio IDE.

Por defecto, el IDE de Thonny está configurado para interpretar Python 3.x.x.

Configurar-Thonny-2

Haz clic en Python 3.7.9 (o independientemente del modelo) y elige el intérprete MicroPython (Raspberry Pi Pico). Tan pronto como elijas el intérprete de MicroPython, el intérprete de comandos en la configuración posterior a MicroPython.

Configurar-Thonny-3

Dado que MicroPython ayuda al REPL interactivo, puedes introducir eventualmente instrucciones dentro del shell y la Raspberry Pi Pico las ejecutará. Permítenos hacerlo. Empecemos con el Mundo Hey de las aplicaciones que es imprimir el Mundo Hey.

Programación de la Raspberry Pi Pico con MicroPython

Dentro de la Shell, agita la imagen siguiente «>>>» y pulsa intro.

Esta es una instrucción para el intérprete de MicroPython que funciona en la Raspberry Pi Pico. Al recibir este comando, MicroPython responderá con el mensaje «¡Hola, mundo!» y lo imprimirá en el propio shell.

Programación-Raspberry-Pi-Pico-con-MicroPython-1

Si tienes en cuenta la estructura de la Raspberry Pi Pico, un LED está conectado al GPIO 25. Podemos intentar encender y apagar este LED desde la carcasa.

Raspberry-Pi-Pico-Board-Layout

Para ello, primero tenemos que importar una determinada biblioteca denominada «máquina». La biblioteca de máquinas en MicroPython se utiliza para regular el {hardware} de una placa, Raspberry Pi Pico en este caso. Puedes reiniciar el microcontrolador, ponerlo en reposo, activar o desactivar las interrupciones, despertarlo del reposo utilizando el módulo de la máquina.

Algunos de los cursos del módulo de máquinas son

  • Pin
  • Firma
  • ADC
  • UART
  • SPI
  • I2C
  • RTC
  • Temporizador
  • WDT
  • SD
  • Tarjeta SD

Descubriremos todos los módulos y sus cursos a medida que los utilicemos y después de utilizarlos. La documentación de MicroPython es un buen punto de partida si quieres saber más sobre las bibliotecas de MicroPython.

Como necesitamos utilizar el bloque GPIO, podemos importar la clase ‘pin’ de ‘machine’, que se utiliza para regular los pines IO de la Raspberry Pi Pico.

Posteriormente, creamos un objeto de sofisticación Pin y establecemos la cantidad de GPIO y su ruta, es decir, Entrada o Salida.

led_gpio25 = Pin(25, Pin.OUT)

Para que se encienda el LED, tenemos que poner su valor en 1.

Ordena los trazos anteriores uno tras otro dentro de la cáscara. Puedes ver el LED encendido. Para mostrar el LED apagado, pon el valor del pin en 0.

Programación-Raspberry-Pi-Pico-con-MicroPython-2

Raspberry-Pi-Pico-On-Board-LED

Parpadea un LED

Ejecutar instrucciones desde el shell está bien, pero ¿qué pasa si quieres escribir un programa entero en Python? Esa es la razón por la que tendrás el espacio del guión. Veamos ahora cómo podemos escribir nuestro primer programa en Python para la Raspberry Pi Pico y hacer parpadear un LED.

Conecté un LED púrpura de 5 mm al GPIO 16 de la Raspberry Pi Pico con la ayuda de una resistencia limitadora de 220Ω presente.

Raspberry-Pi-Pico-MicroPython-Circuit

Ahora, dentro del espacio del guión, el siguiente programa. He comentado el código para aclarar lo que hace cada línea. Puedes ignorar los comentarios.

Haz clic en guardar y elige Raspberry Pi Pico cuando se te pida.

Parpadeo-LED-1

Dale una reputación al archivo y haz clic en Aceptar. Lo he dado como «mayor.py».

Parpadeo-LED-2

Haz clic en el icono «Ejecutar» y podrás ver el LED parpadeando.

Parpadeo-LED-3

En lugar de establecer el valor en 1 y 0, debes utilizar la palanca de ejecución para cortar el código.

Raspberry-Pi-Pico-External-LED-Blinky

Causa para nombrar a major.py

Cada vez que reinicias cualquier microcontrolador (ya sea apagando, encendiendo o con el botón de reinicio), esperas que el microcontrolador vuelva a ejecutar este sistema. Si quieres que ocurra lo mismo en la Raspberry Pi Pico, entonces es necesario llamar al script de Python de ‘major.py’.

Puedes presentar cualquier título para el programa Python cuando lo guardes como ‘blinky.py’, sin embargo no se ejecutará para aquellos que eliminen la capacidad y la vuelvan a conectar. Para ello, es imprescindible llamar al programa Python ‘mayor.py’.

Aunque probablemente tengas varios scripts de Python en la Raspberry Pi Pico, si hay un archivo llamado major.py, MicroPython lo ejecutará.

NOTA: No tengo conocimientos de Python ni de MicroPython y sin embargo lo estoy estudiando. Este factor de nomenclatura es el que conozco al trabajar con la Raspberry Pi Pico.

Aprende con el botón

Ya hemos visto cómo puedes configurar el pin GPIO de la Raspberry Pi Pico como salida y hacer parpadear un LED. Ampliemos ahora esto estableciendo un Pin GPIO como Enter y conectando un Botón al Pin GPIO. Aprendamos la posición del Botón y cambiemos el estado del LED.

Utilicé el GPIO 15 como pin de entrada y le conecté un pulsador momentáneo fácil. El terminal opuesto del botón se conecta a tres,3V. Para conseguir un estudio claro del botón, he utilizado la posibilidad de PULL_DOWN mientras configuraba el pin del botón. Así, normalmente el Pico se lee BAJO en el pin del botón, sin embargo, una vez que pulso el botón, el Pico se lee ALTO en el pin del botón.

Raspberry-Pi-Pico-Button

Conclusión

En este elaborado tutorial, has descubierto cómo se puede programar la Raspberry Pi Pico con MicroPython. Descubriste un poco sobre MicroPython, cómo se puede programar MicroPython en Raspberry Pi Pico, programar Raspberry Pi Pico con MicroPython y Thonny IDE, hacer parpadear un LED y también aprender un botón.

Lee:  Arbolado en cables de media tensión y sobretensión con aislamiento XLPE
Javired
Javired

Deja una respuesta

Tu dirección de correo electrónico no será publicada.