基于语音合成的单片机家用警示系统
2013-10-08何小映
何小映
西安航空学院电气系,陕西 西安 710077
引言
在现实生活中,人们有时候正在做饭或者看电视时,突然有急事要外出,可能就会忘记关闭煤气开关或者电源开关就出去了,比如说,正在烧水,突然有事没关闭煤气就出去了,结果水烧干了,极有可能造成火灾,这样的事情一旦发生,将会造成严重的后果,这样的新闻报道也比较多。鉴于此,设计一套自动提示系统,当人们出门时,提示关闭相关的开关,避免由于开关没关造成的损失,具有实际的应用价值。
1. 系统概述
该系统的整体框图如图1所示:
图1 系统框图
该系统主要包括:人体检测模块、单片机[1]、DA转换电路、喇叭、时钟和复位电路,利用人体检测人的进入或者离开,由单片机判断后选择相应的数字语音提示信息,该信息经DA转换后由喇叭发出相应的语音提示。
2. 硬件电路
2.1 人体检测模块
人体检测模块由两个模块1、2组成,模块1安装在离门比较的地方,模块2安装在离门较远的地方。两个模块均由人体热释电传感器RE200B和集成电路AS082电路组成。电路如图2所示。
RE200B是热释电红外传感器[2],它对于不同波长的光线照射都能产生不同程度的响应,因此在传感器前加入一个滤镜窗口,通过这个滤镜可以限定晶体对特定波长的光线产生响应,一般红外波长在8um~14um,非常接近人体辐射的红外线波长。AS082采用第三代PIR 人体热释红外线探测技术方案,内置高精度算法单元,可自调整适应当前环境,滤除环境干扰,有效提取人体信号,最远感应距离高达二十几米,当有人通过RE200B时,OUT输出高电平。
2.2 DA转换及语音输出电路
DA转换及语音输出电路如图3所示。
图3 DA转换及语言输出电路
DA转换采用直通双极型输出方式,根据图3中的电路及电阻值可得出DA转换输出的电
压公式为:VOUT= (2D/256-1)VREF,D =0时,VOUT= -VREF;D =128时,VOUT= 0;D = 255时,VOUT= (2×255/256-1)×VREF= (254/255)VREF,输出的模拟信号驱动喇叭发出声音。
3. 软件设计
软件程序流程图如图4所示,整个程序采用C51语言[3]编写。
图4 程序流程图
上电或者复位后先进行初始化处理,初始化包括:打开总中断及中断0,因为该系统模块1的信号送入单片机的P3.0,模块2的信号输入P3.2作为外部中断0的输入信号,系统首先检测离门较近的模块1是否有信号,若无则一直检测,若有则再检测模块2是否有信号,若模块2有信号则表示是出门,输出离家语音:“请关闭电源、窗户、煤气”,若模块2无信号则表示是进门,输出回家语音:“您辛苦了”,当然具体的语音信息可以自由设置。
这些语音信息是通过语音合成技术[4]得到的,语音合成技术简称为TTS,用于将文字转化为语音,使用语音合成软件,可将输入的汉字转化为相应的语音,转换后的格式有MP3或WAV,MP3的格式比较复杂,解码困难,设计中采用WAV格式,使用Ultredit32打开WAV格式文件,取出对应语音的数字信号,送到DA转换电路进行数模转换后就能听见对应汉字的语音。
4. 结束语
该系统能自动检测出人是进入或者离开家,然后给出相应的语音提示信息,避免了离家时因忘记关闭窗户、电源、煤气等开关造成的安全隐患,具有一定的实用性。
[1]刘建华.单片机原理及应用技术[M].上海科学技术出版社,2010.06:86
[2]韩丽英.光电变换与检测技术[M].国防工业出版社,2010.11:58~66
[3]刘文涛.单片机语言C51程序设计[M].原子能出版社,2004.07:1~139
[4]张刚.语音处理与编码[M].兵器工业出版社,2000.08:2~15