- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
?
?
基于单片机的智能语音分类垃圾桶的设计与实现
?
?
索忠祥董香丽
摘要:随着我国经济的快速发展和人们消费水平的不断提高,垃圾产生的数量和种类变得越来越多。本文设计了一种基于STC89C52RC单片机的智能语音分类垃圾桶,本系统由STC89C52RC单片机、LD3320语音识别模块、HC-SR501人体红外传感器模块、SW-1801P震动开关模块、SG90舵机模块、DY-SV17F语音播报模块和HX711称重模块组成,采用了单片机技术、非特定人语音识别技术、传感器技术和舵机控制技术。
关键词:智能分类垃圾桶;LD3320;非特定人语音识别技术;语音播报
1系统组成
本系统采用单片机作为核心CPU,它的信号输入源是语音识别模块、人体感应模块、称重模块和震动模块。单片机对输入信号进行处理后,向语音播报模块和舵机模块发送相应的控制信号,控制相应模块开始工作。系统结构如下图1所示。
2系统功能
具体功能实现如下:
(1)????通过语音识别模块获取扔垃圾者口述的语音信息,并且对其中的关键字进行识别和匹配,匹配成功后将此信号传送给单片机,单片机在收到信号后控制语音播报模块通过喇叭播报垃圾的种类,并且驱使相应垃圾种类的舵机转动,实现垃圾桶开关盖。
(2)????采用称重模块获取垃圾桶内的重量信息。单片机实时获取由称重模块传过来的重量信号,当单片机判断桶内垃圾重量达到预定的阈值时,控制语音播报模块播报相应的音频文件,提示垃圾桶满了。
(3)????采用人体感应模块检测垃圾桶前是否有人。人体感应模块检测到有人时,会产生相应的电压信号,当单片机获取到该电压信号时,控制语音播报模块播放响应的音频文件,同时也驱使舵机做开关盖动作。
(4)????采用震动检测模块检测是否产生踢桶的行为。震动检测模块检测到有震动感应产生时,会产生相应的电压信号,当单片机获取到该电压信号时,控制舵机模块做开关盖动作。
3系统设计
3.1?系统硬件设计
3.1.1?????LD3320语音识别模块
LD3320芯片在通过麦克风接收到用户的音信息后,首先会将采集到的语音信息转化成数字信号,并且对数字信号进行分析,获取这段语音信息在频率分布上的特征,然后用芯片内部预存的关键词的特征和获取到的特征进行相似度匹配,匹配成功将最优的一条词语信息输出,匹配失败输出识别失败指令。
3.1.2?????语音播报模块
根据系统功能设计,DY-SV17F只启用了前四个I/O口。DY-SV17F未接收到单片机的指令时它的I/O引脚保持高电平信号。当DY-SV17F接受到单片机的指令时,它会控制与单片机相连的I/O口产生不同的高低电平信号,不同的I/O口高低电平组合对应着不同的音频文件。单片机通过控制与DY-SV17F相连的I/O口组合产生不同的高低电平信号来表示想要播放的音频文件,DY-SV17F通过外连的扬声器播放音频,播放完毕后I/O口会变回为低电平。
3.1.3?????称重模块
(1)????压力传感器
压力传感器具有R1、R2、R3和R4四个电阻应变片。当压力传感器收到外力时,会使R1、R2、R3和R4被挤压或者拉伸发生形变,它们的阻值会因此变大或者变小,产生出不同的电压值,从而可以将非电量转化为电量输出。
(2)????HX711称重芯片
压力传感器产生电压信号后通过A通道将电压信号传送给HX711芯片,A通道可以将电压信号增强到128倍,HX711芯片接收到增强的电压信号后运用电压转换重量公式对其进行轉化计算,最后输出转化后的值。单片机通过读取HX711输出的数据就可以获取到现在垃圾桶重垃圾的重量。
3.1.4SG90舵机模块
单片机通过信号线向SG90的控制电路发出控制信号,SG90的控制电路在接收到后首先会让电机开始工作发生转动,同时促使齿轮组也开始转动,将动力传送到输出舵盘。舵机内部有一个反馈电位计,当舵盘受到动力转动时,同时反馈电位计也会转动,然后输出电压信号到控制电路板,代表着当前的位置,从而控制电路板可以确定当前电机的转速和方向,达到控制的效果。
SG90的控制信号是由单片机发出的PWM信号,它的脉宽0.5ms-2.5ms对应着控制SG90输出轴转角0-180度。SG90收到PWM控制信号后会控制它的输出轴转动到对应脉宽的角度上,直到它再次收到另一个脉宽的控制信号才会控制转动输出轴转动。
3.2系统软件设计
主程序对各个模块进行初始化后,调用子程序控制各个模块开始工作,子程序将输出的结果以指令的方式发送到主程序和舵机控制程序。主程序收到由各个子程序发送回来的指令信息后,通过switch语句对其进行循环判断,判断完成后再输出相应的指令到语音播报程序和舵机程序,从而达到播放相应的音频文件和控制相应的舵机转动的效果。
4系统测试与结果分
文档评论(0)