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 Pico | ATMega328p | |
Núcleos | 2 | 1 |
Arquitectura | 32 bits ARM | 8 Bits RISC |
CPU | de 48 a 133 Mhz | 16Mhz |
RAM | 256Kb | 2Kb |
Flash | 2Mb | 32Kb |
EEPROM | No | 1Kb |
Lenguajes | MicroPython, C, C++ | C (Arduino IDE) |
Voltaje USB | 5v | 5v |
Voltaje alternativo | 2-5v en el pin VSYS | 7-12v a través del conector alternavivo |
Voltaje MCU | 3.3v | 5v |
Voltaje GPIO | 3.3v | 5v |
Interfaz USB | Dispositivo y Host USB 1.1 | IC Externo de programación Serie |
GPIO | 26 Entradas/Salidas Digitales (Total) | 20 Entradas/Salidas Digitales (Total) |
ADC | 3 x 12bits | 6 x 10bits |
UART | 2 | 1 Compartido con el programador Serial |
I2C | 2 | 1 |
SPI | 2 | 1 |
PWM | 16 | 6 |
Led interno | 1 programable en pin GP25 | 1 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:
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.