Arduino 开发
本章节包含以下部分,请按需阅读:
Arduino 入门教程
初次接触 Arduino ESP32 开发,想要快速上手?我们为您准备了一套通用的 入门教程。
- 第0节 认识 ESP32
- 第1节 安装和配置 Arduino IDE
- 第2节 Arduino 基础知识
- 第3节 数字输出/输入
- 第4节 模拟输入
- 第5节 脉冲宽度调制 (PWM)
- 第6节 串行通信 (UART)
- 第7节 I2C 通信
- 第8节 SPI 通信
- 第9节 Wi-Fi 基础用法
- 第10节 网页服务器
- 第11节 蓝牙 (Bluetooth)
- 第12节 LVGL 图形界面开发
- 第13节 综合项目
请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。
配置开发环境
1. 安装和配置 Arduino IDE
请参考 安装和配置 Arduino IDE 教程 下载安装 Arduino IDE 并添加 ESP32 支持。
2. 其他提示
- 在开发板管理器中,选择 "ESP32H2 Dev Module" 型号进行开发。

-
ESP32-H2-Zero 使用 ESP32-H2 原生 USB 接口,而非 UART 转 USB。对于串口通信:
-
printf()函数可直接使用; -
若要使用
Serial.println()函数,需要额外配置:在 IDE 工具菜单中启用 "USB CDC On Boot" 选项,或在代码中声明 HWCDC 对象处理 USB 串口通信。
-
示例程序
Arduino 示例程序位于示例程序包的 Arduino 目录中。
| 示例程序 | 基础例程说明 | 依赖库 |
|---|---|---|
| 01_BLE | 蓝牙调试助手可搜索到 ESP32 设备并连接 | - |
| 02_BlinkRGB | RGB 灯呼吸效果闪烁变色 | - |
| 03_UART | 使用原生 USB 端口串口打印,需开启 USB CDC On Boot | - |
| 04_Zigbee | Zigbee 通信测试 | - |
| 05_GetChipID | 读取芯片 ID | - |
| 06_lvgl8.4.0_demo | 通过 1.83inch LCD Module 实现文本效果 | lvgl8.4.0 |
| 07_lvgl9.2.2_demo | 通过 1.83inch LCD Module 实现文本效果 | lvgl9.2.2 |
| 08_1.83inch | 连接 1.83inch LCD Module 屏幕,实现颜色循环测试、触摸功能测试和图片滑动切换 | LovyanGFX 1.2.26 |
01_BLE
本示例演示 BLE 广播,在蓝牙调试助手可以搜索到 ESP32-H2-Zero 设备,连接后可在调试助手中发送信息至开发板,需开启 USB CDC On Boot。

开发板管理器 esp32 by Espressif Systems 版本为 3.3.10
运行效果
02_BlinkRGB
本示例演示板载 RGB 灯的呼吸效果,RGB 灯会闪烁并循环变色。
运行效果

03_UART
本示例通过原生 USB 端口输出串口信息。如果使用 Serial.println() 输出,需要在 Arduino IDE 中启用 "USB CDC On Boot"。

运行效果
04_Zigbee
本示例演示 Zigbee 通信测试。
参数配置
将准备烧录 light 示例的开发板配置为 Zigbee ED (End Device)。

将准备烧录 switch 示例的开发板配置为 Zigbee ZCZR (Zigbee Coordinator/Zigbee Router)。

运行效果
按下 switch 开发板的 BOOT 按键,可控制 light 开发板的 RGB LED。
05_GetChipID
本示例读取并打印芯片 ID。
运行效果
06_lvgl8.4.0_demo
本示例使用 LVGL 8.4.0、GFX_Library_for_Arduino 和 SensorLib 实现文本显示。如果需要查看串口输出,请启用 "USB CDC On Boot"。

硬件连接
| 1.83inch Touch LCD Module | ESP32-H2-Zero |
|---|---|
| VCC | 3V3 |
| GND | GND |
| LCD_DIN | GPIO2 |
| LCD_CLK | GPIO1 |
| LCD_CS | GPIO5 |
| LCD_DC | GPIO3 |
| LCD_RST | GPIO4 |
| LCD_BL | GPIO24 |
运行效果
串口监视器波特率需为 115200 才会打印以下字符串。

07_lvgl9.2.2_demo
本示例使用 LVGL 9.2.2、GFX_Library_for_Arduino 和 SensorLib 实现文本显示。如果需要查看串口输出,请启用 "USB CDC On Boot"。

硬件连接
| 1.83inch Touch LCD Module | ESP32-H2-Zero |
|---|---|
| VCC | 3V3 |
| GND | GND |
| LCD_DIN | GPIO2 |
| LCD_CLK | GPIO1 |
| LCD_CS | GPIO5 |
| LCD_DC | GPIO3 |
| LCD_RST | GPIO4 |
| LCD_BL | GPIO24 |
运行效果
串口监视器波特率需为 115200 才会打印以下字符串。

08_1.83inch
本示例演示了如何基于 ESP32-H2 开发板和 Arduino 框架驱动 1.83inch Touch LCD Module 触控液晶模组,实现颜色循环测试、CST816S 触摸功能测试,并使用 LovyanGFX 直接显示图片,支持通过左滑、右滑手势完成图片切换操作。
硬件连接
| 1.83inch Touch LCD Module | ESP32-H2-Zero |
|---|---|
| VCC | 3V3 |
| GND | GND |
| LCD_DIN | GPIO2 |
| LCD_CLK | GPIO1 |
| LCD_CS | GPIO5 |
| LCD_DC | GPIO3 |
| LCD_RST | GPIO4 |
| LCD_BL | GPIO24 |
| TP_SDA | GPIO25 |
| TP_SCL | GPIO22 |
| TP_RST | GPIO10 |
| TP_INT | GPIO11 |
运行效果
修改项目 arduino.ino 中的 DEMO_IMAGE_ALBUM 宏可切换两种演示模式:
-
当
#define DEMO_IMAGE_ALBUM 0时:-
LCD 颜色循环测试:




-
LCD 触摸测试:

-
-
当
#define DEMO_IMAGE_ALBUM 1时:-
LVGL 图片切换测试:



-
文档反馈
如在使用过程中遇到问题,欢迎留言反馈。