一款基于物联网的智能分类垃圾桶设计
2021-06-29济南大学物理科学与技术学院罗晟林童艳荣
济南大学物理科学与技术学院 罗晟林 童艳荣
本项目利用STC89C52作为主控芯片,通过超声波测距模块控制舵机的转动带动垃圾桶盖的开关。通过语音模块LD3320和Arduino实现语音分类开关垃圾桶。并且加入ESP8266物联网模块与红外光电开关模块、烟雾检测模块等模块协同工作,相比于传统垃圾桶更加智能、安全。
随着科技发展和生活水平的不断提高,人们生活开始提倡环保、智能、安全可靠的主旋律,对垃圾桶的使用也有了进一步的需求。
近些年来,国内外研究人员对智能垃圾桶也有了较多的研究,但目前市场上大多数智能垃圾桶仍局限于自动开关、语音提示功能方面,无法满足更多需求。基于物联网的智能分类垃圾桶设计对环境治理、生活水平提高、经济发展产生一系列广泛的的影响,所以本设计的使用具有广泛的应用价值和社会市场前景。
1 系统整体方案设计
本设计采用STC89C52、语音模块LD3320、Arduino、HC-SR04超声波模块、物联网ESP8266模块、红外光电开关、SG-90舵机以及MQ-2烟雾模块、太阳能供电电池。
当使用者手靠近超声波模块前端,主控芯片便控制舵机转动打开垃圾桶。本设计将垃圾的信息录入库中,当LD3320检测到投掷者念到某个垃圾名称时,便从串口输出绑定的串口数据。Arduino打开串口接收到数据后,控制对应舵机转动打开垃圾桶。当多个红外光电开关均被挡住时,即垃圾桶装满,此时单片机优先级控制舵机关闭垃圾桶,提示灯亮起。同时ESP82266借助物联网平台,记载装满信息并且以邮件等方式通知附近的使用者。此外还有烟雾检测报警、太阳能供电等功能。
图1 系统整体设计
2 系统硬件电路设计
2.1 无接触式开关模块
本系统的无接触式开关主要由STC89C52、HC-SR04超声波模块和SG-90舵机组成。STC89C52是市面上常见到的一款CMOS8位的微型控制器,拥有8K系统可编程Flash存储器,并且低功耗,价格低,性能满足日常的需求,故选择了这款芯片作为主控芯片。HC-SR04的工作原理是发射端向前发出超声波,同时开始计时,在传播途中碰到障碍物立即返回来,接收器收到反射波后停止计时。舵机主要是由舵盘、位置反馈电位计5k、减速齿轮组等组成。其工作原理是根据单片机模拟PWM信号的输出,通过调整周期信号中高电平的占空比来达到控制转动角度的目的。
2.2 语音识别分类模块
本系统的语音识别分类模块是由LD3320、Arduino和舵机组成。LD3320的语音识别技术是基于ASR技术。其工作过程是:将语音频谱分析——提取语音特征——匹配关键词语——关键词列表中选出最优结果输出。Arduino是一个基于开放原始码的软硬体平台,且具有类似C语言的Processing/Wiring简单开发环境。我们只需要把需要识别的关键词信息存入芯片中,即可以在下次识别中立即生效。比如“废报纸”绑定数字“1”,我们喊“废报纸”的时候,语音模块就会通过串口输出“1”,Arduino收到“1”后,调用程序中的“废报纸”功能函数,控制相应的舵机转动。
2.3 光电开关模块
红外光电开关是一种对射式光电开关,其检测的物体不限于金属,该传感器探测距离在10cm-200cm之间,并非精密传感器,但是价格较为便宜。考虑到本设计中对测量精确度并没有特别大的要求,所以该类传感器成为最优选择。
2.4 ESP8266串口wifi模块
ESP8266体积小,内置32位MCU,可以通过外在应用处理器搭载所有的WI-FI功能。当垃圾桶内装满垃圾时,led提示灯闪烁亮起的同时,发送信息告知附近使用者。另外使用者还可以随时通过手机远程查看垃圾桶装满情况以及每天装满次数。这使得清洁工等工作者们可以根据垃圾桶平日装满次数更有针对性地来做清理工作,方便了管理,也提高清理工作效率,凸显人性化。
2.5 电源电路设计
电源电路设计采用6V6W的薄膜太阳能发电板,在一定程度上可以弯曲。材质为单晶薄膜,吸光能力好,即使在阴天和多云等情况下电流也可以在0.16A-0.40A左右,远优于单晶硅和多晶硅。所以该类太阳能发电板成为本设计中解决方案的理想选择。将光伏板外接稳压器给可充放蓄电池充电,以供设备的正常工作运行。
3 系统软件设计
本设计的程序设计主要使用C语言和linkboy图形编程。以单片机STC89C52为核心,将各个模块连接起来,协调配合工作。本设计通过linkboy图形编程,完成了发送邮件和查看垃圾桶装载情况功能。在此基础上,使用C语言完成无接触开关垃圾桶、检测垃圾桶装满、检测烟雾气体、语音识别分类开关等功能。
3.1 自动开关程序设计
系统通电后,先检测垃圾桶是否装满,如果垃圾桶已满,单片机优先控制舵机停止转动,提示灯亮起提示人们清理垃圾,同时ESP8266以邮件等方式通知使用者。当垃圾桶未满时,超声波测距模块检测前方阻碍物的距离,判断是否开垃圾桶。该设计的系统设定值是8cm,当使用者用手、脚或其他方式靠近测距模块前,即测得距离小于8cm,单片机控制舵机打开垃圾桶。之后测距模块会不断的检测当前阻碍物距离,当检测距离大于设定值时,即使用者离开垃圾桶时,单片机控制舵机五秒后闭合垃圾桶盖。
3.2 语音识别分类开关程序设计
本设计采用了语音识别模块LD3320,它会对检测到的声音进行分析,选出声音中关键帧与模块内存放的绑定信息进行比较,最终得到最优绑定识别结果。随后LD3320将识别结果通过串口通信的方式传送给Arduino,在成功接收到串口数据之后,Arduino根据串口数据选择控制不同的舵机转动打开垃圾桶。
4 总体测试
测试初期,舵机偶尔出现不受控制转动,严重发热,甚至烧毁舵机。产生这种情况的原因是因为烟雾监测模块占用较大电流,导致舵机运行电流不足。为了解决电流不足的问题,本设计使用两块51最小系统,将烟雾模块用另一个51最小系统单独供电,从而保证了舵机正常的工作。
测试后期,在本设计语音识别分类过程中,发现检测除普通话外,对粤语等方言也可以进行检测甄别,这使得检测内容更加丰富。另外系统还增加了语音交互模块,在识别垃圾后,MP3会播放识别到的分类结果,在丢垃圾的过程也中多了几分趣味。
结语:本文介绍了基于物联网的智能分类垃圾桶的设计及实现过程,该设计的实现使人们使用垃圾桶更加方便、智能,满足了人们对高品质生活的追求,相比于传统垃圾桶更加安全卫生。
测试表明,该设计运行稳定、功能丰富,可以广泛的应用在火车站、酒店等场景。具有一定的应用价值和市场前景。本设计相比于常见到的智能垃圾桶功能更加智能化、安全化。响应国家生态环保、垃圾分类的号召,对中国经济可持续发展有着重要价值和意义。