杨驰+叶波
摘要:本文介绍了以keil C51为编译器,编写了智能垃圾桶的语音控制程序、红外避障传感器程序和总程序,使得智能垃圾桶能实现语音控制功能和红外避障功能,从而实现防垃圾乱扔和垃圾溢出。
关键词:语音控制程序;红外避障程序
引言
随着人类的不断进步,城市中产生的废弃垃圾也越来越多,这严重威胁着我们赖以生存的环境,合理处理垃圾是人们的一个重要任务。而在处理垃圾之前,垃圾的搜集也是非常重要的。然而,城市中的垃圾桶虽然可以分类收集垃圾,但是人们常常却未能准确地将垃圾扔进垃圾桶,或者垃圾堆满了也没有及时清理,这给市容和环境带来了巨大影响。本文就此设计一款防垃圾乱扔、垃圾溢出新型垃圾桶的软件系统。
本设计利用单片机实现防垃圾乱扔和垃圾溢出功能,主要讲述软件系统的设计与实现。
1软件系统设计
1.1语音能控制程序
设计的主要功能是能够在不同的场合播放不同的语音。根据语音芯片的使用说明情况,在这里选用的是串口指令控制。串口的使用主要包括串口的初始化以及设置相关的波特率。
所用串口相关指令如表1所示。语音控制程序主要包括三个程序。
(一)串口的初始化程序
(1)定义TMOD,SCON,PCON这三个参数,初始化串口;
(2)通过定义TH1和TL1,设置串口的工作速率为9600bps;
(3)定义TRI=1,表示允许发送;
(4)定义REN=1,表示允许接收;
(5)定义ES=1,表示打开串口。
(二)串口发送一个字节程序
定义函数“Uart_PutByte”,在此函数中,通过
(三)串口发送一帧指令程序
定义函数“SendCmd”,在此函数中通过调用“Uart_PutByte”函数,从而发送不同的指令,以此来实现音量调节,播放曲目,暂停与播放等功能。
(四)串口向外发送命令程序
定义参数“dat”,分别发送“dat”的高8位和低8位来识别音乐。
1.2红外避障传感器程序
红外避障功能主要是通过单片机的外部中断程序来实现,当有垃圾挡住了红外传感器,那么传感器会输出一个低电平,从而引发外部中断。具体实现算法如下:
(一)定义两个外部中断0和1;
(二)外部中断0判断垃圾桶外部的情况:当有垃圾落在垃圾箱外面时,此时传感器被挡住,定义time=1,调用0x03指令播放音乐,以及0x02指令播放对应的语音指令,即播放“请把把垃圾放入桶中,好吗”;
若垃圾及时移开,则结束中断;
若垃圾仍然还在,调用0x03和0x01指令,播放对应的语音指令,即播放“仍有垃圾未清理”。
(三)外部中断1判断垃圾桶内部情况:
当内部垃圾溢出时,引发中断,调用0x03和0x03指令,播放对应的语音指令,即播放“垃圾溢出,请及时清理”。
2功能实现情况
该软件系统设计结合系统硬件设计,通过语音控制部分和红外避障部分实现了防垃圾乱扔、垃圾溢出的新型垃圾桶感应装置。
3结语
本文设计的新型垃圾桶感应装置软件系统功能新颖完善,当有人没有把垃圾扔进垃圾箱内时,会有语音提示“请把垃圾扔进垃圾箱内,好吗”;当垃圾一直没有被扔进垃圾箱内时,会有语音提示‘仍有垃圾未清理”;当垃圾箱内部垃圾快溢出时,会发出语音“垃圾溢出,请及时清理”。本设计通过语音控制和红外感应装置很好的实现了防垃圾乱扔及垃圾溢出功能,成本低廉,功能新颖完善。