语音AI小夜灯项目

2024-01-03 21:44
文章标签 ai 项目 语音 小夜灯

本文主要是介绍语音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接口进行连接。

喇叭.png

ESP32S3带有两个I2S控制器,所有IO都可以经过内部矩阵复用为I2S引脚,大家可以随意分配。

加入震动传感器,当手拍打桌面时,也能进行不同灯光的切换,增加可玩性。震动传感器内部为弹簧结构,可以简单理解为弹簧按键。

震动传感器.png

三、器件焊接

3.1 物料清单

3.2 焊接辅助工具

焊接时可以在嘉立创EDA的PCB页面里点击顶部菜单栏的工具选择焊接辅助工具,会跳转到交互式BOM页面,实时交互显示元器件在PCB板上对应的坐标位置,可勾选隐藏或显示已焊接元器件,高效率焊接。

四、实物演示

4.1 3D渲染图

4.2 实物成品

4.3 软件资料链接:乐鑫语音藤球灯

这篇关于语音AI小夜灯项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/567149

相关文章

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音