Arduino与Pi Pico

一、什么是 Arduino?

1. Arduino 不仅仅是一块板子

Arduino 是一个完整的 开源生态系统,包含三部分:

  • 硬件:多种型号的开发板(最经典的是 Arduino Uno)
  • 软件:Arduino IDE(集成开发环境),用来编写、编译、上传代码
  • 生态:海量的教程、库、社区支持,是全球硬件入门的首选

2. Arduino 的编程特点

  • 使用 C/C++ 语言,但封装得非常简单
  • 程序必须包含两个核心函数:
    • setup():只运行一次,用于初始化(如设置引脚模式)
    • loop():循环执行,相当于一个无限循环,用来写主逻辑
  • 提供了大量易用的函数:pinMode()digitalWrite()digitalRead()analogWrite()(PWM)、delay()

3. 典型用法

1
2
3
4
5
6
7
8
9
10
void setup() {
pinMode(13, OUTPUT); // 设置13号引脚为输出
}

void loop() {
digitalWrite(13, HIGH); // 输出高电平(点亮LED)
delay(1000); // 等待1000毫秒
digitalWrite(13, LOW); // 输出低电平(熄灭LED)
delay(1000);
}

二、什么是 Raspberry Pi Pico?

1. Pico 是树莓派基金会推出的一款微控制器开发板

  • 与树莓派(单板计算机,可运行Linux)不同,Pico 是一块 单片机 开发板,结构简单、成本极低(约20~30元人民币)。
  • 核心芯片:第一代为 RP2040,最新为 RP2350(Pico 2 系列)。
  • 特点:性能强劲(双核 ARM Cortex-M0+ 或 M33)、资源丰富、功耗低。

2. Pico 的编程方式

  • Pico 本身没有内置的“Arduino”功能,但可以通过 安装第三方核心 来使用 Arduino IDE 进行编程。
  • 原生支持 C/C++ SDK(官方推荐)和 MicroPython(适合快速原型开发)。

三、Arduino 语法能用在 Pico 上吗?

能! 通过安装由社区(如 Earle F. Philhower)开发的 Arduino-Pico 核心,你可以用完全相同的 Arduino 语法编写 Pico 的程序。

1. 需要做的设置

  • 在 Arduino IDE 中添加开发板管理器的 URL(具体地址见前面的回答)
  • 安装 “Raspberry Pi Pico/RP2040/RP2350” 核心
  • 选择开发板型号(如 “Raspberry Pi Pico”)

2. 语法完全一致,但有两点差异需要注意

差异点 Arduino Uno Raspberry Pi Pico
引脚编号 板上标有数字引脚(0~13等),直接使用 使用 GPIO 编号(例如 GPIO0 对应数字 0
板载 LED 通常连接到引脚 13 连接到 GPIO25(推荐用常量 LED_BUILTIN
上传方式 通过 USB 转串口自动上传 需按住 BOOTSEL 键,然后拖拽 .uf2 文件

3. 示例:点亮 Pico 的板载 LED

1
2
3
4
5
6
7
8
9
10
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // LED_BUILTIN 自动映射到正确引脚
}

void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}

四、Arduino 与 Raspberry Pi Pico 的对比

方面 Arduino(以 Uno 为例) Raspberry Pi Pico
定位 入门级教育、快速原型 性能更强的通用微控制器
价格 约 100~200 元(官方) 约 20~30 元
处理器 ATmega328P(8位,16MHz) RP2040(双核32位,133MHz)或 RP2350(更快)
内存 2KB SRAM,32KB Flash 264KB SRAM,2MB Flash(外加外置)
接口 USB 转串口(上传用) USB 直连(通过拖拽 .uf2 上传)
模拟输入 6 个 10位 ADC 3 个 12位 ADC
社区资源 极其丰富 快速增长,但 Arduino 生态移植方便

总结:

  • 如果你想学硬件入门:Arduino Uno 仍然是教科书级别的选择,教程最多,出错概率低。
  • 如果你追求性价比和性能:Pico 非常强大,而且用 Arduino 语法也能轻松上手。

五、初学者需要掌握的基础概念

1. 微控制器 vs 单板计算机

  • 微控制器(如 Arduino Uno、Pico):一个芯片包含 CPU、内存、输入输出,跑裸机程序,上电就运行你的代码。
  • 单板计算机(如树莓派):像一台小电脑,有操作系统,可以同时运行多个程序。

2. GPIO(通用输入输出)

  • 引脚可以设置为输入(读取传感器)或输出(控制 LED、电机等)。
  • 数字引脚:只有高电平(通常 3.3V 或 5V)和低电平(0V)。
  • 模拟引脚:可以读取连续变化的电压(0~3.3V 或 0~5V),通过 ADC(模数转换器)实现。

3. PWM(脉宽调制)

  • 通过快速开关引脚,模拟出不同的电压输出,用于调光 LED、控制电机转速等。
  • Arduino 用 analogWrite(pin, value) 实现(注意:Pico 的 Arduino 核心也支持)。

4. 串口通信

  • 用于调试或与其他设备通信。Serial.begin() 初始化,Serial.print() 打印信息到电脑的串口监视器。

六、从零开始的实践步骤

1. 准备硬件

  • 一块 Raspberry Pi Pico 或 Pico 2
  • 一根 USB 数据线(数据线,非仅充电线)
  • 可选:LED、电阻、面包板、杜邦线

2. 安装软件

  • 下载并安装 Arduino IDE(最新版)
  • 按照前面提到的方法添加 Pico 支持

3. 编写并上传你的第一个程序

  • 选择开发板:工具 → 开发板 → Raspberry Pi RP2040 Boards → Raspberry Pi Pico
  • 选择端口:上传前按住 BOOTSEL 键插入 USB,会看到一个串口(或不需要选端口,直接上传)
  • 编写上面的 LED 闪烁代码,点击上传按钮
  • 观察 Pico 上的 LED 是否开始闪烁

4. 学习路径建议

  • 先掌握数字输入输出(按键、LED)
  • 然后学习模拟输入(电位器)
  • 再学习 PWM(调光、调速)
  • 最后尝试使用各种传感器模块(超声波、温湿度等)

七、常见问题

Q:Pico 的电压是多少?能直接连接 5V 传感器吗?
A:Pico 的工作电压是 3.3V,所有 GPIO 也是 3.3V 逻辑。如果连接 5V 设备,需要使用电平转换模块,否则可能烧坏 Pico。

Q:Arduino 的库能在 Pico 上直接用吗?
A:大部分纯软件库可以直接用。如果涉及底层硬件(如特定外设),可能需要找专为 Pico 适配的版本。但 Arduino-Pico 核心已经兼容了很多常用库。

Q:我应该先学 Arduino 还是 Pico?
A:如果手头有 Pico,完全可以直接从 Pico + Arduino 语法开始,因为你学到的就是 Arduino 编程。如果想体验最原汁原味的 Arduino 生态,买一块 Uno 克隆版也很便宜。


八、扩展资源



Arduino与Pi Pico
https://ka5fxt.cn/2026/03/29/Arduino与Pi-Pico/
发布于
2026年3月29日
许可协议