跳转到内容

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 中完成:

  1. 从 Arduino 官方网站安装 Arduino IDE,准备 ESP32 开发板和可传输数据的 USB 线。
  2. 在偏好设置的「附加开发板管理器网址」中加入乐鑫官方稳定版地址:https://espressif.github.io/arduino-esp32/package_esp32_index.json。
  3. 在开发板管理器中安装 esp32 by Espressif Systems,按厂商说明选择具体板型和端口。
  4. 新建草图,输入上面的串口示例,先编译,再上传。
  5. 打开串口监视器,确认能看到重复输出;再尝试与开发板匹配的传感器、显示屏或联网示例。

安装细节和框架限制见 Arduino-ESP32,开发板选择与首次连接问题见 第一次上手。这里的示例仅经过文档核查,未在真实硬件上验证。

适合谁 / 不适合谁 ​

Arduino 适合电子与嵌入式初学者、教学实验、创客作品,以及需要借助现成库快速做原型的开发者。代价是各平台底层实现不同,示例代码能否直接迁移取决于硬件和库的支持情况。

在 ESP32 上,Arduino-ESP32 构建在 ESP-IDF 之上。需要细调功耗、内存、任务调度或底层配置时,可以进一步学习 ESP-IDF,也可以采用 Arduino 作为 ESP-IDF 组件的方式。具体取舍见 开发框架与软件生态。

参考资料 ​

ESP32 非官方中文调查手册,与乐鑫科技(Espressif Systems)无隶属关系。