您的位置: 主页  >  新闻中心  >  行业新闻  > 以wifi远距离模块为基础的智能垃圾箱系统设计

以wifi远距离模块为基础的智能垃圾箱系统设计

发布日期:2022-01-06  浏览次数:2065
wifi远距离模块为基础的智能垃圾箱系统设计,随著人们对生活质量的提高,科技的高速发展,环境问题也将逐步恶化,有关资料显示,垃圾生产与GDP紧密相关,随着GDP的增长,垃圾产量将进一步增加。特别是我国人口数量基数大,平均垃圾产生量非常大,城市的环境问题也成为一个巨大的问题,因此,为了更好地处理垃圾,国家开始提出垃圾分类,以便更好地处理。人生中,并非每一件垃圾都是完全无价值的,饮料瓶收集后,可以再熔化铝,制成铝制品。怎样有效地分类处理这类垃圾,是当前治理城市环境问题的首要任务。于是分类处理垃圾,诞生了一种用不同垃圾箱来分类的垃圾,在大街上放置不同的垃圾箱来收集不同的垃圾,现在街上的主流垃圾箱分为“可回收垃圾”桶和“不可回收垃圾”垃圾箱。如今是高科技智能时代,在垃圾分类中采用人工智能,当不知道具体垃圾的具体分类时,垃圾箱自动帮助选择。

讨论了智能垃圾箱,在OpenMV的基础上,利用OpenMV技术,串口通讯把信息传送到Arduino单片机,经过单片机的处理后,控制舵机旋转,打开相应的垃圾箱,自动分类垃圾。通过与Arduino的通讯,可实时观察垃圾桶当前状况,及时更换垃圾袋。该系统主要依靠模块间的wifi串口通讯来实现,利用OpenMV采集图像信息,发送到Arduino单片机处理相应的数据,然后控制舵机选择对应的垃圾槽。

其硬件结构主要包括:OpenMV采集模块、分类模块、微处理器、通讯模块、舵机、电源模块。在该系统中,OpenMV对垃圾颜色进行采集,提取颜色信息,通过串口通讯传输到Arduino单片机,并与舵机连接,控制垃圾箱的转动。

设计的图像采集模块主要采用OpenMV摄像机,以串口通讯方式与Arduino单片机相连接,并传送相应的颜色参数,以控制舵机的转动并开启相应的分类垃圾槽。为OpenMV与图像采集模块之间的通讯结构。OpenMV4H7是本文选用的摄像机模块,采用STM32H743集成,主频为400M,内存2M,运行速度较快,而且与OpenMV3相比,具有更多可选镜头,并且易于更换。

系统选型出cv520wifi远距离模块,硬件接口丰富,可满足本设计所需的数据传输需求。可以接受串口数据,WiFi输出数据,实时显示当前垃圾箱的具体状况。CV520采用三种模式,即STA、AP和STA+AP模式。使用ArduinoIDE,可以轻松地添加CV520库模块。在添加库之后,使用Arduino与CV520wifi远距离模块针脚实现串行通讯,数据无线传输,实现实时存储,监控垃圾箱内情况。

转向机构通过PWM波形控制电动机转动,并利用Arduino控制转动角。转向机构力矩大,满足系统设计要求,且易于操纵舵机,编程简单,可操作性强。转向装置也包括伺服电机(电机、传感器和控制器)的整体系统,价格低廉,节省智能垃圾箱的成本。

为便于分类,设计选择了环形回转式垃圾桶,将垃圾桶分成3个槽,每个槽套上不同的垃圾袋。如果垃圾经过OpenMV摄像头检测到,对颜色信息进行处理,再将处理好的信息送至Arduino单片机,Arduino单片机接收数据,控制带动舵机转动相应角度,使槽到达垃圾箱入口,这样就循环利用了垃圾,根据生活规律还可以划分大小不同的垃圾区域,使空间更加适用,不造成空间浪费。

智能垃圾图像分类算法。系统主要由三部分组成,一部分是图像的采集与获取,其中以OpenMV搭载的摄像机为主体,能够对垃圾图像进行提取;其次是信息的加工与预处理,是图像处理的核心。这个部分也由OpenMV处理,向Arduino传递信息,为随后的垃圾箱工作提供基础,是图像处理的核心;第三部分是识别分类的过程,把前一步的信号转化为垃圾箱能够识别的信号。

