Saltar al contenido principal

Seeed Studio XIAO RP2040 con MicroPython

Introducción a MicroPython

MicroPython es un intérprete de Python con una función parcial de compilación a código nativo. Proporciona un subconjunto de las funciones de Python 3.5, implementado para procesadores embebidos y sistemas con recursos limitados. Es diferente de CPython y puedes leer más sobre las diferencias aquí.

Primeros pasos

Primero, vamos a conectar la Seeed Studio XIAO RP2040 al ordenador y subir un código sencillo desde MicroPython para comprobar si la placa funciona correctamente.

Configuración de hardware

Configuración de software

  • Paso 1. Descarga e instala la última versión del editor Thonny de acuerdo con tu sistema operativo
  • Paso 2. Inicia Thonny

  • Paso 3. Haz clic en Tools-->Options para abrir la configuración.

  • Paso 4. Elige la interfaz Interpreter y selecciona el dispositivo como MicroPython(Raspberry Pi Pico) y el puerto como Try to detect port automatically

Conectar Seeed Studio XIAO RP2040 al PC

  • Paso 1. Mantén presionado el botón BOOT y luego conecta la Seeed Studio XIAO RP2040 al PC mediante el cable Type-C. Si funciona bien, aparecerá un escritorio "RPI-RP2" en el PC.
  • Paso 2. Haz clic en Install or update MicroPython.

A continuación, buscará automáticamente el dispositivo y lo mostrará en el Target Volume. En la selección de versión en Micropython de abajo, simplemente dejamos la opción predeterminada.

Haz clic en el botón Install y cierra esta página cuando el estado de instalación indique Done. La siguiente información se mostrará en la interfaz una vez que el firmware se haya completado.

  • Paso 3. Copia los siguientes códigos en Thonny.
from machine import Pin, Timer

led = Pin(25, Pin.OUT)
Counter = 0
Fun_Num = 0

def fun(tim):
global Counter
Counter = Counter + 1
print(Counter)
led.value(Counter%2)

tim = Timer(-1)
tim.init(period=1000, mode=Timer.PERIODIC, callback=fun)
  • Paso 4. Sube los códigos haciendo clic en el botón Run current script. La primera vez, Thonny preguntará dónde quieres guardar tu archivo de código. Tanto This Computer como Raspberry Pi Pico están bien.

Si funciona bien, verás que el LED se enciende y apaga una vez por segundo. Y la salida del número creciente también se mostrará en la Shell.

La conexión está completa y ahora podemos continuar con los otros proyectos.

Conectar Seeed XIAO Studio XIAO RP2040 Plus

Paso 1. Flashea el firmware. Descarga el Firmware de XIAO RP2040 Plus. Después de extraer el paquete ZIP, mantén presionado el botón BOOT en el XIAO RP2040 Plus y conéctalo a tu ordenador. Aparecerá una unidad llamada RPI-RP2. Copia el archivo firmware.uf2 a esta unidad.


Paso 2. Abre Thonny IDE → Tools → Options, y realiza las selecciones como se muestra en la figura.

Paso 3. La información de la versión se mostrará en la Shell.


Paso 4. Ve a Files -> New, pega el código de abajo y ejecuta el script.

from machine import Pin, Timer

led = Pin(25, Pin.OUT)
Counter = 0
Fun_Num = 0

def fun(tim):
global Counter
Counter = Counter + 1
print(Counter)
led.value(Counter%2)

tim = Timer(-1)
tim.init(period=1000, mode=Timer.PERIODIC, callback=fun)
  • El LED parpadeará a intervalos de 1 segundo.

tip
  • La sección Additional Resources contiene firmware de MicroPython y ejemplos relevantes para XIAO RP2040 Plus. Puedes usar estos ejemplos siguiendo los tutoriales de XIAO RP2040, pero asegúrate de reemplazar y modificar los pines correspondientes.
  • Para comprobar las diferencias dentro de la serie XIAO RP2040, consulta XIAO RP2040 Series Pin Overview

