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 支持。
环境设置是在 Windows 10 系统下进行,Linux 和 Mac 用户可访问 Arduino-esp32 环境搭建 参考
ESP32-S3-LCD-1.3 所需开发板安装说明
| 板名称 | 板安装要求 | 版本号要求 |
|---|---|---|
| esp32 by Espressif Systems | “离线”安装/“在线”安装 | 2.0.12 |
2. 安装库
- 在安装 Arduino 库时,通常有两种方式可供选择:在线安装 和 离线安装 。若库安装要求离线安装,则必须使用提供的库文件 。
对于大多数库,用户可以通过 Arduino 软件的在线库管理器轻松搜索并安装。然而,一些开源库或自定义库未被同步到 Arduino 库管理器中,因此无法通过在线搜索获取。在这种情况下,用户只能通过离线方式手动安装这些库。 - 库安装教程,详见:Arduino 库管理教程
- ESP32-S3-LCD-1.3 库文件存放于示例程序中,点击此处跳转:ESP32-S3-LCD-1.3 示例程序
- ESP32-S3-LCD-1.3 库文件路径:
..\ESP32-S3-LCD-1.3-Demo\Arduino\libraries
ESP32-S3-LCD-1.3 库文件安装说明
| 库名称 | 说明 | 版本 | 库安装要求 |
|---|---|---|---|
| Adafruit_NeoPixel | RGB 灯控制库 | v1.12.4 | “离线/在线”安装 |
| Arduino_GFX | Arduino 图形库 | v1.4.9 | “离线/在线”安装 |
| AnimatedGIF | GIF 图形解码库 | v2.1.1 | “离线/在线”安装 |
| ArduinoJson | Json 信息解析库 | v6.21.2 | “离线/在线”安装 |
| HttpClient | HTTP 客户端库 | v2.2.0 | “离线/在线”安装 |
| lvgl | lvgl 图形库 | v8.3.7 | “离线”安装 |
| SensorLib | QMI8658 传感器驱动库 | v0.2.6 | “离线/在线”安装 |
| TFT_eSPI | 图形库 | v2.5.0 | “离线/在线”安装 |
| Time | ESP32 定时器库 | v1.6.1 | “离线/在线”安装 |
| TJpg_Decoder | JPG 图形解码库 | v1.0.8 | “离线/在线”安装 |
| JPEGDEC | JPG 图形解码库 | v1.6.1 | “离线/在线”安装 |
| JPEGDecoder | JPG 图形解码库 | v2.0.0 | “离线/在线”安装 |
示例程序

ESP32-S3-LCD-1.3 示例程序
| 示例程序 | 基础例程说明 | 依赖库 |
|---|---|---|
| 01_AstronautClock | 太空人 GUI | TFT_eSPI,TJpg_Decoder,HTTPClient,lvgl,AnimatedGIF |
| 02_SD_Video | SD 卡播放视频 | Arduino_GFX_Library,JPEGDEC |
| 03_SDIMG_Game2048 | SD 卡图片浏览器和 Game 小游戏 | TFT_eSPI,JPEGDecoder,Adafruit_NeoPixel,Sensor,lvgl |
| 04_Snake | 贪吃蛇小游戏 | TFT_eSPI,Sensor |
| 05_WIFI_AP | ESP32S3 作为 AP | - |
| 06_WIFI_STA | ESP32S3 作为 STA | - |
Arduino 工程参数设置

01_AstronautClock
【程序说明】
- 通过联网实现太空人表盘 UI 界面;进入该目录后,可以看到两个示例:AstronautClock_NoPrism 和 AstronautClock_Prism,前者适用于无棱镜版本,而后者适用于带棱镜版本。
【硬件连接】
- 使用 USB 线把板子接入电脑

【代码分析】
-
在**
AstronautClock_NoPrism.ino** 文件找到**ssid** 和**password** ,然后将其修改为当前环境中可用路由器的 SSID 和 Password。const char *ssid = "you_ssid";const char *password = "you_password";
【运行效果】

02_SD_Video
【程序说明】
- 通过读取 SD 卡里面的视频文件,然后播放到界面上;进入该目录后,可以看到两个示例:SD_Video_NoPrism 和 SD_Video_Prism,前者适用于无棱镜版本,而后者适用于带棱镜版本。
【硬件连接】
- 使用 USB 线把板子接入电脑

【代码分析】
- 把 Data 目录下的 mjpeg 文件拷贝到 SD 卡,然后把 SD 卡插入开发板,最后烧录该示例程序。
【运行效果】

03_SDIMG_Game2048
【程序说明】
- 读取 SD 卡里面的图片然后快速渲染到屏幕上,渲染完 SD 卡所有的图片之后进入 Game2048 小游戏界面。
【硬件连接】
- 使用 USB 线把板子接入电脑

【代码分析】
- 目前,图片显示仅支持 JPG 格式。开发板内置 QMI 传感器,可通过调整开发板角度来控制小游戏的移动。
【运行效果】

04_Snake
【程序说明】
- 该示例是一个具有高度参考价值和可玩性的贪吃蛇小游戏。
【硬件连接】
- 使用 USB 线把板子接入电脑

【代码分析】
- 开发板内置 QMI 传感器,可通过调整开发板角度来控制小游戏的方向。
【运行效果】

05_WIFI_AP
【程序说明】
- 该示例可将开发板设置为热点,允许手机或其他处于 STA 模式的设备连接到开发板。
【硬件连接】
- 使用 USB 线把板子接入电脑

【代码分析】
-
在**
05_WIFI_AP.ino** 文件找到**ssid** 和**password** ,然后手机或其他处于 STA 模式的设备即可使用该 ssid 和 password 连接到开发板。const char *ssid = "ESP32_AP";const char *password = "12345678";
【运行效果】
烧录完程序,打开串口终端,如果设备连接成功热点之后,会输出该设备的 MAC 地址,如图:

06_WIFI_STA
【程序说明】
- 该示例可将开发板配置为 STA 设备,以连接路由器,从而接入系统网络。
【硬件连接】
- 使用 USB 线把板子接入电脑

【代码分析】
-
在**
06_WIFI_STA.ino** 文件找到**ssid** 和**password** ,然后将其修改为当前环境中可用路由器的 SSID 和 Password。const char *ssid = "you_ssid";const char *password = "you_password";
【运行效果】
烧录完程序,打开串口终端,如果设备连接成功热点之后,会输出所获取的 IP 地址,如图:
