ESP32-S3-LCD-1.85 使用教程

产品概述

产品参数

参数名称参数
接口USB Type-C / UART Type-C
主控芯片ESP32-S3
屏幕类型TFT
屏幕控制芯片Display :ST77916
板载设备姿态传感器 :QMI8658
RTC时钟 :PCF85063
Micro SD
MIC
喇叭
电池充电管理模块

接口说明

  • I2C 接口
引脚丝印功能说明
GNDGND电源地
3V33V3对外输出3.3V
SCLSCL(GPIO10)I2C 时钟线,不可用作普通GPIO
SDASDA(GPIO11)I2C 数据线,不可用作普通GPIO
  • UART 接口
引脚丝印功能说明
GNDGND电源地
3V33V3对外输出3.3V
TXDTXD(GPIO43)UART 数据发送或用作普通GPIO
RXDRXD(GPIO44)UART 数据接收或用作普通GPIO

板载功能使用

请注意,在通过提供的示例启用所有板载设备时,若想继续使用板载蓝牙设备,建议使用其他内存占用较小的音频库文件(否则会导致SRAM占用过大)

内部硬件连接


LCD

LCD引脚ESP32S3
LCD_SDA0GPIO46
LCD_SDA1GPIO45
LCD_SDA2GPIO42
LCD_SDA3GPIO41
LCD_SCKGPIO40
LCD_CSGPIO21
LCD_TEGPIO18
LCD_RSTEXIO2
LCD_BLGPIO5

SD Card

SD CardESP32S3
SD_D0 / MISOGPIO16
SD_CMD / MOSIGPIO17
SD_SCK / SCLKGPIO14
SD_D3 / CSEXIO3
SD_D1NC
SD_D2NC

QMI

QMI8658CESP32S3
IMU_SCLGPIO10
IMU_SDAGPIO11
IMU_INT1EXIO5
IMU_INT2EXIO4

RTC

PCF85063ATLESP32S3
RTC_SCLGPIO10
RTC_SDAGPIO11
RTC_INTGPIO9

MIC

BuzzerESP32S3
MIC_WSGPIO2
MIC_SCKGPIO15
MIC_SDGPIO39

喇叭

PCF85063ATLESP32S3
Speak_DINGPIO47
Speak_LRCKGPIO38
Speak_BCKGPIO48

Arduino 下使用

  • 请注意,Arduino 上的 ESP32 3.0.2 基于 ESP-IDF v5.1开发,与此前基于 ESP-IDF V4.X 有较大差异,在进行以下操作后,原先程序可以正常运行的程序可能需要进行一些调整才可使用
  • 请注意,电脑用户名必须是英文,用户名为中文会导致编译出错

搭建环境

  • 安装 Arduino IDE
  • 安装完成后打开 Arduino IDE
  • 进入首选项  File -》 Preferences
  • 添加 JSON 链接
https://espressif.github.io/arduino-esp32/package_esp32_index.json


  • 将项目文件夹修改为 C:\Users\Waveshare\AppData\Local\Arduino15\packages(其中 Waveshare 为计算机用户名)


  • 进入开发板管理器,搜索 esp32 ,在下方的 esp32 by Espressif Systems 中选择 3.0.2 版本并点击安装(若不能正常安装可使用手机热点尝试)


  • 安装完成重启 Arduino IDE 即可使用



安装库文件

  • 请注意此前是否已经安装过该库,若已安装请存档原有的库,防止运行其他程序时出现错误失败
  • 进入示例文件夹 ESP32_S3_Touch_LCD_1.85\LVGL_Arduino ,双击 LVGL_Arduino.ino 打开示例
  • 搜索lvgl库并安装(此操作为了在 Arduino 环境中搭建库文件夹,若之前已经安装过其他库,即存在以下指的文件夹则不用执行这一步)


  • 进入库文件存放路径 c:\Users\Waveshare\AppData\Local\Arduino15\packages\libraries(其中 Waveshare 为计算机用户名),不确定在哪个文件夹请进入首选项查看


  • 不清楚路径的可以这样查看  点击查看库路径
  • 删除刚才下载的 lvgl 库(若前面没有安装则忽略这一步)


  • 安装示例文件中的三个库,在示例路径中新建一个Lib 文件夹


  • 在本页面的下方将提供的 1 个库文件lvgl库)下载并解压,存放到刚才新建的Lib路径
  • 复制提供的库到 c:\Users\Waveshare\AppData\Local\Arduino15\packages\libraries(其中 Waveshare 为计算机用户名) 下


  • 继续安装 NTPClient 库


  • 安装 SensorLib 库


  • 完成库安装

