外观
Arduino 入门
Arduino 是一个由硬件、开发工具和软件库组成的开源电子平台。它让初学者能用较少的代码读取传感器、控制灯光和制作交互装置,也适合开发者快速验证硬件想法。
对 ESP32 用户来说,Arduino 提供了一套容易入手的编程接口和大量现成库。使用这套接口时,需要安装适配 ESP32 的 Arduino-ESP32 核心。
概览
教程里的「Arduino」可能指不同的东西,先分清这些概念:
| 名称 | 是什么 | 与 ESP32 的关系 |
|---|---|---|
| Arduino 开发板 | Arduino 品牌的硬件,例如 UNO 系列;不同型号使用不同芯片 | 选购时仍需看具体型号,不能仅凭 Arduino 名称判断芯片和功能 |
| Arduino IDE | 集成开发环境(Integrated Development Environment),在电脑上编辑、编译和上传程序 | 安装 ESP32 板支持包后,可以给 ESP32 开发板写程序 |
| Arduino 核心(core) | 面向特定芯片平台的基础接口实现,通常随板支持包安装 | ESP32 对应乐鑫维护的 Arduino-ESP32 |
| 草图(sketch) | Arduino 对程序的称呼,主文件通常以 .ino 结尾 | 编译为固件后上传到 ESP32,程序在开发板上运行 |
| 库(library) | 可复用的代码,例如传感器驱动、显示屏绘图和通信功能 | 需要确认库是否支持 ESP32 架构及所用核心版本 |
因此,使用 Arduino IDE 编写 ESP32 程序时,仍然要按实际开发板选择型号和引脚。UNO 教程里的接线与硬件参数不能直接套用到 ESP32。
程序怎么写
Arduino 草图通常以 C++ 编写,使用 Arduino 提供的函数和库。常见的「Arduino 语言」说法指这套编程方式;学习变量、条件、循环和函数等 C/C++ 基础仍然有帮助。
一个最小草图有两个函数:
setup():开发板上电或复位后执行一次,用来初始化串口、引脚和外设。loop():初始化完成后反复执行,用来读取输入、更新状态和控制输出。
下面的示例运行在安装了 Arduino-ESP32 核心的 ESP32 开发板上,每秒输出一行文字,无需连接外部元件:
cpp
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println("Hello, ESP32!");
delay(1000);
}Serial 是串口通信接口,115200 是示例使用的波特率。上传后,在电脑上的 Arduino IDE 串口监视器中选择对应端口,并将波特率设为 115200。带原生 USB 的 ESP32 开发板还可能需要启用与板型匹配的 USB CDC 串口选项,请按开发板说明配置。
delay(1000) 会让当前执行流程等待 1000 毫秒,适合这个简单示例。需要同时处理按钮、联网和屏幕刷新时,可以学习用 millis() 记录时间,避免在主循环中长时间等待。
开发工具与库
初次使用可以从 Arduino IDE 2 开始。它把编辑代码、编译、上传和查看串口输出放在同一个界面中;基础开发在本地完成,不要求使用 Arduino Cloud。
IDE 中有两个容易混淆的管理器:
- 开发板管理器(Boards Manager):安装芯片平台的支持包,包含核心、编译工具链和板型定义。ESP32 用户需要安装
esp32 by Espressif Systems。 - 库管理器(Library Manager):安装项目需要的软件库,例如某款传感器或显示屏的驱动。安装后通常能在「文件 → 示例」中找到对应示例。
使用库时,按照库文档在程序中添加 #include <库的头文件.h>。先运行与自己硬件相符的示例,再把功能组合进项目,通常更容易定位问题。
不是所有 Arduino 库都能跨芯片使用:依赖 AVR 寄存器的老库可能只适用于部分 UNO 等开发板;同一库也可能对 Arduino-ESP32 的版本有要求。选库时检查架构声明、维护情况和 ESP32 示例。
喜欢 VS Code 和工程化管理的读者,可以进一步了解 PlatformIO。Arduino IDE 是一种开发工具,Arduino 框架也可以通过其他工具使用。
在 ESP32 上怎么开始
以下步骤在电脑上的 Arduino IDE 中完成:
- 从 Arduino 官方网站安装 Arduino IDE,准备 ESP32 开发板和可传输数据的 USB 线。
- 在偏好设置的「附加开发板管理器网址」中加入乐鑫官方稳定版地址:
https://espressif.github.io/arduino-esp32/package_esp32_index.json。 - 在开发板管理器中安装
esp32 by Espressif Systems,按厂商说明选择具体板型和端口。 - 新建草图,输入上面的串口示例,先编译,再上传。
- 打开串口监视器,确认能看到重复输出;再尝试与开发板匹配的传感器、显示屏或联网示例。
安装细节和框架限制见 Arduino-ESP32,开发板选择与首次连接问题见 第一次上手。这里的示例仅经过文档核查,未在真实硬件上验证。
适合谁 / 不适合谁
Arduino 适合电子与嵌入式初学者、教学实验、创客作品,以及需要借助现成库快速做原型的开发者。代价是各平台底层实现不同,示例代码能否直接迁移取决于硬件和库的支持情况。
在 ESP32 上,Arduino-ESP32 构建在 ESP-IDF 之上。需要细调功耗、内存、任务调度或底层配置时,可以进一步学习 ESP-IDF,也可以采用 Arduino 作为 ESP-IDF 组件的方式。具体取舍见 开发框架与软件生态。
参考资料
- Arduino 官方介绍:https://www.arduino.cc/en/Guide/Introduction
- Arduino 最小程序结构:https://www.arduino.cc/en/Tutorial/BuiltInExamples/BareMinimum/
- Arduino IDE 2 库安装指南:https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-installing-a-library/
- 乐鑫 Arduino-ESP32 安装指南:https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html