吴树添,全钊锋,覃雪婷,冉秋桂,蓝国财,刘光晓,林雪琼
(广西民族师范学院 数理与电子信息工程学院,广西崇左,532200)
目前我国各城市正在深入开展争创国家卫生城市活动,这是全国爱国卫生运动委员会办公室评选命名的国家级卫生优秀城市的最高荣誉,是一个城市综合素质的重要标志。沈阳市正在深入开展创建国家卫生城市和建设国家健康城市(以下简称“双城双创”)工作,全面加强区域卫生基础设施建设,促进城乡环境卫生改善,营造整洁健康的市容环境,解决与人民群众切身利益息息相关的社会卫生问题,争创生态宜居的健康示范城市。本设计的投放使用将使普通市民从不随手乱扔垃圾这样的点滴小事做起,养成良好的卫生健康习惯,成为“双城双创”的主动参与者,踊跃参与到环境治理中来,成为“双城双创”的积极践行者。在逐步完善长效管理机制中,智能垃圾桶的使用可以是人人可见的亮点。
目前市场上智能垃圾桶比较多,但是一般是应用超声波传感器或者是人体传感器,这样子的垃圾桶比较难应用到人流穿梭的街道,而语音控制的垃圾分类机器人,可以通过语音唤醒,也可以通过按键触发唤醒语音识别,这样子可以应用于人群密集和时常走动的街道,较好地解决了人群流动造成的系统误以为有人需要丢垃圾而触发的打开垃圾桶盖的影响,本设计使用STM32作为主要控制的芯片开发和设计了一款可以通过语音控制的垃圾分类机器人,本设计研究的“语音控制垃圾分类机器人”主要是帮助人们将垃圾进行分类,使垃圾在清理时无需再次人工分类,能有效地节约环卫工人的时间,本设计会在你说出垃圾的名称时自动打开该垃圾相应的垃圾类型的桶盖并且通过语音播报告诉你是属于什么类型的垃圾,当检测到垃圾装满后可以ESP8266-01这款无线WIFI模块通过MQTT协议连接中国移动物联网OneNet云平台告知工作人员垃圾已经装满,等工作人员清理,以确保不会出现垃圾后期需要进行分类和垃圾堆积的现象。本文使用STM32作为主要控制的芯片设计这款语音控制垃圾分类机器人来进行垃圾的分类,其主要是为了方便人们对垃圾进行分类,从而减少环卫工人的工作量和提高人们对垃圾进行分类的意识,且本设计能够把物联网技术、嵌入式技术、高频技术、通信技术、大数据技术等理论知识结合引入到电子系统设计与制作工程实践中,做到理论联系实际,这个机器人的设计与实际生活紧密相关且具有很强的生活现实意义。
若想完成本设计需要使用到一个STM32F103C8T6核心板,一个ASR MO8-B语音识别模块,一个MP3语音播报模块,一个ESP8266-01WIFI模块,一个HC-05蓝牙模块,四个红外发射接收对管,四个SG90舵机,以STM32作为核心的控制器,语音识别模块作为语音识别的装置,MP3语音播报模块用于播报垃圾的种类,ESP8266-01作为连接OneNet平台的模块,HC-05蓝牙模块作为单片机与手机APP通信的无线模块,四个舵机用来控制垃圾桶的开关,四个红外发射接收对管用于检测垃圾是否装满。
本设计电路原理图可以细分为:电源电路、主控模块、WiFi、蓝牙无线通信电路、红外对管检测电路、舵机驱动电路、语音识别模块与语音播报模块。系统设计框图如图1所示。
图1 系统框图
2.2.1 主控模块
本设计主要是对WIFI模块的数据接收和发送和ASR MO8-B语音识别模块的串口数据接收还有手机APP与单片机通信的数据处理,对于这些数据可以使用STM32F103C8T6作为主控芯片,其本身自带的三个串口通信功能可以刚好完成本设计数据分析和处理,使用单片机的USAR1串口打印输出ESP8266对网络连接的状态,ESP8266通过单片机的USAR2连接OneNet平台获取平台的数据和发送数据到平台,HC-05模块和语音识别模块通过单片机的USAR3连接手机APP和语音识别模块。
图2 主控模块
2.2.2 语音识别模块
本设计使用一个ASR MO8-B语音识别模块用于对人声进行识别,ASR MO8-B语音识别模块作为本设计的“耳朵”使用串口的通信方式向主控芯片发送数据,支持按键触发识别语音、命令词触发识别语音,还有循环触发识别语音,使用串口的通信方式使其更方便与其他单片机或Ardiuno等其他开发设备进行连接使用,使用范围广,并且可以自己修改识别的关键词,相关领域扩展能力较强。
语音识别模块将ASR MO8-B语音识别模块的TX和RX脚分别接入单片机串口3的RX3(PB11)和TX3(PB10)脚与蓝牙模块共同使用单片机的串口通信3,由于两个模块只需要发送数据给单片机并不需要对数据进行接收,所以两个模块可以正常工作且互不影响。
2.2.3 无线通信模块与舵机模块
ESP8266是一个无线保真(WiFi)的小工具。它是在芯片(SoC)一个实用系统,它是内置的与TCP/IP协议中,可以结合任意微控制器与任何Wi-Fi网络来连接,使用AT指令固件与单片机进行通信,更方便与单片机进行连接,在本设计中ESP8266是通过MQTT协议实现与OneNet平台连接及交换数据。
HC-05蓝牙模块是主从一体的蓝牙串口模块,简略的说,当蓝牙主机与蓝牙从机配对连接完成后,可以轻忽蓝牙内部的通信协议,直接把蓝牙模块当作串口用。当两个蓝牙互相连接后,这两蓝牙一起使用一个通道也就是相当于使用了同一个串口,一个蓝牙发送数据到使用的通道中,另外一个蓝牙就可以接收当前通道的数据。
2.2.4 舵机模块
舵机是一种通过调节脉宽进行转动的伺服器,舵机可以通过改变一个周期高低电平的时间来改变角度。在本设计中SG09舵机用于对垃圾桶的控制,使四个舵机从0°至180°转动从而实现四个垃圾桶的打开和闭合,这四个舵机信号控制端分别接在单片机的PB0、PB1、PB4、PB5中,这四个IO口都是单片机自带的PWM接口,都由单片机的定时器3自带的PWM驱动。
2.2.5 红外对管检测模块与MP3语音模块
本设计使用了四对红外发射接收对管,红外对管检测模块对于本设计来说就相当于是一双“眼睛”用于查看垃圾桶内的垃圾是否装满,红外对管使用红外线发射和接收来进行判断是否有障碍物的存在,红外发射接收对管在无阻挡物时输出高电平,有阻挡物时输出低电平,垃圾是否装满的检测只需要使用STM32单片机的IO口检测红外对管输出的高低电平即可完成检测,需要注意的是需要判断低电平的时间超过三秒,防止投掷垃圾的时候系统检测到一瞬间的低电平时误以为是垃圾桶装满。
MP3语音播报模块电路是连接MP3语音播报模块信号端口与单片机IO口的电路,让MP3模块的信号端发生一次周期为20ms的下降沿即可使其播报对应端口设置的语音,单片机串口检测到垃圾分类的指令后会给需要播报语音的信号端一个下降沿,让MP3模块播报对应的语音。
手机软件的设计也是本设计一大重点,为了后续对本设计进行更好的开发与调试,本文开发了一款具有语音识别功能的手机APP,能够解决语音识别模块只能识别普通话和内部只能存储50条命令关键词的这两大缺陷,让设计者和使用者后续对本设计的开发和完善变得更加简单,并且使用手机APP后续本设计学习垃圾分类的知识不需要改动已经设计好的硬件,只需要不断更新APP的数据库可以了,所以APP的开发设计对本设计而言无论是从开发成本还是后续对垃圾分类知识的学习都起到了很大的作用。
STM32的程序设计也相对比较简单,在等待系统联网成功后使用串口读取语音识别模块、蓝牙模块的数据就对比事先设定的数据就可以实现对垃圾的分类,在不断读取语音模块和蓝牙的数据时,系统也在不断的利用ESP8266模块向OneNet平台发送红外对管检测到的数据,对垃圾桶是否装满的数据实时更新,程序流程图如图3所示。
图3 程序流程图
APP设计图如图4所示。
图4 APP界面设计图
这款由 MIT App Inventor网页版设计的APP,基于语音识别的智能垃圾桶软件主要围绕4大功能:
(1)实现对垃圾桶内部容量的监测,以便及时清理垃圾,避免造成垃圾堵塞的情况。
(2)监测智能垃圾桶各功能模块的工作状态,当检测到垃圾装满后可以ESP8266-01S这款无线WIFI模块通过MQTT协议连接中国移动物联网OneNet云平台告知工作人,以便及时修复,从而恢复智能垃圾桶的正常运行状态。
(3)智能垃圾桶的控制界面,通过控制界面实现智能垃圾桶的闭合和启动等操作。当点击一个类别的垃圾的类别时,可以对该垃圾桶进行垃圾桶盖关闭和启动的操作。
(4)同时本设计还设置了一个语音识别的功能,让手机APP也可以通过语音识别的功能进行对垃圾种类的区分,并且语音识别的结果的垃圾种类数据库可以较为简单的更新。
通过这4大功能,就能实时对语音控制智能垃圾桶的工作情况进行了解和掌握,从而实现语音控制智能垃圾桶硬件与软件的联接,APP在设计之初就在APP的垃圾种类数据库里写入了大量的垃圾分类知识,且后续对软件数据库的更新和学习不需要再改动硬件部分,有效的为后续对此机器人的开发节约来通过改动硬件造成的高成本,本次开发的这款手机APP的语音识别功能也弥补了硬件部分的语音识别模块只能识别普通话的这一重大缺陷,这款APP的语音识别功能可以识别个别地方的方言比如:粤语和四川话,使得语音识别功能不再局限于普通话,如此就更适合应用到人们的日常生活使用,为了本设计的垃圾分类机器人不局限于国人使用,对此本文设计的这款APP后续还可以开发对英语的语音识别。APP在手机运行的实际效果如图5所示。
图5 手机APP运行效果图
在软件设计的之初,考虑到可能有许多人不会使用本文开发的这款软件,所以本设计在使用界面写了一个软件的使用说明,让第一次接触这款软件的人也能快速上手使用。选择识别的语言如图6所示。手机APP的用户可以通过选项自行选择需要识别语言是普通话还是粤语或者是四川话。
图6 用户选择识别语言
本设计完成了一个智能垃圾分类的机器人,这款机器人可以通过语音识别的方式识别垃圾种类并且能自动打开垃圾桶和通过语音播报告知使用者要丢是什么类型的垃圾,相当于市面上的一些智能垃圾桶,本设计多了语音识别和垃圾分类的效果,能够很好的帮助人们完成垃圾的分类,并且本设计还有检测垃圾是否装满的设计和与OneNet平台的连接,能够实时传输垃圾是否装满的数据上传至OneNet平台让负责清洁的环卫工人更好的查看垃圾桶是否装满从而能够对垃圾桶及时进行的清理,有效的防止垃圾堆积无人清理的现象,使用语音呼叫应答的方式对垃圾进行分类可以提高国民对垃圾分类的知识和意识,可以帮助普通居民更好的对垃圾进行分类,本设计也有部分缺陷,比如:在声音比较杂的情况下,语音识别可能会无法识别、语音识别的距离较短等问题,不过这些存在的问题后续可以使用手机APP来进行改良。