APP下载

STM32单片机控制的智能垃圾分类终端

2023-02-08张佳琪于海霞刘永辉贾俊杰苑文亚付宜帆

物联网技术 2023年1期
关键词:垃圾桶单片机垃圾

张佳琪,于海霞,刘永辉,贾俊杰,苑文亚,付宜帆

(大连理工大学城市学院,辽宁 大连 116000)

0 引 言

随着国家对环保的要求越来越严格,垃圾分类投放必将成为强制性的规定。现在绝大多数垃圾分类仅仅依靠垃圾投放者根据标识进行自主判断,若个人没有相应的分类知识,则无法做到准确地分类垃圾,尤其是许多垃圾异味太重或者存在一些蚊虫,使得垃圾分类更加不便[1-3]。目前市场上常见的垃圾箱无法对垃圾进行主动的、有针对性的、初步的分类,现有的智能垃圾箱也仅仅做到了投掷的智能化。例如,李琳等人[4]设计了基于STM32的校园内智能垃圾桶测满系统,具有低功耗、集成度高、续航持久、维护方便等特点。辛政华等人[5]设计了一种智能垃圾桶,它以CC2530为核心,实现垃圾桶的感应自动开盖和关闭。当超声波检测到距离垃圾小于10 cm时,触发电机的转动,垃圾桶盖自动关闭;垃圾桶处理系统监控中心检测出垃圾桶满时,发出处理命令;当垃圾得到清理,且超声波检测到的距离大于10 cm时,触发电机的转动,打开垃圾桶。然而,严格意义上讲这些仍不属于智能垃圾桶,无法普及且性价比低。为了更加便利人们的生活,同时秉承保护环境和节约能源的理念,本文设计了一种基于STM32单片机控制的智能垃圾桶系统终端,旨在建立一个完整、高效的信息系统以及应用程序,利用该信息系统实现垃圾的智能回收、分类、再利用,省去居民自行对垃圾种类进行判断的过程,提高垃圾的分类和回收效率。在可行性和推广性上门槛较低,终端设备高度整合,经济效益好;随着项目推广的生产成本边际递减,设备单价也将大幅下降。

1 系统方案

本项目基于STM32单片机、CMUCAM3图像识别模块、SI1102红外检测模块实现对垃圾的识别与分类,驱动舵机转动实现分类。当识别到有人靠近终端检测范围内时,自动打开对应位置垃圾桶,然后在垃圾桶内部对常见的垃圾进行分类,分类完成后关闭垃圾桶。系统根据区域内回收终端各垃圾种类所占比例,变更不同料仓的空间比例,并就近设置相应的可回收品回收站点。当人手或物体接近投料口(感应窗)约25~35 cm时,垃圾桶盖会自动开启,待垃圾投入3~4 s后桶盖又会自动关闭,人和物不需接触垃圾桶,还能够防止桶内垃圾气味溢出,解除了传统垃圾桶存在的细菌感染的隐患,能有效阻绝各种传染性疾病通过垃圾进行传播。同时,当识别到垃圾桶满等情况时系统还会进行自动报警。与市场智能垃圾箱相比,本产品能够自动识别垃圾并分类,垃圾识别类型多,包含可回收垃圾、有毒垃圾、其他垃圾,且产品成本低廉、体积小。

2 器件选择

本设计采用STM32微控制器作为终端的主控模块。STM32芯片是一种基于Cortex的芯片,该系列中的很多芯片是专门迎合当下社会发展需求的,例如适合低功耗、高性能、混合信号、标准系列的汽车应用;多数设计都需要它的底层环境,它的型号种类繁多,能够满足大部分要求。芯片类型主要可以细分为硬件DSP、微控制器硬件MCU、微处理器和软件SOC。STM32是一种MCU,属于嵌入式技术。STM32的首要优点是优秀的实时功能,同时它还有着杰出的功耗控制能力和极低的开发成本以及超低的价格[6]。