Encender el LED RGB en la Seeed Studio XIAO RP2040

Hay un LED RGB incorporado en la Seeed Studio XIAO RP2040 y vamos a encenderlo con MicroPython. Se requiere una biblioteca de terceros, por lo que primero necesitamos añadir una biblioteca adicional.

  • Paso 1. Descarga la biblioteca ws2812.py y ábrela con Thonny.

  • Paso 2. Haz clic en File-->Save as y guarda la biblioteca.

Elige Raspberry Pi Pico como la ubicación donde guardamos.

Asegúrate de que el nombre del archivo guardado sea ws2812.py, de lo contrario no funcionará.

  • Paso 3. Copia los siguientes códigos en Thonny.
from ws2812 import WS2812
import utime
import machine
power = machine.Pin(11,machine.Pin.OUT)
power.value(1)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
YELLOW = (255, 150, 0)
GREEN = (0, 255, 0)
CYAN = (0, 255, 255)
BLUE = (0, 0, 255)
PURPLE = (180, 0, 255)
WHITE = (255, 255, 255)
COLORS = (BLACK, RED, YELLOW, GREEN, CYAN, BLUE, PURPLE, WHITE)

led = WS2812(12,1)#WS2812(pin_num,led_count)

while True:
print("Beautiful color")
for color in COLORS:
led.pixels_fill(color)
led.pixels_show()
utime.sleep(0.2)
  • Paso 4. Sube los códigos haciendo clic en el botón "Run current script". La primera vez, Thonny preguntará dónde quieres guardar tu archivo de código. Tanto This Computer como Raspberry Pi Pico están bien.

Si funciona bien, verás que el LED RGB cambia y parpadea las luces. Y la salida del texto "Beautiful Color" también se mostrará en la Shell.

Conectar Seeed Studio XIAO RP2040 con pantalla mediante IIC

En este proyecto, vamos a conectar Grove - OLED Display 0.96" (SSD1315) a través de la interfaz IIC para demostrar la función IIC en la Seeed Studio XIAO RP2040.

Conexión de hardware

  • Paso 1. Descarga la biblioteca ssd1306.py y ábrela con Thonny.

  • Paso 2. Haz clic en "File-->Save as" y guarda la biblioteca en el "Raspberry Pi Pico"

Elige "Raspberry Pi Pico" como la ubicación donde guardamos.

Asegúrate de que el nombre del archivo guardado sea "ssd1306.py", de lo contrario no funcionará.

  • Paso 3. Copia los siguientes códigos en Thonny.
from ssd1306 import SSD1306_I2C
from machine import Pin, I2C
from time import sleep

i2c = I2C(1, scl=Pin(7), sda=Pin(6), freq=200000)#Grove - OLED Display 0.96" (SSD1315)
oled = SSD1306_I2C(128, 64, i2c)

while True:
oled.fill(0)#clear
oled.text("Hello,World!",0,0)
oled.show()
#sleep(0.5)
  • Paso 4. Sube los códigos haciendo clic en el botón "Run current script". La primera vez, Thonny preguntará dónde quieres guardar tu archivo de código. Tanto This Computer como Raspberry Pi Pico están bien.

Si funciona bien, verás el texto "Hello,World!" mostrado en la pantalla.

Consola de dispositivo MicroPython

Nuestro socio Neil ha escrito un programa de consola de línea de comandos para XIAO usando MicroPython. Con este programa puedes subir, descargar y eliminar archivos fácilmente. ¡Le agradecemos su contribución a XIAO!

Recursos adicionales

Algunas bibliotecas adicionales y códigos de ejemplo están aquí:

Soporte técnico y debate sobre el producto

¡Gracias por elegir nuestros productos! Estamos aquí para ofrecerte diferentes tipos de soporte y garantizar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para adaptarnos a diferentes preferencias y necesidades.

Loading Comments...