语音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 软件资料链接:乐鑫语音藤球灯

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/288600.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL常见面试题总结

1.MySQL基础 1.1什么是关系型数据库? 顾名思义,关系型数据库(RDB,Relational Database)就是一种建立在关系模型的基础上的数据库。关系模型表明了数据库中所存储的数据之间的联系(一对一、一对多、多对多…

大连理工大学软件学院2022年秋季学期《矩阵与数值分析》上机作业

文章目录 《计算机科学计算》第二版162页第12题(1)162页第16题216页第12题 《数值分析方法与应用》一、基础知识部分1、5、 二、线性方程组求解2、6、 三、非线性方程组求解1、4、 四、插值与逼近1、5、7、 五、数值积分2、 六、微分方程数值解法1、 《计…

轻松上手:Postman Interceptor 插件使用指南

什么是 Postman? Postman 是一种用于测试和开发 API 的工具,让开发者可以轻松地构建、发送、调试 HTTP 请求,并检查响应结果。通过Postman,开发者可以在不编写代码的情况下快速测试 API 的正确性和可靠性。Postman 还支持协作和自…

单片机原理及应用:独立式键盘控制LED与多功能按键识别

今天来介绍另一个外设——按键与LED的配合工作,与开关不同,按键需要注意消除抖动带来的影响,代码逻辑也会更复杂一写,下面先为大家介绍独立式键盘的相关知识。 单片机的独立式键盘指的是一种不依赖于计算机或其他外部设备的键盘输…

Java 第19章 IO流 课堂练习+本章作业

文章目录 Buffered流拷贝二进制文件创建文件写入文本读取文本文件存读Properties文件 Buffered流拷贝二进制文件 package com.hspedu.chapter19.outputStream;import java.io.*;public class BufferedCopy02 {public static void main(String[] args) {String srcFilePath &q…

【技巧】IDEA 使用小技巧(三)

IDEA 使用小技巧(三) 配置目录Ctrl 鼠标方法缩小字体 配置目录 IDEA 在使用的过程中会在 C 盘的用户目录下写入相关配置,目录如下: "C:\Users\个人用户名\AppData\Local\JetBrains" "C:\Users\个人用户名\AppDa…

AutoPDMS的工程文件突然不见了……

1.用户好不容易一个工程的应力分析计算通过,不料,第二天使用时提示以下信息,对用户来说简直如同噩梦降临。 分析:要么用户移动了文件,要么用户删除了文件,用户两者都否定。无论怎么样文件不会莫名不见了&am…

opencv入门到精通——图像梯度

目录 目标 理论 1. Sobel 和 Scharr 算子 2. Laplacian 算子 代码 一个重要事项 目标 在本章中,我们将学习: 查找图像梯度,边缘等 我们将看到以下函数:cv.Sobel(),cv.Scharr(),cv.Laplacian()等 理…

Ansible、Saltstack、Puppet自动化运维工具介绍

一、自动化运维工具的选择 1、为什么要用自动化运维工具? 运维的痛点: 海量的设备越来越多,每台设备单独管理需要投入更多人力; 传统运维效率低,大多工作人为完成; 传统运维工作繁琐,人工操作容易出错…

paddle v4 hubserving 部署

环境准备:https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.7/deploy/hubserving#24-%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1 服务器启动命令 hub serving start -c deploy/hubserving/ocr_system/config.json客户端请求 python tools/test_hubserving.…

黑马程序员SSM框架-Maven进阶

视频链接:Maven-01-分模块开发的意义_哔哩哔哩_bilibili 分模块开发与设计 分模块开发意义 分模块开发 依赖管理 依赖传递 依赖传递冲突问题 可以点击红框按钮查看依赖情况。 可选依赖和排除依赖 继承和聚合 聚合 聚合工程开发 继承 聚合和继承的区别 属性 属性…

[Vulnhub靶机] DriftingBlues: 2

[Vulnhub靶机] DriftingBlues: 2靶机渗透思路及方法(个人分享) 靶机下载地址: https://download.vulnhub.com/driftingblues/driftingblues2.ova 靶机地址:192.168.67.21 攻击机地址:192.168.67.3 一、信息收集 1.…

用PHP搭建一个绘画API

【腾讯云AI绘画】用PHP搭建一个绘画API 大家好!今天我要给大家推荐的是如何用PHP搭建一个绘画API,让你的网站或应用瞬间拥有强大的绘画能力!无论你是想要让用户在网页上绘制自己的创意,还是想要实现自动绘画生成特效,这…

SpringBoot 集成支付宝支付

网页操作步骤 1.进入支付宝开发平台—沙箱环境 使用开发者账号登录开放平台控制平台 2.点击沙箱进入沙箱环境 说明:沙箱环境支持的产品,可以在沙箱控制台 沙箱应用 > 产品列表 中查看。 3.进入沙箱,配置接口加签方式 在沙箱进行调试前…

Alibaba Cloud Linux镜像操作系统详解(全方位解析)

Alibaba Cloud Linux是基于龙蜥社区OpenAnolis龙蜥操作系统Anolis OS的阿里云发行版,针对阿里云服务器ECS做了大量深度优化,Alibaba Cloud Linux由阿里云官方免费提供长期支持和维护LTS,Alibaba Cloud Linux完全兼容CentOS/RHEL生态和操作方式…

RocketMQ5.0顺序消息设计实现

前言 顺序消息是 RocketMQ 提供的一种高级消息类型,支持消费者按照发送消息的先后顺序获取消息,从而实现业务场景中的顺序处理。 顺序消息的顺序关系通过消息组(MessageGroup)判定和识别,发送顺序消息时需要为每条消息…

【响应式编程-01】Lambda表达式初体验

一、简要描述 Lambda初体验Lambda表达式的语法格式Lambda表达式应用举例Lambda表达式底层实现 二、什么是Lambda表达式 Java8新特性,来源于数学中的λ[l:mdə]演算 是一套关于函数(f(x))定义、输入量、输出量的计算方案 Lambda表达式 -> 函数 使代码变得简洁…

【AI】DETR模型可视化操作

Detr作为目标检测的算法,不同于之前算法的就是注意力机制,注意力机制能够直观看出来模型对图像关注的点,这个直观到底怎么直观呢,我们只听别人说肯定是不行的,上手测试才是最好的方式,像论文中插图那样的使…

jQuery框架

1.1、jQuery简介 jQuery 是一个高效、精简并且功能丰富的 JavaScript 工具库。它提供的 API 易于使用且兼容众多浏览器,这让诸如 HTML 文档遍历和操作、事件处理、动画和 Ajax 操作更加简单。目前超过90%的网站都使用了jQuery库,jQuery的宗旨&#xff1…

CMake入门教程【核心篇】添加应用程序(add_executable)

😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「本文的内容」:CMake入门教程 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 1. 概述2. 使用方法2…