传感器技术的应用促进了物联网的快速发展,因具有生产效能和信息传播的安全可靠性在日常生活生产中被广泛应用[7-9]。本设计采用CMUCAM3传感器作为图像识别模块。KTROBOT01 CMUCAM3是一个基于ARM7的完全可编程的嵌入式计算机视觉传感器,它是以智能传感器的形式给小型机器人系统提供视觉能力。CMUCAM3主要的处理器是连接到OV CMOS摄像传感器模块的32位ARM处理器NXP LPC2106,其开放的源码环境供用户进行嵌入式图像处理的二次开发。CMUCAM3为智能机器人扩展了嵌入式图像处理能力,主要功能有跟踪高对比度的区域、运动监测、颜色识别和检测;同时CMUCAM3还能输出不同的视频格式到计算机进行额外的图像处理[7]。

本设计采用SI1102红外接近传感器作为红外检测模块。SI1102是一款高性能的接近检测传感器,可以检测到50 cm以内的人体;它工作在单脉冲检测模式,功耗较低,检测门限和检测频率可调;具有PRX状态的锁存功能,可减少误检和漏检;通过400 mA的LED驱动电流维持工作。

3 电路设计

采用5 V的28BYJ48步进电机,电流约为200 mA,用ULN2003驱动,端口号为P0.0、P0.1、P0.2、P0.3,分别对应编码A、B、C、D[10],见表1所列。

表1 28BYJ48电机正转表

4 程序编写与仿真调试

本系统在Keil μVision4环境下进行仿真调试,如图1所示,主要采用C语言进行开发。与机器装配语言进行比较表明,使用C语言可以实现较强的整体配置和可读性。Keil μVision4内部集成了较为丰富的库函数可以供使用者随时读取调用,并与Microsoft系统具有良好的兼容性。在这种环境下编译程序成功的概率比较大,尤其是在完成较大的软件与系统设计时更容易展现Keil μVision4的优势。

图1 Keil μVision4界面

在目标文件中建立Hex文件,出现如图2所示对话框时点击Create Hex File,确认之后可以新建Hex文件,在烧录时就可以对“.c”文件进行操作。

图2 Hex文件的建立

Proteus 8软件和Keil μVision4编程开发工具需要相互配合使用,具体操作步骤如下:

(1)打开Proteus 8软件,在屏幕上有绘图窗口,还有视图小窗口,以及元器件的列表和控制、编译按钮。

(2)新建一个工程,在所选的工程文件中,选择合适的元器件进行布线,即可绘制所需要的电路原理图。

(3)打开Keil μVision4软件开始编写程序,然后点击编译按钮完成编译后生成Hex文件。

(4)在左侧绘图窗口中双击自己设计的STM32单片机,然后根据需要来修改硬件参数。

(5)点击Program File,将之前生成的Hex文件加载进去。

(6)在设置完成后点击关闭窗口,运行仿真。

5 功能测试

程序调试和刻录完成后,执行功能测试。首先,系统通过红外接近传感器检测到信号,即检测到有人接近垃圾桶,并且判断出人手或物体接近投料口(感应窗)约25~35 cm时,会自动驱动对应位置垃圾桶开启;然后系统内部的图像识别传感器会将投放的垃圾与系统内的垃圾种类图片进行对比,完成分类。如果5 s内没有垃圾被投入垃圾桶,系统会驱动垃圾桶自动关闭。系统还会根据区域内回收终端内各种类垃圾所占比例,变更不同料仓的空间比例,并就近设置相应的可回收品回收站点。测试结果表明,该系统能够实现对垃圾进行智能分类、回收的功能,不需要垃圾投放者自行对垃圾种类进行判断,提高了垃圾的分类和回收效率。

6 结 语

本文设计了基于STM32单片机控制的智能垃圾分类终端,符合国家政策导向和现实需要。该系统能够在人们投放垃圾时进行智能辅助分类,提高垃圾分类和回收效率,减少污染;并且可以通过显示屏了解投放垃圾所属的具体类别,提高人们垃圾分类和环保的意识。相比于市场上其他的智能垃圾箱,本产品能够做到自动识别垃圾和分类,并且垃圾识别类型多,包含可回收垃圾、有毒垃圾、其他垃圾,且产品成本低廉、体积小,适合大范围推广。

猜你喜欢

垃圾桶单片机垃圾
垃圾去哪了
投进垃圾桶的信
投进垃圾桶的信
那一双“分拣垃圾”的手
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
倒垃圾
倒垃圾
Microchip推出两个全新PIC单片机系列