news 2026/10/8 22:49:42

[开源]基于STM32单片机WiFi语音识别垃圾分类系统 Onenet语音分类垃圾桶 云平台智能垃圾分类系统 app垃圾桶火灾预防设计HK-024

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[开源]基于STM32单片机WiFi语音识别垃圾分类系统 Onenet语音分类垃圾桶 云平台智能垃圾分类系统 app垃圾桶火灾预防设计HK-024

1、前言

本设计以STM32F103C8T6单片机为主控芯片,WIFI模块ESP8266-01S作为通信模块连接onenet云平台,通过通过MQ-2烟雾传感器检测烟雾浓度是否正常,预防垃圾桶火灾发生。OLED屏幕显示烟雾浓度、当前厨余垃圾,其他垃圾,有害垃圾,可回收垃圾状态和是否满溢。当一级口令识别之后,二级口令说出垃圾的名字,语音识别模块自动识别此垃圾的类型,语音播报出垃圾种类(四种类型:厨余垃圾,其他垃圾,有害垃圾,可回收垃圾。也可自己定位垃圾得类型)并且垃圾桶打开(舵机模拟垃圾桶打开,并在十秒钟自动复位,模拟垃圾桶关闭)。通过WIFI连接ONENET云平台,手机APP连接ONENET云平台,APP可以查看当前环境信息数据,可调节阈值范围。操作简单易懂,手把手教小白完成整套设计,UniAPP开发环境搭建非常简单,可打包生成手机APP。

2、元器件组成

本设计由STM32F103C8T6单片机+WIFI模块ESP8266-01S+OLED屏幕+语音识别模块+JQ8400语音播报模块+红外光电传感器+SG90舵机+MQ-2烟雾传感器+电源电路 组成

3、功能简介

1、火灾预防:通过MQ-2烟雾传感器检测烟雾浓度是否正常,预防垃圾桶火灾发生。
2、屏幕显示:OLED屏幕显示烟雾浓度、当前厨余垃圾,其他垃圾,有害垃圾,可回收垃圾状态和是否满溢。
3、语音唤醒:通过一级口令唤醒语音识别识别功能后,语音回复”您好”。
4、垃圾分类:当一级口令识别之后,二级口令说出垃圾的名字,语音识别模块自动识别此垃圾的类型,语音播报出垃圾种类(四种类型:厨余垃圾,其他垃圾,有害垃圾,可回收垃圾。也可自己定位垃圾得类型)并且垃圾桶打开(舵机模拟垃圾桶打开,并在十秒钟自动复位,模拟垃圾桶关闭)。
5、桶满检测:通过红外光电传感器检测厨余垃圾,其他垃圾,有害垃圾,可回收垃圾内垃圾是否满溢,当检测到垃圾满溢时语音播报并声光提醒。
6、 远程控制:通过WIFI连接ONENET云平台,手机APP连接ONENET云平台,APP可以查看当前环境信息数据,可调节阈值范围

4、设计实现效果

哔哩哔哩视频链接:

https://www.bilibili.com/video/BV1fdpM6jE4a/?spm_id_from=333.1387.homepage.video_card.click

资料分享看文章末尾

5、设计原理图

6、设计PCB图

7、程序设计

