基于语音播放的超声波测距系统
2021-12-17吉庆辉刘宾坤李冶陈昱行
吉庆辉,刘宾坤,李冶,陈昱行
(大连理工大学城市学院,辽宁大连,116600)
该实测系统主要原理是由STC89C52单片式微机软件作为一个定时器,计算一个高频超声波从高频电磁辐射到射频信号滤波接收的时间周期和一个往返波的时间,然后根据计算结果得出一个实测距离。实测距离结果会实时地自动显示出来在1602液晶幕上,如果距离实际被一个检测者看到的位置是一定距离或者远远或是小于预先预定设置的安全实测距离,实时电视会通过自动播放这个实测距离的高清视频和实时语音等等信号方式来发出警告和警示提醒其他设备使用者们需要特别注意安全。
随着时代的发展,人们生活质量的提高,私家车辆越来越多,很多新手司机在跟车行驶和泊车时候总会遇到麻烦,掌握不好安全距离。而新型超声波汽车测距距离传感器由于其传动性能好、价格低廉,使用方便,在汽车距离自动测量、汽车自动驾驶引导、汽车安全车道行驶的汽车辅助自动控制管理系统、城市交通安全管理及城市高速公路的安全管理等诸多领域均已经有着广泛应用。本文所设计的超声波测距系统加上语音播放是比较方便、实用的。
1 系统总体设计
该系统由STC89C52单片机主控模块,按键模块,电源模块:5V的USB供电,HC-SR04超声波模块,1602液晶显示模块,NV020C语音模块构成,系统的总体结构框图如图1所示。
图1 系统总体结构框图
2 系统硬件分析
■2.1 主控芯片
STC89C52是一个低电压,高性能CMOS 8位单片机,片内含8k 字节Flash,512字节RAM,兼容MCS-51指令系统。STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,含有2个串行中断,3个16位可编程定时计数器中断,2个全双工串行通信口,2个读写口线。具有低功耗空闲和掉电模式,软件设置睡眠和唤醒功能特点。
■2.2 HC-SR04模块
HC-SR04 超声波高度检测控制系统该模块系统能够为您同时实现具有 2cm~400cm 的非接触式远距离高度传感器和自动遥控远距离高度检测器的特点。其主要特点之一是系统结构简单,使用的不是单片式电机和运动控制电路简单容易,而且制造成本低。这种控制模块主要包括了一系列的用于控制超声波射频、接收和控制的电路模块。采用 trio 口 trig 两口触发器进行测距,给予至少 10μs 的中频高电平控制信号。然后在该模块系统中会自动向每个模拟传输器上网中发送8个 40kHz 的正弦波,自动地经由检测每个模拟传输器上网中是否存在一个模拟信号源并对其进行一次复位和返回。一旦全部的发射超声波信号开始再次返回,通过 io 口 echo 向这个超声波信号输出一个高电平,这个高电平信号的持续时间也正因为这个超声波开始再次发射直至信号再次返回。利用该计算模块的运行时间平均值函数乘以一个超声波在各种空气环境中的平均运行量和速度再将其数值除以二,就已经完全可以被计算出并得出被用于测量的一个物体和其他超声波在该模块之间的运行距离。HC-SR04模块电路如图2所示。
图2 超声波模块电路
■2.3 按键模块
本设计中因为采用的是按键设置数量比较少,只有3个按键,分别是“设置”、“加”、“减”,所以采用了一个独立式键盘的设置方式,分别连接单片机的三个脚。通过三个按键来设置报警值的范围。
■2.4 NV020C语音模块
语音模块电路图如图3所示。NVC芯片采用的是一款功率稳定的多媒体语音芯片,正常工作时其频率宽度可以达到 2v -4. 5v ,弥补了目前国际上多媒体市场语音芯片的抗干扰性能力不高的优势。 NVC系列的语音芯片在设计中具有丰富的可视化控制手段,本产品在设计时采用 MCU一线串口方式进行语音控制,是指主要的 MCU通过 data 数据线传输方式的信号来实现对任何一段语音的自动触发或者是播放和暂时停止。其中的数据和语言之间的关系如表1所示。
图3 语音模块电路图
表1 数据与语言关系图
■2.5 1602液晶显示模块
1602是一种体积小、质量轻、低功耗、无任何电磁辐射、使用寿命长的新型液晶显示仪。1602液晶屏可以同时表现2行16位的字符,能够更加方便地同时显示繁体英文的每个字母大小写、阿拉伯字母数字、常用的注音符号等。芯片的电源输入和输出工作电压4.5~5.5V,工作时间由芯片电路产生的插入输出工作电流2.0mA,操作简单,便于使用。
系统PCB板图如图4所示。
图4 系统PCB板图
3 软件程序设计
操作流程如图5所示,首先在单片机主执行程序中对需要进行执行的任何一个时候都需要对液晶显示功能进行初始化,其中包括了对液晶显示功能的初始化和对液晶显示内容的初始化,然后才是对单片机定时器的初始化。然后我们就会让它进入一个无限次循环的工作过程,进入这个无限次循环的第一步便是我们启动超声波测距模块,测得实际的距离在1602液晶上清晰地被展现了出来,此时我们可以判断刚刚测得的实际距离值是否远远小于刚刚开始时所设置的安全距离值,如果远远小于刚刚开始时所设置的安全距离值,语音自动播放提醒。在完成第一步之后,然后开始对电脑中按键进行扫描,判断电脑中是否存在某个按键已经被按下,如果电脑中有一个按键已经被按下,则系统会自动对电脑中的报警值进行设置。此时,完成了一次循环的运算过程,接着开始继续地进入一次循环,进行下一轮的移动距离观察和对按键的扫描。
图5 程序流程图
4 工作流程
接入USB电源后,1602显示屏会先显示“Welcome”, 语音播放“欢迎使用超声波测距系统”。将超声波传感器探头对准任意障碍物检测超声波模块回馈信号,有信号启动定时器,计算出S的值,显示屏会出现S=X.XXm,显示的S数据就是此时传感器到障碍物距离,如果按下PCB版图中的K1按键,显示屏会显示alarm=X.XXm,显示的数据就是报警距离,可以按下K2或者K3去调报警距离,如果测出数据小于报警距离则语音播放X.XXm注意安全,如果大于报警距离,不会产生提醒。
5 结束语
本次产品设计测试采用的系统是基于STC89C52单片机的新型超声波在线测距自动控制处理系统。此系统能够快速的测出距离,以语音播放的形式提醒使用者。可以广泛的适用于驾驶员在上路后跟车高速行驶中保持一定的安全距离、汽车倒车防碰撞装置、盲人拐杖等等。由于其安全可靠,造价低廉,能及时精准提醒使用者,一定可以得到大众的欢迎,被大众接受使用,让生活更加智能化。