跳到主要内容

Arduino 开发

本章节包含以下部分,请按需阅读:

Arduino 入门教程

初次接触 Arduino ESP32 开发,想要快速上手?我们为您准备了一套通用的 入门教程

请注意:该教程使用 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_NeoPixelRGB 灯控制库v1.12.4“离线/在线”安装
Arduino_GFXArduino 图形库v1.4.9“离线/在线”安装
AnimatedGIFGIF 图形解码库v2.1.1“离线/在线”安装
ArduinoJsonJson 信息解析库v6.21.2“离线/在线”安装
HttpClientHTTP 客户端库v2.2.0“离线/在线”安装
lvgllvgl 图形库v8.3.7“离线”安装
SensorLibQMI8658 传感器驱动库v0.2.6“离线/在线”安装
TFT_eSPI图形库v2.5.0“离线/在线”安装
TimeESP32 定时器库v1.6.1“离线/在线”安装
TJpg_DecoderJPG 图形解码库v1.0.8“离线/在线”安装
JPEGDECJPG 图形解码库v1.6.1“离线/在线”安装
JPEGDecoderJPG 图形解码库v2.0.0“离线/在线”安装

示例程序

Demo-flow-01

ESP32-S3-LCD-1.3 示例程序

示例程序基础例程说明依赖库
01_AstronautClock太空人 GUITFT_eSPI,TJpg_Decoder,HTTPClient,lvgl,AnimatedGIF
02_SD_VideoSD 卡播放视频Arduino_GFX_Library,JPEGDEC
03_SDIMG_Game2048SD 卡图片浏览器和 Game 小游戏TFT_eSPI,JPEGDecoder,Adafruit_NeoPixel,Sensor,lvgl
04_Snake贪吃蛇小游戏TFT_eSPI,Sensor
05_WIFI_APESP32S3 作为 AP-
06_WIFI_STAESP32S3 作为 STA-

Arduino 工程参数设置

ESP32-S3-LCD-1

01_AstronautClock

【程序说明】

  • 通过联网实现太空人表盘 UI 界面;进入该目录后,可以看到两个示例:AstronautClock_NoPrism 和 AstronautClock_Prism,前者适用于无棱镜版本,而后者适用于带棱镜版本。

【硬件连接】

  • 使用 USB 线把板子接入电脑

ESP32-S3-LCD-1

【代码分析】

  • 在**AstronautClock_NoPrism.ino** 文件找到**ssid** 和**password** ,然后将其修改为当前环境中可用路由器的 SSID 和 Password。

    const char *ssid = "you_ssid";
    const char *password = "you_password";

【运行效果】

ESP32-S3-LCD-1

02_SD_Video

【程序说明】

  • 通过读取 SD 卡里面的视频文件,然后播放到界面上;进入该目录后,可以看到两个示例:SD_Video_NoPrism 和 SD_Video_Prism,前者适用于无棱镜版本,而后者适用于带棱镜版本。

【硬件连接】

  • 使用 USB 线把板子接入电脑

ESP32-S3-LCD-1

【代码分析】

  • 把 Data 目录下的 mjpeg 文件拷贝到 SD 卡,然后把 SD 卡插入开发板,最后烧录该示例程序。

【运行效果】

ESP32-S3-LCD-1

03_SDIMG_Game2048

【程序说明】

  • 读取 SD 卡里面的图片然后快速渲染到屏幕上,渲染完 SD 卡所有的图片之后进入 Game2048 小游戏界面。

【硬件连接】

  • 使用 USB 线把板子接入电脑

ESP32-S3-LCD-1

【代码分析】

  • 目前,图片显示仅支持 JPG 格式。开发板内置 QMI 传感器,可通过调整开发板角度来控制小游戏的移动。

【运行效果】

ESP32-S3-LCD-1

04_Snake

【程序说明】

  • 该示例是一个具有高度参考价值和可玩性的贪吃蛇小游戏。

【硬件连接】

  • 使用 USB 线把板子接入电脑

ESP32-S3-LCD-1

【代码分析】

  • 开发板内置 QMI 传感器,可通过调整开发板角度来控制小游戏的方向。

【运行效果】

ESP32-S3-LCD-1

05_WIFI_AP

【程序说明】

  • 该示例可将开发板设置为热点,允许手机或其他处于 STA 模式的设备连接到开发板。

【硬件连接】

  • 使用 USB 线把板子接入电脑

ESP32-S3-LCD-1

【代码分析】

  • 在**05_WIFI_AP.ino** 文件找到**ssid** 和**password** ,然后手机或其他处于 STA 模式的设备即可使用该 ssid 和 password 连接到开发板。

    const char *ssid = "ESP32_AP";
    const char *password = "12345678";

【运行效果】

烧录完程序,打开串口终端,如果设备连接成功热点之后,会输出该设备的 MAC 地址,如图:

ESP32-S3-LCD-1

06_WIFI_STA

【程序说明】

  • 该示例可将开发板配置为 STA 设备,以连接路由器,从而接入系统网络。

【硬件连接】

  • 使用 USB 线把板子接入电脑

ESP32-S3-LCD-1

【代码分析】

  • 在**06_WIFI_STA.ino** 文件找到**ssid** 和**password** ,然后将其修改为当前环境中可用路由器的 SSID 和 Password。

    const char *ssid = "you_ssid";
    const char *password = "you_password";

【运行效果】

烧录完程序,打开串口终端,如果设备连接成功热点之后,会输出所获取的 IP 地址,如图:

ESP32-S3-LCD-1