一、实验准备

1.1 硬件准备

1.2 软件准备

二、Arduino IDE 安装步骤 (Windows)

2.1 下载安装包

2.2 安装过程

2.3 首次启动配置

三、ESP32 开发环境配置

3.1 添加 ESP32 开发板支持

a. 打开首选项设置

File → Preferences,找到 "Additional Boards Manager URLs"。

b. 添加 ESP32 开发板管理器 URL

添加以下 URL(可同时添加多个,用逗号分隔):

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
https://dl.espressif.com/dl/package_esp32_index.json

c. 安装 ESP32 开发板支持包

3.2 安装 USB 驱动 (Windows)

开发板接口采用CH340芯片,安装步骤如下:

3.3 配置 ESP32 开发环境

a. 选择开发板

工具 → 开发板 → ESP32 Arduino → 选择对应型号。

注意:本开发板为 ESP32 兼容开发板,可以选择 "ESP32 Dev Module"。

b. 重要配置项

在工具菜单(Tools)中配置:

四、测试环境配置

4.1 基础连接测试

4.2 上传测试程序

a. 创建测试程序

新建文件,输入以下代码(功能:验证 Arduino IDE + ESP32 环境是否配置成功):

// 定义板载LED引脚,避免使用"魔法数字"
#define LED_PIN 2

void setup() {
  // 初始化串口通信
  Serial.begin(115200);
  // 初始化板载LED引脚为输出模式
  pinMode(LED_PIN, OUTPUT); 
}

void loop() {
  Serial.println("Hello ESP32!");
  digitalWrite(LED_PIN, HIGH);   // 点亮LED
  delay(1000);                   // 等待1秒
  digitalWrite(LED_PIN, LOW);    // 熄灭LED
  delay(1000);              // 等待1秒
}

💡 编程小知识:#define vs const int

在定义引脚时,通常有两种方式,本教程采用第一种(宏定义):

  • #define LED_PIN 2 (宏定义):预处理指令。编译器在编译前单纯进行文本替换(把代码中所有的 LED_PIN 换成 2)。不占用程序内存,是传统的 C 语言写法。
  • const int ledPin = 2; (常量变量):变量声明。定义了一个只读的整数变量。有类型检查,更安全,是现代 C++ 推荐的写法。

在嵌入式开发中两者都很常见,为了节省极其有限的内存资源,老派程序员更倾向于使用 #define

b. 上传程序

c. 观察结果

五、常见问题解决

5.1 上传失败问题

问题1: A fatal error occurred: Failed to connect to ESP32

解决: 按住 BOOT 按钮,点击上传,当出现 "Connecting..." 时松开。

问题2: Timed out waiting for packet header

解决: 降低上传波特率(921600 → 115200)。

5.2 驱动问题

问题: 端口不显示或显示为未知设备

解决:

  1. 检查 USB 线是否支持数据传输。
  2. 重新安装 USB 驱动。
  3. 尝试不同 USB 端口。

5.3 编译问题

问题: 编译错误,缺少库文件

解决:

  1. 清理临时文件(项目 → 清理)。
  2. 重启 Arduino IDE。
  3. 重新安装 ESP32 开发板支持。

六、课后思考

🤔 思考题:

  • Arduino IDE 的 "串口监视器" (Serial Monitor) 中的波特率 (Baud Rate) 如果设置得和代码中 Serial.begin(115200) 不一致,会发生什么现象?为什么?
  • 尝试修改代码中的 delay(1000) 数值,观察 LED 闪烁频率的变化。