基于ESP32的语音识别控制AI小夜灯
1 项目简介
使用ESP32-S3N8R8模块作为主控芯片,S3内核增加了用于加速神经网络计算和信号处理等的指令,这使得我们可以使用它来快速解析训练好的语音模型进行语音识别的功能。
卧贴TYPEC
2 原理解析
本项目由四个部分组成,电源部分、LED照明部分、主控部分、语音识别拓展部分,本项目主要是通过麦克风接收语音信号并进行处理,提取人声进行解析比较,当声音符合指令后,进行对应的控制操作。
LDO-3.3V
2.1 电源电路
采用TYPE-C-16P 接口作为供电接口,同时使用对应的USB 数据引脚接入S3 对应的USB 引脚处(USBD+IO20),(USBD-IO19),直接使用USB 作为下载和调试,无需转换为串口信号。在CC1 和CC2 引脚处加入5.1 K下拉电阻,便于不同主机识别和配置。
使用AMS1117 作为5 V转3.3 V降压LDO,ESP32S3在开启无线射频或做语音解析运算时,消耗电流较大,再加上有其余外设电路的存在,在进行电源芯片选型时,因选择输出电流至少在600 mA 以上的,AMS1117 输出电流为1A,能够满足。
RGB LED*4
2.2 LED照明电路
使用四个RGB 三色灯分布在板的四周,通过改变RGB三色灯不同颜色的亮度可以获得不同的显示效果。这里考虑到红灯、蓝灯、绿灯在所需电流上不一致,使用不同的电阻分开串联在对应的支路上,后续可以通过调整阻值来使亮度达到统一。同时将每一个颜色的灯串在一起,通过SI2302N沟道mos管进行统一导通和关闭,也可以通过PWM 控制导通时间来进行亮度调整。
主控
2.3 主控部分
使用ESP32S3N8R8模组作为主控芯片,这里需要注意,如果需要进行语音识别,所需的资源库是比较大的,建议选择Flash 和PSRAM在8M以上。注意在带有OSPI PSRAM(即内置芯片为ESP32-S3R8 及以上)的模组中,管脚IO35,IO36,IO37 用于连接至模组内部集成的OSPI PSRAM,不可用于其他功能,这里我们需要在对应引脚上打上非连接标识。
在ESP32S3 中,一共有4 个Strapping 引脚,在进行引脚分配时,尽可能不要去在这些引脚处加入上拉或下拉电阻去改变它的默认状态。
有OSPI PSRAM(即内置芯片为ESP32-S3R8 及以上)的模组中,管脚IO35,IO36,IO37用于连接至模组内部集成的OSPI PSRAM,不可用于其他功能,这里我们需要在对应引脚上打上非连接标识。
在ESP32S3中,一共有4个Strapping 引脚,在进行引脚分配时,尽可能不要去在这些引脚处加入上拉或下拉电阻去改变它的默认状态。
BOOT&复位按键
2.4 语音识别拓展部分
使用I2S 数字硅麦克风接收语音信号,在I2S 信号线处,为了获得更好的抗干扰效应,可以尝试串联小电阻进行阻抗匹配。
使用I2S信号的D类功放芯片进行语音输出,在声音输出路径中,加入磁珠与电容组成LC 滤波电路,降低输出干扰。外部喇叭使用GH1.25*2P接口进行连接。
数字功放喇叭
ESP32S3带有两个I2S控制器,所有IO都可以经过内部矩阵复用为I2S引脚,大家可以随意分配。
加入震动传感器,当手拍打桌面时,也能进行不同灯光的切换,增加可玩性。震动传感器内部为弹簧结构,可以简单理解为弹簧按键。
数字硅麦克风
3 器件焊接
3.1 物料清单序号名称位号封装参数数量器件编号:
3.2 焊接辅助工具
焊接时可以在嘉立创EDA的PCB页面里点击顶部菜单栏的工具选择焊接辅助工具,会跳转到交互式BOM页面,实时交互显示元器件在PCB 板上对应的坐标位置,可勾选隐藏或显示已焊接元器件,高效率焊接。
4 实物演示
4.1 3D渲染图
4.2 实物成品
4.3 软件资料链接:乐鑫语音藤球灯
(本文来源于《EEPW》202504)