大家好,欢迎来到本教程!树莓派(Raspberry Pi)除了我们熟悉的单板计算机,还有专为嵌入式开发打造的 Raspberry Pi Pico 系列。本教程将以 Raspberry Pi Pico H(RP2040) 为基础,从认识开发板、安装 MicroPython 固件开始,边学边动手,通过一个个实际实验掌握 GPIO、PWM等常用外设。拿出你收到优信电子的 Raspberry Pi Pico,让我们从点亮第一盏 LED 开始吧!
文章目录
- 一、认识 Raspberry Pi Pico H 开发板
- Raspberry Pi Pico H
- 二、安装 MicroPython 固件
- MicroPython 固件
- 三、MicroPython 开发环境
- 开发软件Thonny
- 第一个 MicroPython 程序
- 四、怎么点亮板载LED灯
- pico开发板的引脚配置
一、认识 Raspberry Pi Pico H 开发板
Raspberry Pi Pico H
Raspberry Pi Pico H 是 Raspberry Pi 推出的一款基于 RP2040 微控制器的开发板。是一块用于嵌入式控制和硬件开发的微控制器开发板。通过 Pico H,可以直接控制 LED、按键、蜂鸣器、电机等外部器件,也可以连接温度、光照、距离等各种传感器,并通过程序对采集到的数据进行处理。
Pico H 本身体积较小,但 RP2040 提供了比较完整的硬件资源,包括 GPIO、ADC、PWM、I²C、SPI、UART 等接口,因此可以覆盖大量基础嵌入式开发场景。本教程后续的实验均以 Pico H 为核心,通过实际接线和 MicroPython 程序,逐步学习微控制器的基本工作方式。
Raspberry Pi Pico 产品定位
Raspberry Pi Pico H 是一款基于 RP2040 微控制器的开发板。主要用于控制各种电子设备和外围电路,例如:LED,按键,蜂鸣器,电机,传感器,OLED 显示屏,LCD,各种通信模块。Pico H 本身不需要运行完整操作系统,程序可以直接运行在 RP2040 上,因此非常适合进行硬件控制和嵌入式开发。
Pico H 与普通 Pico 的关系
Pico H 与 Raspberry Pi Pico 使用相同的RP2040微控制器,核心硬件功能基本一致。
两者最直观的区别在于:Pico H 出厂时已经焊接好排针,拿到开发板后,可以直接使用杜邦线或者面包板进行连接。普通 Pico 需要用户自行焊接排针。
对于需要频繁进行电子实验的场景,Pico H 可以省去自行焊接排针的步骤,也降低了初学者第一次搭建电路时的操作门槛。
因此,本教程选择 Pico H,主要是为了让硬件实验可以直接开始,而不需要额外进行排针焊接。
RP2040 是什么
RP2040 是由 Raspberry Pi 设计的一款双核 32 位微控制器(MCU)芯片,采用 ARM Cortex-M0+ 内核,最高主频 133 MHz,内置 264 KB SRAM,并支持通过外部 Flash 存储程序。
RP2040 具有丰富的 GPIO、SPI、I²C、UART、PWM 等外设,并搭载独特的 PIO(可编程 I/O),适合用于传感器、显示屏、机器人、控制系统等嵌入式项目。
详细介绍可参考官网文档,这里不过多赘述。微控制器芯片
https://www.raspberrypi.com/products/raspberry-pi-pico/
二、安装 MicroPython 固件
MicroPython 固件
由于模块到手是一块没有任何程序的开发板,所以我们需要下载固件以便于我们在开发时可以识别串口和下载程序。
1、这次我们选择MicroPython 固件,固件负责提供:
Python 解释器,GPIO 操作接口,PWM 操作接口,ADC 操作接口,I²C、SPI、UART 等硬件接口,文件系统,与底层硬件的交互(没有 MicroPython 固件时,Pico 并不能直接执行我们编写的 MicroPython 程序。)
2、有关MicroPython固件
MicroPython 固件提供 MicroPython 运行环境,并负责与 RP2040 的硬件资源进行交互。
需要下载Pico H / RP2040 对应的正确固件才能在MicroPython上开发,否则会出现固件不匹配导致无法识别串口等问题。
以下的两个网址都可以下载pico的micropython固件。
https://micropython.org/download/RPI_PICO/
Pico 使用 UF2 格式进行固件更新。UF2 文件通常以:.uf2作为文件扩展名。
当 Pico 进入 BOOTSEL 模式后,电脑会将它识别为一个 USB 大容量存储设备。这时可以像操作普通 U 盘一样,将 UF2 固件文件复制进去。因此,Pico 的固件更新过程不需要传统意义上的专用烧录软件。
3、BOOTSEL
BOOTSEL 是 Pico 上用于进入 USB Bootloader 模式的按键。正常情况下,Pico 上电后会执行 Flash 中已经保存的程序。而进入 BOOTSEL 模式后,Pico 会暂停正常程序启动,并进入固件更新状态。此时电脑可以识别 Pico 的 USB 存储设备。
进入BOOTSEL下载模式:我们拿到优信电子的Raspberry Pi Pico后,需要按住按键不松开,再接上数据线到电脑上后松开按键,就可以识别存储设备进行固件更新。4.下载固件
将下载好的MicroPython UF2 文件直接复制到:RPI-RP2磁盘。复制完成后,Pico 会自动处理这个固件文件。
UF2 文件写入完成后,Pico 会自动重新启动。此时电脑中的:RPI-RP2磁盘会消失。这是正常现象。因为 Pico 已经退出 BOOTSEL 模式,不再作为 USB 大容量存储设备运行。此时它已经开始执行刚刚写入的 MicroPython 固件。
因此,RPI-RP2 消失本身不是故障,而是固件更新完成后 Pico 正常重启的表现。
三、MicroPython 开发环境
开发软件Thonny
1.MicroPython 可以通过命令行进行开发,但对于入门阶段来说,使用 Thonny 更方便。
Thonny 将程序编辑、设备连接和 Shell 集成在一个窗口中。
点击下载2.Thonny 连接 Pico H,选择 MicroPython,选择 Raspberry Pi Pico,选择串口,检查连接状态点击绿色按键即可下载程序到开发板中。
第一个 MicroPython 程序
print("Hello, Pico!")四、怎么点亮板载LED灯
pico开发板的引脚配置
由图我们可以知道pico板各个引脚功能,我们可以发现板载LED灯是连接在GP25引脚上的,要怎么点亮呢?
from machineimportPin # 导入 Pin,用于控制开发板的GPIO引脚 from timeimportsleep # 导入 sleep,用于实现延时 led=Pin(25,Pin.OUT)# 将GPIO25设置为输出模式,并命名为 ledwhile1:# 无限循环,让LED持续闪烁 led.toggle()# 切换LED状态:亮变灭,灭变亮sleep(1)# 延时1秒注意:
- 我们再写代码时需要注意“括号”、“冒号”等需要用英文输入法输入,中文输入会报错;
- 代码格式、缩进等
这样就成功点亮板载灯了。
如果文章中有不足之处,欢迎大家批评指正,也欢迎在评论区交流讨论。