Skip to main content

使用 MicroPython 的 Seeed Studio XIAO RP2040

MicroPython 简介​

MicroPython 是一个带有部分本地代码编译功能的 Python 解释器。它提供了 Python 3.5 功能的一个子集,专为嵌入式处理器和受限系统实现。它与 CPython 不同,你可以在这里阅读更多差异说明。

入门指南​

首先,我们将把 Seeed Studio XIAO RP2040 系列连接到电脑,并从 MicroPython 上传一个简单的代码,以检查开发板是否工作正常。

硬件准备​

将 XIAO RP2040 系列连接到电脑​

  • 步骤 1. 按住 BOOT 按钮不放,然后通过 Type-C 线将 Seeed Studio XIAO RP2040 系列连接到电脑。如果一切正常,电脑上会显示一个名为 RPI-RP2 的磁盘。

软件准备​

  • 步骤 1. 根据你的操作系统下载并安装最新版本的 Thonny editor
  • 步骤 2. 启动 Thonny

  • 步骤 3. 点击 Tools-->Options 打开设置。

  • 步骤 4. 选择 Interpreter 选项卡,将设备设置为 MicroPython(generic),端口设置为 Board CDC @ Port

步骤 5. 版本信息会显示在 Shell 中。


步骤 6. 依次点击 Files -> New,粘贴下面的代码,然后运行脚本。

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)
  • 板载 LED 将以 1 秒为间隔闪烁。

tip
  • 附加资源部分包含适用于 XIAO RP2040 Plus 的 MicroPython 固件和相关示例。你可以按照 XIAO RP2040 教程来使用这些示例,但请务必替换并修改相应的引脚。
  • 如需查看 XIAO RP2040 系列之间的差异,请参考 XIAO RP2040 系列引脚概览

XIAO RP2040 系列引脚​

MicroPython 引脚名称XIAO RP2040 GPIOXIAO RP2040 Plus GPIOADC功能
D0 / A0GPIO26GPIO260GPIO,ADC0
D1 / A1GPIO27GPIO271GPIO,ADC1
D2 / A2GPIO28GPIO282GPIO,ADC2
D3 / A3GPIO29GPIO293GPIO,ADC3
D4 / SDAGPIO6GPIO6—GPIO,I2C SDA
D5 / SCLGPIO7GPIO7—GPIO,I2C SCL
D6 / TXGPIO0GPIO0—GPIO,UART TX
D7 / RXGPIO1GPIO1—GPIO,UART RX
D8 / SCKGPIO2GPIO2—GPIO,SPI SCK
D9 / MISOGPIO4GPIO4—GPIO,SPI MISO
D10 / MOSIGPIO3GPIO3—GPIO,SPI MOSI
NEOPIXELGPIO12GPIO12—WS2812 NeoPixel 数据
NEOPIXEL_POWER / NEO_PWR / RGB_ENGPIO11GPIO11—NeoPixel 供电使能(Plus 上为 RGB_EN)
LED_G / D23GPIO16GPIO16—RGB 绿灯;Plus D23
LED_R / D24GPIO17GPIO17—RGB 红灯;Plus D24
LED_B / LEDGPIO25GPIO25—RGB 蓝灯 / 用户 LED
D12—GPIO18—Plus 扩展 GPIO
D13 / SCL1—GPIO21—Plus I2C1 SCL
D14 / SDA1—GPIO20—Plus I2C1 SDA
D15—GPIO19—Plus 扩展 GPIO
D16—GPIO22—Plus 扩展 GPIO
D17—GPIO23—Plus 扩展 GPIO
D19—GPIO5—Plus 扩展 GPIO
D20—GPIO13—Plus 扩展 GPIO
D21—GPIO14—Plus 扩展 GPIO
D22—GPIO15—Plus 扩展 GPIO
D25—GPIO10—Plus 扩展 GPIO
D26—GPIO9—Plus 扩展 GPIO
D27—GPIO8—Plus 扩展 GPIO
BAT_EN—GPIO24—Plus 电池供电使能

点亮 Seeed Studio XIAO RP2040 上的 RGB LED​

Seeed Studio XIAO RP2040 上配备了一个 RGB LED,我们将通过 MicroPython 将其点亮。由于需要第三方库,因此我们首先需要添加一个额外的库。

  • 步骤 1. 下载 ws2812.py 库,并用 Thonny 打开。

  • 步骤 2. 点击 File-->Save as 并保存该库。

选择 Raspberry Pi Pico 作为保存位置。

确保保存的文件名为 ws2812.py,否则将无法正常工作。

  • 步骤 3. 将以下代码复制到 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)
  • 步骤 4. 点击 “Run current script” 按钮上传代码。第一次运行时,Thonny 会询问你要将代码文件保存在哪里,选择 This Computer 或 Raspberry Pi Pico 都可以。

如果一切正常,你会看到 RGB LED 变换并闪烁灯光。同时,文本 “Beautiful Color” 的输出也会显示在 Shell 中。

通过 IIC 将 Seeed Studio XIAO RP2040 与显示屏连接​

在本项目中,我们将通过 IIC 接口连接 Grove - OLED Display 0.96" (SSD1315),以演示 Seeed Studio XIAO RP2040 上的 IIC 功能。

硬件连接

  • 步骤 1. 下载 ssd1306.py 库,并用 Thonny 打开。

  • 步骤 2. 点击 "File-->Save as" 并将该库保存到 "Raspberry Pi Pico" 中

选择 "Raspberry Pi Pico" 作为保存位置。

确保保存的文件名为 "ssd1306.py",否则将无法正常工作。

  • 步骤 3. 将以下代码复制到 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)
  • 步骤 4. 点击 “Run current script” 按钮上传代码。第一次运行时,Thonny 会询问你要将代码文件保存在哪里,选择 This Computer 或 Raspberry Pi Pico 都可以。

如果一切正常,你会看到屏幕上显示文本 “Hello,World!”。

MicroPython 设备控制台​

我们的合作伙伴 Neil 使用 MicroPython 为 XIAO 编写了一个命令行控制台程序。通过这个程序,你可以轻松上传、下载和删除文件。我们感谢他对 XIAO 的贡献!

其他资源​

这里提供了一些额外的库和示例代码:

技术支持与产品讨论​

感谢您选择我们的产品!我们将为您提供多种支持,以确保您在使用我们产品时的体验尽可能顺畅。我们提供了多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...