Raspberry Pi Pico: Programación en micropython

Hola, hoy os traigo un tutorial básico acerca de cómo usar una raspberry pi pico junto con MicroPython, el cual hará las delicias de los hobbistas. Principalmente porque supera ampliamente al muy usado ATMega328p en varios aspectos. Las diferencias técnicas entre ambas son las siguientes:

Raspberry Pi PicoATMega328p
Núcleos21
Arquitectura32 bits ARM8 Bits RISC
CPUde 48 a 133 Mhz16Mhz
RAM256Kb2Kb
Flash2Mb32Kb
EEPROMNo1Kb
LenguajesMicroPython, C, C++C (Arduino IDE)
Voltaje USB5v5v
Voltaje alternativo2-5v en el pin VSYS7-12v a través del conector alternavivo
Voltaje MCU3.3v5v
Voltaje GPIO3.3v5v
Interfaz USBDispositivo y Host USB 1.1IC Externo de programación Serie
GPIO26 Entradas/Salidas Digitales (Total)20 Entradas/Salidas Digitales (Total)
ADC3 x 12bits6 x 10bits
UART21 Compartido con el programador Serial
I2C21
SPI21
PWM166
Led interno1 programable en pin GP251 programable en pin D13

Como puedes observar salvo pequeños aspectos, el microcontrolador Raspberry Pi Pico gana por goleada.

Pinout

Lo primero que tenemos que conocer es el pinout del microcontrolador, el cual nos ayudará a programarlo y saber dónde estamos conectando los periféricos:

Preparación

El microcontrolador en sí es muy fácil de preparar. Lo primero que tienes que hacer es conectarlo al ordenador dejando pulsado el botón que incluye.

Esto hará que el microcontrolador se conecte en modo de almacenamiento masivo, por lo que aparecerá una unidad parecida a la de un pendrive con dos ficheros. Podemos abrir el fichero index.htm el cual nos redireccionará a la web de primeros pasos, a la cual podemos acceder también con el siguiente enlace.

En esta página, navegaremos un poco más abajo hasta que veamos tres pestañas de información de la tarjeta, y cómo empezar con MicroPython y C++. Ahí seleccionaremos la pestaña de MicroPython y nos indicará que nos descarguemos un fichero UF2.

Navegaremos un poco hacia abajo y daremos al botón «Download UF2 File»

Una vez descargado, simplemente lo copiaremos a la nueva unidad que se creo anteriormente al conectar las Raspberry Pi Pico. Una vez copiado, el microcontrolador se reiniciará y se conectará en otro modo distinto, quedando listo para programarlo.

Instalación de Thonny

Lo siguiente que tenemos que hacer es instalar el IDE para programar nuestro microcontrolador. Para ello disponemos de un programa llamado Thonny, el cual podemos descargar desde el siguiente enlace:

https://thonny.org/

Procederemos a descargarlo e instalarlo, y una vez que lo tengamos instalado simplemente lo abrimos. Nos preguntará el idioma, el cual pondremos a nuestro gusto (yo he elegido inglés), y luego en Initial Settings seleccionaremos Standard (sino no nos dará las opciones avanzadas).

Damos a Let’s go!, y se nos abrirá la pantalla principal del programa. Una vez abierto iremos a Herramientas -> Opciones.

Y se nos abrirá una nueva ventana con las opciones del programa. Navegaremos a la pestaña Intérprete, y ahí seleccionaremos Rasberry Pi Pico en el primer desplegable, y el segundo lo dejaremos en Try to detect port automatically.

Daremos a OK y ya tendremos el programa listo para usarlo con nuestra Raspberri Pi Pico. Para conectar el microcontrolador simplemente lo conectaremos sin pulsar el botón.

Funcionamiento básico de Thonny

Una vez que hayamos puesto en marcha el programa, podemos comenzar a trastear con nuestro microcontrolador. Una de las ventajas que tiene, es que puedes ejecutar comandos directamente en el microcontrolador sin subir el código, lo cual es muy útil para realizar pruebas.

La pantalla principal del programa es la siguiente:

Podemos distinguir tres zonas en el programa:

  • Menús y botones de acceso directo en la parte superior
  • Ventana de programación en la parte central
  • Consola en la parte inferior

En la parte de los menús podemos distinguir unos botones de acceso directo, los cuales son de izquierda a derecha:

  • Nuevo fichero
  • Abrir fichero
  • Guardar
  • Ejecutar
  • 5 botones para debuguear
  • Por último el botón stop que parará la ejecución

A diferencia de Arduino, podemos ejecutar el código directamente sin subirlo al microcontrolador, por lo que podremos cargar un fichero con el segundo botón, y luego pulsar al botón de Ejecutar para lanzarlo. Obviamente esta ejecución es volátil y no perdurará en el microcontrolador tras reiniciarlo.

La parte central del programa es donde programaremos el código que queremos ejecutar en el Microcontrolador (o subirlo), y por último tenemos la zona inferior, la cual es una consola directa con el microcontrolador. Esta consola nos permite ejecutar los comandos en directo. Por poner un ejemplo, si ejecutamos estas dos líneas en esa consola encenderemos el led que tiene la placa:

from machine import Pin
Pin(25, Pin.OUT).high()

Programar el microcontrolador

Arriba viste que simplemente pulsando el botón de Ejecutar, el programa se ejecutaba en el microcontrolador sin necesidad de programarlo, pero qué pasa cuando queremos que el programa sea permanente. No te preocupes, el proceso es tan fácil como darle a guardar…

Lo primero que haremos será crear un fichero nuevo, y pegaremos este código de ejemplo:

import time
from machine import Pin
print("Welcome to Pico example 2, blinking an LED")
led = Pin(25, Pin.OUT)
# For demo purposes, we have an infinite loop here
while True:
    led.high()
    time.sleep(0.5)
    led.low()
    time.sleep(0.5)

Daremos al botón de guardar y el programa nos preguntará si queremos hacerlo en nuestro ordenador, o el microcontrolador.

Seleccionaremos Rasberry Pi Pico y nos saldrá una ventana donde podremos indicar el nombre del fichero. Es muy importante que se llame main.py o el microcontrolador no lo cargará, ya que es el nombre que busca por defecto.

Desconectamos el microcontrolador y lo volvemos a conectar, y comenzará su ejecución.

Para volver a programar el microcontrolador necesitaremos pulsar al botón Stop para parar la ejecución del programa actual, lo cual hará que el microcontrolador esté disponible de nuevo.

Importante: El botón de guardar siempre guardará en el último fichero que hayamos guardado, por lo que si guardamos el fichero en el microcontrolador, lo modificamos y le damos a guardar, este será guardado en el microcontrolador sin pasar por nuestro PC. Si deseamos tener una copia en nuestro PC, tendremos que darle a Archivo -> Guardar Como y seleccionar dónde queremos guardarlo.

Espero que os haya gustado y que os sirva para iniciaros en el mundo de MicroPython y Raspberry Pi Pico. Más adelante intentaré hacer uno para programarlo usando C++, el cual tiende a estar más optimizado y ser más rápido, por lo que nos será muy útil.

Un saludo y no dudes en escribir un comentario o suscribirte a mi web.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.