BP神经网络是目前应用广泛的人工神经网络,它由输入层、隐层和输出层组成,各层间的连接用权值表示。BP网络需要解决的主要问题是算法,传统的BP学习算法是小二乘方法。在设计过程中,需要对灰度像素进行识别,通常由BP神经网络的输入层、隐藏层和输出层开始。输入层设计:BP神经网络输入层中的节点数量通常取决于问题求解的影响因素。在图象识别中,影响系数是图象识别的特点。这样,设计网中的输入节点数就等于使用了图像识别功能。

输出层设计:输出层结点数目由输出值表示方式决定,本文要确定输出层的神经元,必须设定目标的分类。隐层设计:在每个节点都使用S型函数的情况下,如果节点为隐含层,就可以解决决策分类问题。增大屏幕层数可以进一步减少误差和提高准确度,但是也会使网络更复杂,同时也增加了训练网络权值的时间。所以,在没有特殊要求的情况下,本文选择单隐层。

利用OpenMV软件,可通过摄像机自带相机对色块进行识别,经过多次训练,将色块记录下来。在OpenMVIDE中,通过串口向Arduino单片机进行后续处理,其中有很多程序可以查找色块,文章举一个寻找单色块的例子。

该功能主要用于设计find_blobs函数,可通过find_blobs函数查找。设定色彩阈值,可定义多种颜色列表或单色,并根据情况选择相应的阈值。假定填充的是红色色块的阈值,程序运行后,会发现跟踪到的红色色块已被识别,红色区域全部被框出,可通过IDE自带颜色门限工具将其计算出门限,并将其输入thresholds函数。如:需要观察红色旁的绿色色块,只需进入阈值工具,拖动滑块将除绿以外的所有颜色全部变为黑色,下面的LAB阈值是需要填充的参数。填入参数后,再次运行程序,即可找到所需的颜色块,绿色部分已选定。经多次训练后,可得到由多个色块代表的垃圾阈值,统计出颜色阈值,通过串口发送到Arduino微控制器。当门限信息被Arduino单片机接收后,通过串口通讯,使舵机旋转,打开不同的分类箱。

Arduino的编程方式类似于C语言,就是舵机操作程序,当串口收到数据时,就可以控制舵机转动一定角度,开启相应的回收器。

OpenMV与Arduino通讯非常简单,采用串口3的方式。在OpenMV观测到色块信息时,Arduino接收信息到计算机,并通过发送色块中间坐标进行显示。因此,ArduinoMega的逻辑是:读取softSerial的数据(json),然后将其解析为数组,发送到Serial(计算机)。举例来说:要查找黄色色块,发送中心坐标给Arduino以用于数组处理和显示。当Arduino接收到的数据与设定的阈值相等时,控制舵机旋转相应的度数,就能完成串口通信,从而实现对不同的垃圾桶的通信。COM口会显示发送的数值。

利用wifi远距离模块,可以远程监测垃圾箱的当前状况。当垃圾箱满了或出现故障时,报警灯就会亮起来,同时将信息传送到APP。由于Arduino的串口需要接入主机的Labview显示,所以选择了软串口将wifi远距离模块连接起来。

利用VISA串口,与单片机相连获取数据显示,接收到OpenMV跟踪图像信息,利用Labview上位机上显示的数据,可远程监测垃圾箱的运行情况和状态。从Labview观察OpenMV串口当前传输数据的情况。

在OpenMV垃圾分类的基础上,采用BP神经网络建立垃圾分类模型,OpenMV对神经网络进行训练,再由Labview显示与调整,实现对垃圾进行分类。研究了垃圾分类技术,分析了目前智能垃圾箱的现状,建立了一种基于OpenMV技术的垃圾分类垃圾箱,改造垃圾箱内部结构,设计硬件控制电路,采用OpenMV实现图像处理,对垃圾进行特征提取,利用BP神经网络算法对样本进行输入,完成BP神经网络的训练。采用wifi远距离模块串口通讯方式,将系统串联起来,完成智能分类垃圾桶的设计。
QQ咨询
微信咨询
联系电话
18118739028
返回顶部