正在加载图示…
每节课都在开发板上运行你自己的代码。通过这节课的检查,就能把它打勾完成。
按正确的顺序组装开发板,然后上电检查,就像在实验台上一样。
已完成 0/10 步Pico 是单面板:所有元件都在正面,在工厂里用回流焊焊好。把它拆到只剩裸 PCB,就能看到铜皮、邮票孔边缘和元件封装焊盘。
每一种故障都会在模拟中真实发生。触发一个,观察图示,再读一读原因。
树莓派官方的微控制器开发板。Pico 搭载 RP2040(两个最高 133 MHz 的 Arm Cortex-M0+ 核心,264 KB SRAM)和 2 MB QSPI 闪存;Pico 2 搭载 RP2350(两个 150 MHz 的 Cortex-M33 或 Hazard3 RISC-V 核心,520 KB SRAM)和 4 MB 闪存。W 版在金属屏蔽罩下加了一颗英飞凌 CYW43439 Wi-Fi 和蓝牙芯片,远端还有一根印制天线。四款板子共用同一个 21 x 51 mm 外形,40 个邮票孔引脚排在 2.54 mm 网格上,micro-USB 插座直接连到芯片(没有 USB 转串口桥),还有一个 BOOTSEL 按钮和一颗绿色 LED。一颗升降压稳压器能把 VSYS 上 1.8 到 5.5 V 之间的任何电压变成 3.3 V。所有 GPIO 都工作在 3.3 V;只有 RP2350 的数字引脚能承受 5 V,而且只在板子通电时。板上没有复位按钮,也没有电源灯:闪存为空的板子什么都不亮,在电脑上显示为一个 U 盘。
| 排针 | 引脚 | 名称 | 功能 | 电平 | 最大电流 | 备注 |
|---|---|---|---|---|---|---|
| edge | 1 | GP0 | UART0 TX, I2C0 SDA, SPI0 RX, PWM0A, PIO | 3.3 V | 12 mA | 默认是 UART0 TX:MicroPython 的 UART(0) 和 C SDK 的 stdio 都用 GP0 和 GP1。 |
| edge | 2 | GP1 | UART0 RX, I2C0 SCL, SPI0 CSn, PWM0B, PIO | 3.3 V | 12 mA | 默认是 UART0 RX。 |
| edge | 3 | GND | – | – | – | |
| edge | 4 | GP2 | I2C1 SDA, SPI0 SCK, PWM1A, PIO | 3.3 V | 12 mA | |
| edge | 5 | GP3 | I2C1 SCL, SPI0 TX, PWM1B, PIO | 3.3 V | 12 mA | |
| edge | 6 | GP4 | UART1 TX, I2C0 SDA, SPI0 RX, PWM2A, PIO | 3.3 V | 12 mA | SDK 默认引脚上的 I2C0 SDA;I2C 课程用的就是它。 |
| edge | 7 | GP5 | UART1 RX, I2C0 SCL, SPI0 CSn, PWM2B, PIO | 3.3 V | 12 mA | SDK 默认引脚上的 I2C0 SCL。 |
| edge | 8 | GND | – | – | – | |
| edge | 9 | GP6 | I2C1 SDA, SPI0 SCK, PWM3A, PIO | 3.3 V | 12 mA | |
| edge | 10 | GP7 | I2C1 SCL, SPI0 TX, PWM3B, PIO | 3.3 V | 12 mA | |
| edge | 11 | GP8 | UART1 TX, I2C0 SDA, SPI1 RX, PWM4A, PIO | 3.3 V | 12 mA | |
| edge | 12 | GP9 | UART1 RX, I2C0 SCL, SPI1 CSn, PWM4B, PIO | 3.3 V | 12 mA | |
| edge | 13 | GND | – | – | – | |
| edge | 14 | GP10 | I2C1 SDA, SPI1 SCK, PWM5A, PIO | 3.3 V | 12 mA | |
| edge | 15 | GP11 | I2C1 SCL, SPI1 TX, PWM5B, PIO | 3.3 V | 12 mA | |
| edge | 16 | GP12 | UART0 TX, I2C0 SDA, SPI1 RX, PWM6A, PIO | 3.3 V | 12 mA | |
| edge | 17 | GP13 | UART0 RX, I2C0 SCL, SPI1 CSn, PWM6B, PIO | 3.3 V | 12 mA | |
| edge | 18 | GND | – | – | – | |
| edge | 19 | GP14 | I2C1 SDA, SPI1 SCK, PWM7A, PIO | 3.3 V | 12 mA | 课程里的按钮:接到 GND,使用内部上拉,按下时读到 0。 |
| edge | 20 | GP15 | I2C1 SCL, SPI1 TX, PWM7B, PIO | 3.3 V | 12 mA | 课程里的外接 LED,经过 330 Ω 接到 GND。任何 GPIO 都能输出 PWM;这个引脚是 PWM 片 7 的通道 B。 |
| edge | 21 | GP16 | UART0 TX, I2C0 SDA, SPI0 RX, PWM0A, PIO | 3.3 V | 12 mA | |
| edge | 22 | GP17 | UART0 RX, I2C0 SCL, SPI0 CSn, PWM0B, PIO | 3.3 V | 12 mA | |
| edge | 23 | GND | – | – | – | |
| edge | 24 | GP18 | I2C1 SDA, SPI0 SCK, PWM1A, PIO | 3.3 V | 12 mA | |
| edge | 25 | GP19 | I2C1 SCL, SPI0 TX, PWM1B, PIO | 3.3 V | 12 mA | |
| edge | 26 | GP20 | UART1 TX, I2C0 SDA, SPI0 RX, PWM2A, PIO | 3.3 V | 12 mA | |
| edge | 27 | GP21 | UART1 RX, I2C0 SCL, SPI0 CSn, PWM2B, PIO | 3.3 V | 12 mA | |
| edge | 28 | GND | – | – | – | |
| edge | 29 | GP22 | I2C1 SDA, SPI0 SCK, PWM3A, PIO | 3.3 V | 12 mA | |
| edge | 30 | RUN | RUN (reset, active low) | 3.3 V | – | 芯片使能,内部上拉约 50 kΩ。把它短接到 GND 就能复位芯片:板上没有复位按钮,所以可以从 RUN 到 GND 接一个按钮。 |
| edge | 31 | GP26_A0 | ADC0, I2C1 SDA, SPI1 SCK, PWM5A, PIO | 3.3 V | 12 mA | ADC0。模拟输入引脚有一颗接到 3.3 V 的二极管,在所有板子上(包括 RP2350 板)都必须保持在约 3.6 V 以下。 |
| edge | 32 | GP27_A1 | ADC1, I2C1 SCL, SPI1 TX, PWM5B, PIO | 3.3 V | 12 mA | ADC1。12 位,在 MicroPython 里用 read_u16() 读出 0-65535。 |
| edge | 33 | AGND | Analog ground | – | – | ADC 引脚的模拟地:电位器或传感器的回线接到这里,读数更干净。 |
| edge | 34 | GP28_A2 | ADC2, UART0 TX, I2C0 SDA, SPI1 RX, PWM6A, PIO | 3.3 V | 12 mA | ADC2。 |
| edge | 35 | ADC_VREF | ADC reference | 3.3 V | – | ADC 参考电压:3.3 V 电源轨经过一个 200 Ω、2.2 µF 的滤波器。它的噪声较大;这里可以接一个外部 3.0 V 参考源。 |
| edge | 36 | 3V3 | 3.3 V out | 3.3 V | 300 mA | 升降压稳压器输出的 3.3 V,给传感器和模块用,不超过 300 mA。千万不要往里灌 5 V。 |
| edge | 37 | 3V3_EN | SMPS enable | 4.7 V | – | 3.3 V 稳压器的使能脚,经过 100 kΩ 上拉到 VSYS。把它接到 GND,整块板子就关掉了。 |
| edge | 38 | GND | – | – | – | |
| edge | 39 | VSYS | 1.8-5.5 V in / out | 4.7 V | – | 1.8 到 5.5 V 输入(电池),或者板子由 USB 供电时输出约 4.7 V。没有防反接保护。 |
| edge | 40 | VBUS | USB 5 V | 5 V | – | 插着线时输出 USB 5 V,否则为 0 V。接在这里的 5 V 电源会经过 D1 给板子供电。 |
| DEBUG | 1 | SWCLK | SWD clock | 3.3 V | – | 串行线调试焊盘(SWCLK、GND、SWDIO):树莓派 Debug Probe 或另一块运行 debugprobe 的 Pico 接在这里就能打断点。它们是专用调试引脚,不是 GPIO。 |
| DEBUG | 2 | GND | – | – | – | |
| DEBUG | 3 | SWDIO | SWD data | 3.3 V | – |
这块开发板能驱动的传感器和执行器,以及真实的接法。
一颗 5 mm LED 从 GP15 经过 330 Ω 电阻接到 GND:红色 LED 的电流为 (3.3 - 2.0) / 330 ≈ 4 mA,在引脚默认 4 mA 驱动能力之内。
| 零件引脚 | 开发板引脚 |
|---|---|
| A | GP15导线颜色:橙色 |
| K | GND导线颜色:黑色 |
千万别省掉电阻:引脚会试图输出远超 12 mA 的电流。
一个 6 x 6 mm 按钮从 GP14 接到 GND,用 Pin.PULL_UP:按下时读到 0。让它跨在面包板中间的凹槽上。
| 零件引脚 | 开发板引脚 |
|---|---|
| 1 | GP14导线颜色:黄色 |
| 3 | GND导线颜色:黑色 |
在早期的 Pico 2 板(RP2350 A2)上,别依赖内部下拉:勘误 E9 会让引脚浮到高电平。
一个 10 kΩ 电位器:一端接 3V3(第 36 脚),另一端接 AGND(第 33 脚),滑动端接 GP26 / ADC0。
| 零件引脚 | 开发板引脚 |
|---|---|
| 1 | 3V3导线颜色:红色 |
| 2 | GP26导线颜色:黄色 |
| 3 | AGND导线颜色:黑色 |
两端千万不要接 5 V:在每一款 Pico 上,ADC 引脚最多只能承受 3.3 V。
光敏电阻从 3V3 接到 GP27,再加一个 10 kΩ 电阻从 GP27 接到 GND:光越亮,读数越高。
| 零件引脚 | 开发板引脚 |
|---|---|
| 1 | 3V3导线颜色:红色 |
| 2 | GP27导线颜色:黄色 |
TMP36 从 2.7 V 起就能工作,所以用 3V3 没问题:GP28 上的 Vout 在 25 °C 时读数为 0.75 V,每度 10 mV。
| 零件引脚 | 开发板引脚 |
|---|---|
| +Vs | 3V3导线颜色:红色 |
| Vout | GP28导线颜色:黄色 |
| GND | AGND导线颜色:黑色 |
一个无源压电蜂鸣器接在 GP18 和 GND 上,用 PWM 驱动:pwm.freq(440) 发出一个 A 音。
| 零件引脚 | 开发板引脚 |
|---|---|
| + | GP18导线颜色:橙色 |
| - | GND导线颜色:黑色 |
SG90 的信号接 GP16,用 50 Hz 的 PWM(0.5 到 2.4 ms 的脉冲),电源取自 VBUS(USB 的 5 V),并共用 GND。
| 零件引脚 | 开发板引脚 |
|---|---|
| signal | GP16导线颜色:橙色 |
| V+ | VBUS导线颜色:红色 |
| GND | GND导线颜色:棕色 |
千万不要用 3V3 给舵机供电:它的堵转电流会把 3.3 V 电源轨拉低,让 Pico 复位。用 USB 供电时的 VBUS,或者一路单独的 5 V 电源,并共地。
一块 GY-521 MPU-6050 模块接在 I2C0 上:SDA 接 GP4,SCL 接 GP5,VCC 接 3V3。它的地址是 0x68(AD0 拉高时为 0x69)。
| 零件引脚 | 开发板引脚 |
|---|---|
| VCC | 3V3导线颜色:红色 |
| GND | GND导线颜色:黑色 |
| SCL | GP5导线颜色:黄色 |
| SDA | GP4导线颜色:蓝色 |
一块 0.96 英寸 SSD1306 OLED 接在 I2C0(GP4 和 GP5)上,地址 0x3C,由 3V3 供电。MicroPython 需要 micropython-lib 里的 ssd1306 驱动(mip.install("ssd1306"))。
| 零件引脚 | 开发板引脚 |
|---|---|
| GND | GND导线颜色:黑色 |
| VCC | 3V3导线颜色:红色 |
| SCL | GP5导线颜色:黄色 |
| SDA | GP4导线颜色:蓝色 |
看清排针的丝印:有的模块是 GND VCC SCL SDA,有的是 VCC GND SCL SDA。
HC-SR04 需要 5 V:VCC 接 VBUS,TRIG 接 GP16(3.3 V 足以触发它),ECHO 经过分压器(串联 1 kΩ,2 kΩ 接 GND)接 GP17,这样 5 V 的回声到达时就是 3.3 V。
| 零件引脚 | 开发板引脚 |
|---|---|
| VCC | VBUS导线颜色:红色 |
| TRIG | GP16导线颜色:橙色 |
| ECHO | GP17导线颜色:黄色 |
| GND | GND导线颜色:黑色 |
ECHO 是 5 V 输出。直接接到 RP2040 的引脚上,它会让电流经过引脚的保护二极管灌进 3.3 V 电源轨,损坏芯片。RP2350 的 GPIO 在通电时能承受它,但还是保留分压器吧。