示例程序

  • 重新打开示例
  • 选择型号 ESP32S3 Dev Module 与端口


  • 设置板子参数


  • 编译并烧录示例( 注意,烧录时会出现两次烧录进度,请等待提示烧录完成再操作设备)
  • 烧录成功可观察到上下两个页面
  • 页面 1 分别显示的参数如下
参数功能说明
SD Card显示 SD 卡的大小请注意,仅支持 16GB 及以下的 SD 卡
Flash Size显示 Flash 大小当前板载 16MB Flash
Angular deflection显示板子角度偏移显示三个方向的偏移
RTC Timr显示 RTC 时间显示当前 RTC 时间

RTC 时间与当前时间不一致,是因为掉电状态下并不能留存数据,如需要保持 RTC 时间正常,则需连接 RTC 电池并更新 RTC 时间

Wireless number显示扫描到的WIFI个数扫描结束会在末尾显示 Scan Finish
  • 页面 2 为播放 SD 卡根目录下的 mp3 音频的 UI 页面
  • 本示例可以通过 BOOT 按键与 PWR 按键进行部件选择,以模拟触摸功能,同时按下这两个按键则表示确定按下
  • 本程序默认启用语音识别,唤醒词为 “hi esp”,唤醒后,背光变暗后即可说出指令(背光未变暗则表示未被唤醒,识别要求较为严格,发音需要标准,语速放缓)
  • 以下提供几种格式的MIC测试音频(请注意,每次hi esp唤醒失败的话请重新将音频调至该次唤醒词播放处重新播放)
  • 测试音频中之所以播放两次唤醒词,是由于当前固件版本首次唤醒需要聚焦设备(比喻),并且当前固件并不允许关闭该功能
// 指令
Turn on the backlight
Turn off the backlight
Backlight is brightest
Backlight is darkest
  • 下方示例解析,讲述部分模块环境配置与程序说明

示例解析

MIC


实现英文识别 

   英文识别环境搭建

  • 环境初始状态默认为英文识别环境,若未转为中文,则不进行以下修改
  • 若此前有将其修改为中文识别则,下载提供的程序文件 使用英文模型的程序
  • 进入路径 C:\Users\Waveshare\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.2\libraries\ESP_SR\src (其中 Waveshare 为电脑用户名)
  • 使用下载的文件替换该路径下的 esp32-hal-sr.c
  • 下载英文模型 英文模型-唤醒词hi esp
  • 进入路径 C:\Users\Waveshare\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-bd2b9390ef\esp32s3\esp_sr (其中 Waveshare 为电脑用户名)
  • 使用下载的文件替换该路径下的 srmodels.bin
  • 将程序中的识别指令修改为英文指令(音素)


   生成英文音素

  • 下载 英文指令生成文件
  • 点击 Win + R 进入命令窗口,使用“cd 路径”进入下载的文件夹
  • 安装 en_g2p
pip install en_g2p
  • 执行 miltinet_g2p.py 文件
python miltinet_g2p.py
  • 执行 gen_sr_commands.py 生成音素指令
python gen_sr_commands.py "要转为音素的英文"
例:python gen_sr_commands.py "hello word"




实现中文识别

   中文识别环境搭建

  • 环境初始状态默认为英文识别环境,若此前未将其修改为中文识别则下载提供的程序文件 使用中文模型的程序
  • 进入路径 C:\Users\Waveshare\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.2\libraries\ESP_SR\src (其中 Waveshare 为电脑用户名)
  • 使用下载的文件替换该路径下的 esp32-hal-sr.c
  • 下载中文模型 中文模型-唤醒词hi 乐鑫
  • 进入路径 C:\Users\Waveshare\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-bd2b9390ef\esp32s3\esp_sr (其中 Waveshare 为电脑用户名)
  • 使用下载的文件替换该路径下的 srmodels.bin
  • 将程序中的识别指令修改为中文指令(拼音)


   生成中文拼音

  • 下载 中文指令生成文件
  • 点击 Win + R 进入命令窗口,使用“cd 路径”进入下载的文件夹
  • 执行 multinet_pinyin.py 生成中文拼音
python multinet_pinyin.py "要转为拼音的中文"
例:python multinet_pinyin.py "你好新中国"


资料

程序

  • 库文件

   lvgl库

  • 示例程序

   示例程序

FAQ

问题:模块出现一直复位的情况,从设备管理器查看识别状况会一闪一闪的?

这种情况可能是由于 Flash 空白导致 USB 口不稳定,可长按BOOT按键,同时按下RESET,然后松开RESET,再松开BOOT按键,此时模块可进入下载模式烧录固件(程序)即可解决该情况。


问题:模块下载程序后,重新下载,有时会出现无法连接串口,或者烧录失败的情况?

可长按BOOT按键,同时按下RESET,然后松开RESET,再松开BOOT按键,此时模块可进入下载模式,可解决大部分无法下载的问题。


技术支持

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841