摘要: 本文利用超声波测距原理,以AT89S52单片机为主控核心,设计了一种导盲装置,该装置可以对盲人前进的道路上的障碍物进行距离探测并把障碍物的距离信息转换成声音和振动提示,从而起到导盲作用。
关键词: 单片机;超声波;导盲
0 引言
盲人作为特殊的群体,其借助的辅助工具主要有手杖和导盲犬,其中使用手杖最为普遍。传统的盲人拐杖是一根长杆,存在一系列的不足。例如:探测的距离受限于拐杖的长度;难于探测悬挂的障碍物;无法对快速接近的障碍物发出预先报警;公共场合不利于收藏等。本文构思设计一种能辅助盲人安全行动的智能拐杖,该拐杖可以对前方一定距离的障碍物进行探测,并给出警报提示,从而对视力存在缺陷者提供较好的辅助行走功能。该设计采用基于超声波传感器,以单片机为主控芯片,利用超声波测距原理辅助盲人行走,使用简单方便,具有方向性强、能量易于集中、传播距离较远,以及对障碍物定位具有一定的精确性,体积相对较小、方便携带、价格低廉等特点。
1 系统的硬件结构及基本功能
本设计主要分为主控模块、超声波测距模块和报警模块三个部分。首先由超聲波传感器发射端产生一个高频的超声波,然后接收端接收到这个回波,通过计算传感器发送信号和接收信号的时间间隔来确定对象的距离,最后通过对距离的判断发出警报信号,实现智能导盲的作用。
本设计中的测距模块采用收发分体式,由一对超声传感器组成,超声波发射电路主要由反相器74LS04和超声波发射换能器T构成,由主控模块向超声波的发射端送出固定频率(40kHz)的脉冲信号,在发射端经一级反向器后送到超声波换能器的一个电极,将电脉冲信号转成超声波发射出去,若前方有障碍物存在,超声波接收端将收到的一部分反射回波转为电信号,该信号经放大后送至主控模块的另一路,被主控模块接收后计算回波时间,从而计算出障碍物的距离。
1.2 主控模块
本设计采用的主控芯片是AT89S52,它是一种低功耗、高性能的CMOS 8位微控制器,具有8K在系统可编程Flash存储器,使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在线可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。
在本设计中,该芯片主要完成把各个模块之间的数据信号进行分析处理后给出相应的指示,利用内部的定时器/计数器控制超声波发射接收并计算超声波的时间,通过时差算出距离,最终通过软件实现障碍物的识别,输出结果。
1.3 报警提示模块
由于导盲杖被广泛用于室外的嘈杂环境中,本设计采用了蜂鸣器和振动双重报警,当通过超声波的发射和接收电路以及软件结合判断出前方有障碍物时,系统将发出报警信号。
声音报警电路通过一个简单的三极管驱动蜂鸣器报警,振动报警则是利用小型电机偏心轴原理实现导盲杖振动,可用于安静环境或嘈杂环境中听不见语音提示的情况。
2 系统软件模块组成及基本功能
系统的软件设计采用C语言,可以大大提高程序编写时的效率,设计的关键是超声的发射和接收,障碍物距离的计算和语音报警。主程序首先对系统初始化,然后循环调用超声波发射子程序,延时程序,超声波测距子程序,报警子程序等。其中,超声波发射子程序的主要功能是利用单片机的P1.0口产生一个频率为40KHz、占空比为40%的方波。考虑到前方可能一直没有障碍物的特殊情况,并为了使定时器便于计时,以及距离范围在3米内的具体要求,发射子程序采用先连续发射40个周期的方波(时长为1ms),然后延时20ms(用于等待接收端应答)的方式,保证每次收到的回波都是最近一次发射的脉冲反射回来的。
测距子程序包括回波时间计算和距离计算两部分:回波时间计算由单片机的的P1.1口控制,一旦查询到该引脚由高到低,则表明接收到了本次发射返回的超声回波;而距离的计算则通过定时器中存储的数据进行简单运算得出。
报警子程序分为振动报警和蜂鸣器报警,之所以采用振动报警是由于考虑到嘈杂环境下蜂鸣器音量有限而设置的
3 结论
本设计利用基于单片机的超声波测距原理完成了智能导盲杖的设计,可以探测到0到3米的障碍物,同时发出蜂鸣和振动提示,实现了探测一定范围内障碍物的功能,制作出的实物还在调试测试阶段,功能稳定性还有待于后期调试和检验。
此外,本设计目前只能暂时测试出前方的障碍物,对于左右方向的障碍物尚在设想中,考虑可在不同的方向各配备一个超声波探头,软件设计的时候设置三个方向的数据分析,这样就可以增加障碍物识别的范围。
参考文献
[1]胡伟,季晓衡.单片机C语言程序设计及应用实例.北京:人民邮电出版社,2003:269-395.
[2]杨西明,朱骐.单片机编程与入门.北京:机械工业出版社,2004:206-212.
[3]薛晓书.单片微机原理及接口技术[M].西安:西安石油大学,2002:18-25.
[4]夏路易,石宗义.电路原理图与电路板设计教程Protel 99SE.北京:北京希望电子出版社,2006:69-189.
[5]郑冬青.用PROTEL99 SE布线的基本流程.http://www.protel.myrice.com/.2001-10-10.
[6]Kim Hyoung-Tae.How to use KEIL 8051 C Compiler.Yangseogak publish Company,2001:1-19.
[7]S.moue,S.Konomi,H.Yasuura.Privacy in the Digitally Named World with RFID Tags. Workshop on Socially-informed Design of Privacy-enhancing Solutions in Ubiquitous Computing,2002:1001-1004.
[8]R.Want,K.Fishkin,A.Gujar,B.Harrison.Bridging Physical and Virtual Worlds with Electronic Tags. ACM CHI,1999:193-196.
注:本论文为2020 年度浙江省大学生科技创新活动计划暨新苗人才计划项目(2020R443003)研究成果