ESP32-S3-Touch-LCD-1.46
来自Waveshare Wiki
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
说明
产品概述
产品参数
参数名称 | 参数 |
接口 | USB Type-C / UART Type-C |
主控芯片 | ESP32-S3 |
屏幕类型 | TFT |
屏幕控制芯片 | Display :SPD2010 |
Touch :SPD2010 | |
板载设备 | 姿态传感器 :QMI8658 |
RTC时钟 :PCF85063 | |
Micro SD | |
MIC | |
喇叭 | |
电池充电管理模块 | |
产品尺寸 | 73.06(H)x 50.54(V) mm |
接口说明
- I2C 接口
引脚丝印 | 功能 | 说明 |
GND | GND | 电源地 |
3V3 | 3V3 | 对外输出3.3V |
SCL | SCL(GPIO10) | I2C 时钟线,不可用作普通GPIO |
SDA | SDA(GPIO11) | I2C 数据线,不可用作普通GPIO |
- UART 接口
引脚丝印 | 功能 | 说明 |
GND | GND | 电源地 |
3V3 | 3V3 | 对外输出3.3V |
TXD | TXD(GPIO43) | UART 数据发送或用作普通GPIO |
RXD | RXD(GPIO44) | UART 数据接收或用作普通GPIO |
板载功能使用
请注意,在通过提供的示例启用所有板载设备时,若想继续使用板载蓝牙设备,建议使用其他内存占用较小的音频库(否则会导致SRAM占用过大)
内部硬件连接
LCD
LCD引脚 | ESP32S3 |
LCD_SDA0 | GPIO46 |
LCD_SDA1 | GPIO45 |
LCD_SDA2 | GPIO42 |
LCD_SDA3 | GPIO41 |
LCD_SCK | GPIO40 |
LCD_CS | GPIO21 |
LCD_TE | GPIO18 |
LCD_RST | EXIO2 |
LCD_BL | GPIO5 |
TP_SDA | GPIO11 |
TP_SCL | GPIO10 |
TP_INT | GPIO4 |
TP_RST | EXIO1 |
SD Card
SD Card | ESP32S3 |
SD_D0 | GPIO16 |
SD_CMD | GPIO17 |
SD_SCK | GPIO14 |
SD_D3 | EXIO3 |
SD_D1 | NC |
SD_D2 | NC |
QMI
QMI8658C | ESP32S3 |
IMU_SCL | GPIO10 |
IMU_SDA | GPIO11 |
IMU_INT1 | EXIO5 |
IMU_INT2 | EXIO4 |
RTC
PCF85063ATL | ESP32S3 |
RTC_SCL | GPIO10 |
RTC_SDA | GPIO11 |
RTC_INT | GPIO9 |
MIC
Buzzer | ESP32S3 |
MIC_WS | GPIO2 |
MIC_SCK | GPIO15 |
MIC_SD | GPIO39 |
喇叭
PCF85063ATL | ESP32S3 |
Speak_DIN | GPIO47 |
Speak_LRCK | GPIO38 |
Speak_BCK | GPIO48 |
Arduino 下使用
- 请注意,Arduino 上的 ESP32 3.0.2 基于 ESP-IDF v5.1开发,与此前基于 ESP-IDF V4.X 有较大差异,在进行以下操作后,原先可以正常运行的程序可能需要进行一些调整才可使用
- 请注意,电脑用户名必须是英文,用户名为中文会导致编译出错
搭建环境
- 安装 Arduino IDE
- 安装完成后打开 Arduino IDE
- 进入首选项
- 添加 JSON 链接
https://espressif.github.io/arduino-esp32/package_esp32_index.json
- 进入开发板管理器,搜索 esp32 ,在下方的 esp32 by Espressif Systems 中选择 3.0.2 版本并点击安装(若不能正常安装可使用手机热点尝试)
- 安装完成重启 Arduino IDE 即可使用
环境搭建失败处理步骤
- 安装 3.0.2 版本失败
- 下载资源文件
链接: https://pan.baidu.com/s/1ppl7ZU2NSTY_TfFzs1pDWA 提取码: 0755
- 从资源管理器按路径 “c:\Users\Waveshare\AppData\Local\Arduino15\staging\packages” 进入(其中 Waveshare 为计算机用户名,需要开启显示隐藏文件)
- 将上方下载的文件解压至 packages 文件夹下
- 重新执行安装操作
- 安装完成重启 Arduino IDE 即可使用
修改项目文件夹路径
- 进入首选项
- 记录当前项目文件夹路径( 记录这个路径 后面要用到!!! 可以新建一个txt文件存放)
- 将修改项目文件夹路径为 下载的 示例程序 路径(请注意,示例程序存放的路径不能包含中文)
方式2:移植到现有项目下使用
说明:项目文件夹区分的是我们安装的库文件的位置,在工程编译时会根据引用的头文件去项目文件夹路径下的 libraries 文件夹查找库文件,所以修改项目文件夹路径就是为了确定工程编译时查找库文件要去哪个位置查找,默认的项目文件夹路径为 c:\Users\Waveshare\Documents\Arduino(Waveshare 为电脑用户名)即库文件存放的是在c:\Users\Waveshare\Documents\Arduino\librarie。
恢复项目文件夹路径
- 若有根据 方式1:直接使用Waveshare示例 操作过,则进行 恢复项目文件夹路径 ,否则忽略该小节内容
- 进入首选项,将项目文件夹路径修改为原来的路径(在上面的修改项目文件夹路径中要求记录的原路径,这边原本是 c:\Users\Waveshare\Documents\Arduino,具体根据客户上面记录的)
安装库文件
- 请注意此前是否已经安装过该库,若已安装,请存档原有的库,防止运行其他程序时出现错误失败
- 打开 Arduino IDE
- 搜索lvgl库并安装(此操作为了在 Arduino 环境中搭建库文件夹,若之前已经安装过其他库,即存在以下指的文件夹则不用执行这一步)
- 查看项目文件夹路径并进入文件夹
- 可以看到 libraries 文件夹(上面安装lvgl的目的就是为了生成项目文件夹下的 libraries 文件夹)
- 进入 libraries 文件夹,删除刚才下载的 lvgl 库(若前面没有安装则忽略这一步)
- 打开示例程序下的 libraries 文件夹
- 将文件夹内的库文件,复制到项目文件夹下的 libraries 文件夹下
示例程序
- 重新打开示例
- 选择型号 ESP32S3 Dev Module 与端口
- 设置板子参数
- 编译并烧录示例( 注意,烧录时会出现两次烧录进度,请等待提示烧录完成再操作设备)
- 烧录成功可观察到两个页面
- 页面 1 分别显示的参数如下
参数 | 功能 | 说明 |
SD Card | 显示 SD 卡的大小 | 若首次获取失败,请重新连接USB 若仍旧失败,请将 SD 卡格式化为 FAT32 格式 若以上都不能解决情况,请更换 SD 卡 |
Flash Size | 显示 Flash 大小 | 当前板载 16MB Flash |
Battery Voltage | 显示电池电压值 | 未连接电池时,显示的是电池接口正极电压 |
Angular deflection | 显示板子角度偏移 | 显示三个方向的偏移 |
RTC Timr | 显示 RTC 时间 | 显示当前 RTC 时间 RTC 时间与当前时间不一致,是因为掉电状态下并不能留存数据,如需要保持 RTC 时间正常,则需连接 RTC 电池并更新 RTC 时间 |
Wireless number | 显示扫描到的WIFI个数 | 扫描结束会在末尾显示 Scan Finish |
- 页面 2 为播放 SD 卡根目录下的 mp3 音频的 UI 页面
- 本程序默认启用语音识别,唤醒词为 “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 "你好新中国"
资料
文档
原理图
程序
FAQ
按住BOOT按键,重新连接USB线,USB线连好后再松开 BOOT 按键,此时模块可进入下载模式,可解决大部分无法下载的问题。
是否有使用 USB 转 UART 工具连接 UART 引脚,或者在 Tools 中启用 USB CDC
可以同时使用,不过由于音频占用内存较大,在使用音频功能时不能同时开启
MX1.25接口 3.7V锂电池
使用我们对应接口和输出电压的就可以,容量看客户需求