基于STM32的智能回收小卫士
2022-10-31吴志恒张智林龙星宇戴汉桥祝海强
吴志恒,张智林,龙星宇,戴汉桥,祝海强
(玉林师范学院物理与电信工程学院,广西玉林,537000)
0 引言
随着国家对环境的治理和以及相应可持续发展政策的实施,上海等一些一线城市纷纷制定了严格的智能回收政策,如把垃圾投错会收到罚款等。本产品设计的技术目标是制作一个具备语音识别和摄像头识别垃圾类型、并能检测自身容量向清洁工人发送清理提示功能的智能垃圾桶,是以STM32F103C8T6单片机为核心,对各种模块进行初始化处理。其性能优势是:
(a)能够正确辨别垃圾种类的人群:只需将垃圾靠近相应垃圾桶的桶盖上方,系统自动通过红外感应,随即桶盖自动打开,将垃圾放入之后,延时5s垃圾盖自动关闭。
(b)对于回收垃圾不熟悉的人群:只需说出的垃圾相应名字,使用语音模块识别或者将垃圾放在摄像头下方扫描。语音模块或者摄像头将采集的数据传回控制芯片,控制芯片进行相应的算法处理,识别垃圾种类,同时发送正确的电平信号,打开正确的相应桶盖。
(c)通过超声波检测垃圾容量:垃圾即将要满时会把信号传给GPRS,GPRS再把信息发送给环卫工人,环卫工人做出相应处理。
1 总体方案设计
智能回收小卫士是通过STM32F103C8T6单片机模块进行主控制,接收其他模块发送来的数据,并发送提示至GPRS。流程为:①控制LD3320语音模块识别垃圾的名称,为判断垃圾的类型做准备;②控制OpenMV摄像头模块扫描垃圾的外型,为判断垃圾的类型做准备。③控制红外模块检测是否需要打开智能回收小卫士的桶盖;④控制MG995舵机模块控制桶盖的开关;⑤控制超声波传感器模块检测智能回收小卫士的容量情况。当将垃圾靠近桶盖上方,系统会通过语音识别、图像识别、红外感应,进行扫描确认类型后自动打开相应垃圾桶盖。使用者将垃圾放入之后,垃圾盖延迟5s后自动关闭。当垃圾储量满时,系统将自动发信息给环卫工人,提醒及时清理垃圾,同时可播报一些感谢语或者宣传语,营造一个干净温馨的城市。本设计总体结构图如图1所示。
图1 总体方案设计图
2 硬件各功能模块的设计与实现
2.1 STM32主控模块
本设计是以STM32F103C8T6单片机为核心主控,其运算能力强、低耗能、经济实惠,降低成本的同时也能保证智能回收小卫士的工作效率。STM32F103C8T6单片机原理图如图2所示。
图2 STM32F103C8T6单片机原理图
2.2 识别及控制模块
(1)本产品的语音识别功能设计采用的是LD3320模块,该模块是由LD3320和单片机组成语音识别系统,提供多种操作方式,这可以让用户对此系统的操作更为方便、迅速。同时具有高效的语音识别功能,有很高的语言辨识度。LD3320语音模块可以非常简单的实现说出对应垃圾名字从而进行语音识别,将得到的语音信息发送给单片机,然后单片机对于采集到信息进行判断和给予对应标志位,播报出对应垃圾类型并打开合适放进的垃圾桶盖。
(2)对于垃圾扫描识别功能,智能回收小卫士采用OpenMV摄像头进行智能识别。此摄像头体积小,功耗小,低成本,在机器视觉识别方面功能强大,并且该摄像头可拆卸,同时能和不同的光感元器件连接,通过Python编程控制,由于OpenMV摄像头的编程为开源模式,在利用Python控制该摄像头方面有很大的帮助。
(3)垃圾桶的容量监控采用的是HC-SR04模块,它是一种超声波传感器,使用IO触发测距。当触发信号输入端输入一个电平信号,然后传感器输出一个回响信号,然后根据回响信号的脉冲宽度与所测距离成正比的关系,最后根据时间间隔计算出距离,从而知晓垃圾的容量。该模块性能稳定,测度距离精确,随时间来检测垃圾的容量,防止垃圾的溢满。超声波模块电路图如图3所示。
图3 转弯目标的航迹滤波处理效果图
图3 HC-SR04模块
(4)桶盖打开与关闭的识别采用的是红外传感器模块。该传感器模块对环境光线适应能力较强,当发射管发射出红外线,检测方向遇到有使用者时,接收管吸收红外线,经过比较器电路处理之后,信号输出口输出电平信号,最后反馈给主控系统控制桶盖的关闭与打开。红外模块电路图如图4所示。
图4 红外传感器模块
(5)垃圾桶盖的控制使用了MG995舵机,MG995舵机对单片机及传感器送来的电平信号能迅速处理,且操作简单,容易控制,低成本,低功耗,极大地节约了智能回收小卫士的成本,如图5所示。
图5 系统程序流程图
3 软件部分
3.1 系统软件整体设计
系统需要实现识别垃圾种类、检测是否需要打开桶盖、检测垃圾容量。系统通过单片机做主控制,实现对智能回收的正确性和高效性。由单片机控制语音模块对垃圾种类进行判断,而摄像头模块也可用于扫描垃圾的外形,进行对垃圾的种类进行分类 ,红外检测模块检测是否需要打开垃圾桶的盖子,如要通过舵机模块对桶盖进行开关;然后再由超声波模块对判断垃圾箱的容量情况,垃圾即将要满是把信号传给GPRS,最后再通过环卫工人做出相应处理。
3.2 判断垃圾种类
对于智能回收不熟悉的用户,本设计可以智能识别垃圾的种类。智能识别模块包括语音模块和摄像头模块。语音模块采用了LD3320模块进行语音识别,当识别相应垃圾名字的时候,该模块收集到信息发送给单片机,然后单片机对于采集的信息进行判断并打开相应的垃圾桶盖并进行语音播报模块播报出来帮助人们完成智能回收;摄像头模块采用的是OpenMV,它可以直接扫描到垃圾的种类数据通过串口发送到单片机中进行控制,打开垃圾桶盖,同时进行语音播报,与主控制模块灵活的结合,方便人们进行正确回收。
3.3 检测是否需要打开桶盖
小卫士判断是否应该打开桶盖的功能则由红外对管模块决定,该传感器模块对环境光线适应能力较强,当发射管发射出红外线,检测方向遇到有使用者时,接收管吸收红外线,经过比较器电路处理之后,信号输出端口输出一个低电平信号,反馈给主系统来控制桶盖的张开与闭合。
3.4 检测智能回收小卫士容量
容量监测采用了HC-SR04模块,当触发信号输入端产生一个高电平信号,然后传感器输出一个回响信号,然后根据回响信号的脉冲宽度与所测距离成正比的关系,最后根据时间间隔计算出距离,从而知晓垃圾的容量。该模块测量距离精确,性能稳定,可以一直监测垃圾的容量,减少了垃圾满溢的麻烦,让环境变的更加整洁。
4 测试结果与分析
在知道垃圾名字和不知道垃圾名字的条件下,分别测试获得实际的数据,如表1和表2所示。设置桶内定值达到时是否提示环卫工人,如表3所示。
表1 知道垃圾名字的测试数据
表2 不知道垃圾名字的测试数据
表3 当桶内垃圾达到定值容量时是否提醒工作人员的测试数据
对上述的表1和2的测试数据可以看出,垃圾小卫士判断垃圾类型是十分准确的,仅在不知道垃圾名字的条件下有个别误差。误差来源:植入的垃圾类型图片与实际判断的垃圾类型有较大的偏差,尤其是在颜色和大小上。
对上述的表3的数据不难看出,桶内定值或多或少都有个别偏差,但是在经过我们实践结果分析,只要超过桶内定值的一定范围都是可以提醒环卫工人。所以在设置定值时,需要给桶内留有一定的容量。这样在超过定值的同时是百分百提示环卫工人的。
5 结语
该设计主要是解决智能回收的问题。通过高性能、低功耗的STM32为控制芯片,配合语言、摄像头等模块达到垃圾正确分类的结果,使知道垃圾名字却不知道什么分类和不知道垃圾名字也不知道什么分类的情况得以解决,经过实践,此方案可靠、实用。