# 基于STM32单片机智能垃圾桶自动识别各类垃圾 **Repository Path**: allen-1026/STM32_Rubbish ## Basic Information - **Project Name**: 基于STM32单片机智能垃圾桶自动识别各类垃圾 - **Description**: 1、离线语音识别识别垃圾种类并且垃圾桶自动翻盖 说出唤醒词“垃圾桶”后,再说一句垃圾名称,语音识别模块端识别到相应关键词,便会将结果通过串口发送到stm32端,stm32端接着会发送打开相应垃圾桶盖的指令,6s后,垃圾桶盖自动关闭。翻盖功能是通过stm32端控制舵机实现。 2、语音播报功能 stm32端若判断到有人说出唤醒词了,通过串口发送指令给语音播报模块,外放喇叭便会播报“你好”的音频,若判断到相应的垃圾种类,便会播报相应的垃圾种类音频。 3、APP/网页端远程控制垃圾桶 stm32端通过串口连接wifi模块esp8266-01s,接入onenet云平台,实现联网功能,通过云端下达指令给设备,从而控制垃圾桶实现翻盖及控制继电器通断。 4、OLED屏显示信息 OLED屏可以显示作者的相关信息、及每次语音播报也会显示相应文字信息。 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2022-04-19 - **Last Updated**: 2022-04-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于STM32单片机智能垃圾桶自动识别各类垃圾 #### 介绍 1、离线语音识别识别垃圾种类并且垃圾桶自动翻盖 说出唤醒词“垃圾桶”后,再说一句垃圾名称,语音识别模块端识别到相应关键词,便会将结果通过串口发送到stm32端,stm32端接着会发送打开相应垃圾桶盖的指令,6s后,垃圾桶盖自动关闭。翻盖功能是通过stm32端控制舵机实现。 2、语音播报功能 stm32端若判断到有人说出唤醒词了,通过串口发送指令给语音播报模块,外放喇叭便会播报“你好”的音频,若判断到相应的垃圾种类,便会播报相应的垃圾种类音频。 3、APP/网页端远程控制垃圾桶 stm32端通过串口连接wifi模块esp8266-01s,接入onenet云平台,实现联网功能,通过云端下达指令给设备,从而控制垃圾桶实现翻盖及控制继电器通断。 4、OLED屏显示信息 OLED屏可以显示作者的相关信息、及每次语音播报也会显示相应文字信息。 #### 软件架构 软件架构说明 ## 硬件原理及开发板 开发板用到的是STM32F103C8T6最小系统板。各个模块间都是通过串口和主控进行通信。硬件电路上的连接画一个PCB接口板即可,所有模块都可以通过排针或排母直接插上去。由于用到了4个舵机,所以整个系统的供电系统需要用5V2A的电源适配器。所用到的各个模块材料清单如图2-1。电路原理图如图2-2。系统整体框图如图2-3。 #### 材料清单 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0319/214605_61f74c05_8645630.png "屏幕截图.png") #### 电路原理图 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0319/214422_4eca325a_8645630.png "屏幕截图.png") #### 系统整体框图 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0319/214507_5aebffb9_8645630.png "屏幕截图.png") ### 模块介绍 1、STM32F103C8T6最小系统板 又便宜、又熟悉的最小系统板,没什么好介绍的啦,成品图如图3-1 #### 最小系统板成品图 ![](https://images.gitee.com/uploads/images/2021/0319/214649_373b75d4_8645630.png "屏幕截图.png") #### 2、语音播报模块JQ8400FL-10P 这个模块价格低廉、上手容易、支持串口控制,使用前只需将录好的音频文件正确命名,通过microUSB线拷贝到模块内存中即可。成品如图3-2。 #### 语音播报模块成品图 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0319/214709_bb133870_8645630.png "屏幕截图.png") ### 3、ld3320语音识别模块 1)该模块是“语音识别模块”,可以识别所有普通话的中文,不具有语音播报功能; 2)用LD3320语音识别芯片,该芯片集成语音信号采集、识别算法; 3)模块上有一个单片机(STC11L08XE),单片机和LD3320语音模块进行SPI通信。实现识别语音的功能; 4)单片机共引出16个单片机10口,无需配套其他单片机可独自完成工作; 5)如需配合其他单片机、开发板使用。可以利用模块的串口输出功能; 6)直接修改模块上单片机程序里的拼音,即可修改语音识别的词条。一级口令、二级口令均可修改,并配套有详细操作视频; ![输入图片说明](https://images.gitee.com/uploads/images/2021/0319/214737_389c8130_8645630.png "屏幕截图.png") ### 4、wifi模块ESP8266-01s ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi无线网络上,进行互联网或局域网通信,实现联网功能。在模块资料文件里,我会放这个模块的使用方法,onenet平台操作及我自己的安卓APP安装包,实现远程控制。 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0319/214742_d1b7181e_8645630.png "屏幕截图.png") ### 5、OLED显示屏 0.96寸、IIC通信、128*64液晶屏模块。 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0319/214746_19f24d23_8645630.png "屏幕截图.png") #### 软件流程 1、主程序流程如下: ![输入图片说明](https://images.gitee.com/uploads/images/2021/0319/214813_2607d93f_8645630.png "屏幕截图.png") 2、语音识别流程: ![输入图片说明](https://images.gitee.com/uploads/images/2021/0319/214821_1545e513_8645630.png "屏幕截图.png") ##### 调试的一些经验总结 1、测试环境不能有持续的嘈杂音、否则语音模块就会卡死。 2、外放小喇叭放远点、并且方向不能对着语音识别模块的麦克风,否则会容易误判。可以将喇叭给拔掉来验证功能。 3、需要使用5v2a的电源适配器供电。 4、舵机连接diy垃圾桶可以用热熔胶固定结构件。舵机要用大扭矩的,扭矩小了会带不动而且发热严重。 5、使用Onenet云平台要注意在代码里设置自己的热点名和修改平台账号密码。数据流要和平台里自己写的一致。 #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)