#include "stm32f10x.h" #include "delay.h" #include "usart.h" #include "USART2/usart2.h" #include "timer.h" #include "adc.h" #include "menu.h" #include "key.h" #include "modules.h" #include "oled.h" #include "sg90.h" #include "hw.h" #include "mq2.h" #include "play.h" #include "usart3.h" #include "voice.h" /****************洪科单片机工作室******************* *** 破晓单片机 *** 项目:基于STM32单片机WiFi语音识别垃圾分类系统 *** BILIBILI:洪科单片机 *** 小红书:洪科单片机 *** 授权IP:洪科单片机 *** 淘宝:洪科单片机 *** 闲鱼:洪科单片机 *** 版本:V01.01 *** MCU:STM32F103C8T6 ******************洪科单片机***********************/ //显示界面 CaiDanJieGouTi KeyTab[SIZE_CAIDAN]= { {0 ,0 ,0 ,0 ,0 ,Main_Menu0}, / {1 ,1 ,1 ,1 ,1 ,Main_Menu1}, {2 ,2 ,2 ,2 ,2 ,Main_Menu2}, {3 ,3 ,3 ,3 ,3 ,Main_Menu3}, {4 ,4 ,4 ,4 ,4 ,Main_Menu4}, {5 ,5 ,5 ,5 ,5 ,Main_Menu5}, {6 ,6 ,6 ,6 ,6 ,Main_Menu6}, {7 ,7 ,7 ,7 ,7 ,Main_Menu7}, {8 ,8 ,8 ,8 ,8 ,Main_Menu8}, {9 ,9 ,9 ,9 ,9 ,Main_Menu9}, {10,10,10,10,10,Main_Menu10}, {11,11,11,11,11,Main_Menu11}, {12,12,12,12,12,Main_Menu12}, } ; //传感器变量声明 typedef struct { uint16_t HW1;// uint16_t HW2;// uint16_t HW3;// uint16_t HW4;// uint16_t yuyin; uint16_t smoke; }SensorModulesValue; typedef struct { uint16_t smokeTV;// }SensorThresholdValue; typedef struct { uint8_t TM1Flag; uint8_t TM2Flag; uint8_t TM3Flag; uint8_t TM4Flag; uint8_t SG1Flag; uint8_t SG2Flag; uint8_t SG3Flag; uint8_t SG4Flag; uint8_t YC1Flag; uint8_t YC2Flag; uint8_t YC3Flag; uint8_t YC4Flag; uint8_t BB1Flag; uint8_t BB2Flag; uint8_t BB3Flag; uint8_t BB4Flag; uint8_t BB5Flag; uint8_t LJTKZ1; uint8_t LJTKZ2; uint8_t LJTKZ3; uint8_t LJTKZ4; }DriveFlag; int main(void) { delay_init(); TIM3_Int_Init(499,7199);//1MS系统定时 OLEDGUI_Config(); //OLED初始化 OLEDGUI_DispString(30,0,"Init...",16,1); key_Init();//按键初始化 Adc_Init();//Adc初始化 MQ2_Init();//MQ2初始化 HW_Init(); //HW初始化 SG90_Init(); SG90_SetAngle(0); delay_ms(100); delay_ms(100); uart2_init(115200); delay_ms(100); uart1_init(115200); delay_ms(100); OLEDGUI_DispString(0,0,"Hardware init OK",16,1); //WiFi初始化 ESP8266_Init(); //初始化ESP8266 OLEDGUI_Clear(); //OLED清屏 OLEDGUI_DispString(0,0,"Connect MQTTs Server...",16,1); while(ESP8266_SendCmd(ESP8266_ONENET_INFO, "CONNECT")) DelayXms(500); OLEDGUI_DispString(0,16,"Connect MQTT Server Success",16,1); DelayXms(500); OLEDGUI_Clear(); //OLED清屏 OLEDGUI_DispString(0,0,"Device login ...",16,1); while(OneNet_DevLink()) //接入OneNET { OLEDGUI_DispString(0,32,"CONNECT",16,1); ESP8266_SendCmd(ESP8266_ONENET_INFO, "CONNECT"); DelayXms(500); OLEDGUI_DispString(0,32,"CONNECT",16,1); } OneNET_Subscribe(); OLEDGUI_Clear(); //OLED清屏 SensorThresholdSet();//阈值设置 SensorDataGet(); //获取传感器数据 OLEDGUI_Clear(); while(1) { //获取按键值 key_scan(); //进入菜单界面显示处理数据 GetKeylnput(&Keystatus); //获取传感器数据 SensorDataGet(); delay_ms(100); } }

8、设计包含内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/8 22:45:44

Codex 智能体:AI 编程从写代码到改仓库,工作流重构实战

DevDay 这种发布会刷屏的时候,我一般不太急着追。二十多项更新看着热闹,但真正值得我放下手里的活去试的,通常只有一两条。这次也一样——模型又变强了、API 又降价了、平台又多了几个新工具,可这些东西说到底都是在“原来的玩法”…

作者头像 李华
网站建设 2026/10/8 22:43:19

制造业企业宣传片全链路落地实战指南

在制造业的资本市场上,一场无声的较量正在上演。当两家技术实力相当的精密设备厂商同台路演,决定投资人最终倾向的,往往不再是枯燥的财报数据,而是谁能用更直观的视觉语言讲清楚“技术壁垒”在哪里。很多创始人都有过这样的经历&a…

作者头像 李华
网站建设 2026/10/8 22:41:04

基于Flask的毕业生就业管理系统设计与实践

1. 毕业生就业管理系统到底要做什么1.1 项目本质:帮谁解决什么问题先把这个标题拆开看。基于 Flask 框架、用 Python 写、做的是毕业生就业管理系统,这三件事放在一起,实际上指向的是高校就业办、二级学院辅导员和应届毕业生这三类角色的日常…

作者头像 李华
网站建设 2026/10/8 22:40:19

国产化边端AI模组怎么选?主流架构与工程化选型指南

在工业智能化与自主可控需求驱动下,边端计算正从简单的数据采集转发向本地高实时AI推理演进。自动化产线、智能巡检装备及电力能源监测节点对核心板卡的可靠性提出了更高要求,国产化边端AI模组已成为方案商关注的核心硬件。面对不同的指令集架构与算力规…

作者头像 李华
网站建设 2026/10/8 22:40:10

C++多态的原理

C多态的原理一.虚函数表指针二 .多态是如何实现的一.虚函数表指针 下面编译为32位程序的运行结果是什么&#xff08;&#xff09; A.编译报错 B. 运行报错 C.8 D.12 class Base { public:virtual void Func1(){cout << "Func1()" << endl;} protected:…

作者头像 李华