语音 AI 小夜灯项目
一、项目简介
使用 ESP32-S3N8R8 模块作为主控芯片,S3 内核增加了用于加速神经网络计算和信号处理等的指令,这使得我们可以使用它来快速解析训练好的语音模型进行语音识别的功能。
二、原理解析
本项目由四个部分组成,电源部分、LED 照明部分、主控部分、语音识别拓展部分,本项目主要是通过麦克风接收语音信号并进行处理,提取人声进行解析比较,当声音符合指令后,进行对应的控制操作。
2.1 电源电路
采用 TYPE-C-16P 接口作为供电接口,同时使用对应的 USB 数据引脚接入 S3 对应的 USB 引脚处(USBD+ IO20),(USBD- IO19),直接使用 USB 作为下载和调试,无需转换为串口信号。在 CC1 和 CC2 引脚处加入 5.1K 下拉电阻,便于不同主机识别和配置。
使用 AMS1117 作为 5V 转 3.3V 降压 LDO,ESP32S3 在开启无线射频或做语音解析运算时,消耗电流较大,再加上有其余外设电路的存在,在进行电源芯片选型时,因选择输出电流至少在 600mA 以上的,AMS1117 输出电流为 1A,能够满足。
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 引脚,在进行引脚分配时,尽可能不要去在这些引脚处加入上拉或下拉电阻去改变它的默认状态。
2.4 语音识别拓展部分
使用 I2S 数字硅麦克风接收语音信号,在 I2S 信号线处,为了获得更好的抗干扰效应,可以尝试串联小电阻进行阻抗匹配。
使用 I2S 信号的 D 类功放芯片进行语音输出,在声音输出路径中,加入磁珠与电容组成 LC 滤波电路,降低输出干扰。外部喇叭使用 GH1.25*2P 接口进行连接。
ESP32S3 带有两个 I2S 控制器,所有 IO 都可以经过内部矩阵复用为 I2S 引脚,大家可以随意分配。
加入震动传感器,当手拍打桌面时,也能进行不同灯光的切换,增加可玩性。震动传感器内部为弹簧结构,可以简单理解为弹簧按键。
三、器件焊接
3.1 物料清单
3.2 焊接辅助工具
焊接时可以在嘉立创 EDA 的 PCB 页面里点击顶部菜单栏的工具选择焊接辅助工具,会跳转到交互式 BOM 页面,实时交互显示元器件在 PCB 板上对应的坐标位置,可勾选隐藏或显示已焊接元器件,高效率焊接。
四、实物演示
4.1 3D 渲染图
4.2 实物成品
4.3 软件资料链接:乐鑫语音藤球灯
版权声明: 本文为 InfoQ 作者【攻城狮Wayne】的原创文章。
原文链接:【http://xie.infoq.cn/article/f2c20de65e06058a9201c46fb】。文章转载请联系作者。
评论