【参赛经验分享】智能导盲杖设计

2021-10-12 14:20:42 浏览数 (1)

1基于单片机的智能导盲杖设计.pdf

基于单片机的智能导盲杖设计

刘通

(北京信息科技大学,北京 100083)

要:中国的盲人数量占全球盲人数量比重很大,盲人在日常交通和生活活动中都受到很大限制,盲人对于出行有很大的困扰。本篇论文利用超声波测距原理解决盲人出行问题。本文首先介绍了国内外定位的发展现状和发展趋势,其次对硬件进行选型和硬件外围电路设计,对硬件电路部分的各个模块做了详细设计说明,包括单片机最小系统、电源电路、超声波测距电路、GPS模块电路、GSM模块电路、报警电路、显示电路以及语音播放电路。根据所画流程框图编写程序,再通过仿真电路图进行调试。通过实验表明,本系统能实现距离的实时测量、语音播报、紧急报警的功能。经测试本系统具有硬件结构简单、成本低、工作可靠、流程清晰、精度高、易于推广的优点。

关键词:STC 超声波测距 定位 语音

Design of Intelligent Guide Based on Microcontroller Unit

LIU Tong

(Beijing Information Science & Technology University,Beijing 100083)

Abstract:The number of blind people in China accounts for a large proportion of the total number of blind people in the world. The blind are greatly restricted in their daily transportation and life activities, and they have great difficulties in traveling. This paper uses the principle of ultrasonic ranging to solve the problem of blind travel. This article first introduces the status quo and development orientation of development trend, the second to the selection of hardware and peripheral hardware circuit design, the hardware circuit of each module detailed design, including single chip microcomputer minimum system, power supply circuit, ultrasonic distance measurement circuit, a GPS module circuit, GSM module circuit, alarm circuit, display circuit and voice circuit. According to the drawing of the flow diagram to write the program, and then through the simulation circuit diagram debugging. The experiment shows that the system can realize the functions of real-time distance measurement, voice broadcast and emergency alarm. Through testing, this system has the advantages of simple hardware structure, low cost, reliable work, clear flow, high precision and easy popularization.

1 绪论

我国曾在上世纪 80 年代进行过视力残疾状况调查,结果显示,我国有视力残疾患者近 1300 万,其中盲人约就有 550 万。从全国防盲技术指导组办公室得到的数据也显示,我国有 500 万盲人,占世界盲人总数的 1/5[1]。

1.1 背景及意义

随着人民生活水平的不断进步,让生活变得越来越简单成为了人民普遍追求的生活理念。盲人既是我们普通人民中的一员,又是一个特殊群体,他们由于先天的生理缺陷,在日常生活中比我们常人会遇到更多的不方便,不能准确及时的发现并躲避障碍物就是一个重要的弊端。虽然在现实生活中大多数的盲人都是由普通的拐杖来辅助行走的,但这种拐杖只是一根普通的长杆,存在着太多的不足,比如不能探测上方悬挂的障碍物,不能识别稍远一点的障碍物等[2]。导盲犬虽然是引导盲人行进的不错选择,然而训练的不易、耗时及成本高昂也使得导盲犬的使用率并不高。如果有一种既轻巧,又便宜,同时又能及时的识别周围障碍物并发出报警信号的智能拐杖在盲人的手中将会为盲人的生活提供极大地方便。 GPS 全球定位系统是一个基于卫星导航定位技术的全天候、被动式无线电导航、定位、授时系统[3]。目前我们所用到的导航定位产品几乎全部是以 GPS 全球定位系统为基础应用的产品, GPS 导航定位系统以其高定位精度、全天候定位等优势被广泛应用到各个领域中,同时也带来了美好的市场前景,其拥有着不可替代的地位。GPS 全球定位系统目前已经成为应用最为广泛的、具有广阔的应用前景的一种定位系统。目前,全球 90%以上的导航定位设备都在向 GPS 定位靠笼。GSM 移动通信系统是我国国内目前发展最成熟和市场占有量最大的一种数字蜂窝移动通信系统,其新业务、新功能也是层出不穷。当然在利益的驱使之下,许多的新业务及功能都是为了满足用户的移动定位需求,面对国内人数超过 5 亿的用户群体,移动定位技术的快速发展也就显得迫在眉睫了[4]。 随着 GPS 全球定位技术和GSM通信技术的广泛应用和发展,通信链路的建立、数据信息的传输显然已经成为实际应用中尤为突出的问题了。GSM 系统短消息业务的快速发展使人们看到了一种全新的解决问题的途径,同时也使得 GSM 网络和 GPS 技术的应用领域更加广阔,他们之间的联系愈加紧密。GPS 和 GSM 的联合定位早在 2007 年的欧洲,就已经有了长足的发展,随着国内的快速发展,GPS 和 GSM 的联合定位的需求也呈现快速的增长态势。本课题就是利用 GPS 定位和 GSM 移动定位两种技术,同时利用 GSM 系统的短信技术来实现导盲系统的信息定位。

2 硬件及软件设计

2.1 总体方案设计

系统总设计框图如图2.1所示,本设计硬件部分主要以下八个部分:单片机、语音模块、超声波测距模块、电源电路、报警模块、显示模块、时钟模块、通信模块组成。系统以STC12C5A60S2单片机为核心器件。

图2.1 系统整体框图

测距模块:测距有两种常见的方法,一个是超声波测距,一个是红外测距,两者相比,红外测距的测试精度低,距离近,方向性差。超声波测距性能稳定,测试距离精确,精度高,盲区小,应用方面广泛,选用超声波测距。超声波测距公式:测试距离=(高电平时间*声速(340m/s))/2,采用超声测距模块作为系统的距离检测传感器,当检测到的任何-一个距离小于系统设定的最小距离,系统都会报警提示持杖人的前方有障碍。

语音模块:本系统设置了同步的语音播报,这样可以使使用者确定的接收到系统的报警,提高了导盲杖的使用准确性,也同时保证了使用的安全系数。语音模块的设计是由 STC89C52单片机发出指令到语音芯片,再由语音芯片发送相对应的电信号经放大后到喇叭使之发出声音。

显示模块:液晶屏采用LCD1602,可以显示距离测量值。

按键模块:短信一键发送、距离设定值加减键、时间报时。

报警模块:当距离测量值小于设定值LED报警警示行人,同时导盲杖震动,当外部环境嘈杂,遇障碍时语音播报不能被盲人听见,导盲杖震动可以提示盲人避障。

通信模块:模块包括GPS定位、GSM短信发送,通过采集GPS信号中的经纬度信息,需要将信号进行处理来采集数据,实现GSM短信报警时,将经纬度信息包含在短信中,如果遇到紧急情况,还可实现一键报警。

时钟模块:采用DS1302时钟芯片,可以即时时间报时。

2.2 主程序设计

图2.2 主程序流程图

该设计的主程序流程图如图2.2所示。主程序需要实现的是循环调用各个子程序,主程序本身并不承载功能性任务,在主程序中通过调用各个子程序来实现功能,本身则是一个循环体结构。主程序用来调用各子程序的操作,主程序流程图中有一个死循环结构,调用的其他子程序操作是为了分别检测障碍物与盲人之间的距离,一个死循环是为了让子程序能够不断地重复运行,让各个子程序循环测量距离。主要子程序为超声波测距子程序、语音播报子程序、时钟子程序、显示子程序、GPS定位子程序、短信报警子程序和键盘子程序。

2.3 超声波测距子程序

本设计的测距功能采用超声波测距模块HC-SR04实现,其工作的时序图如图3.2所示。

图2.3 HC-SR04工作时序图

在测量距离的过程中单片机会给TRIG引脚一个越10us的高电平脉冲信号,紧接着内部模块会循环发出8个频率为40kHz的脉冲,然后等待回波信号返回接收端,在等待回波信号回传的这一段时间内,输出回响信号会在ECHO引脚保持高电平,直到接收端接收到回波信号之后RCHO引脚变为低电平。当检测到输出回响信号变为高电平时启动定时器1,再将外部中断0设置成下降沿触发。检测到输出回响信号变为低电平时进入中断程序,在中断程序中读取TH1和TL1的数值,通过计算就可以得到时间,再用时间乘以声波的速度就能够得到距离。基于这个思路进行了编程。

超声波测距子程序流程图如图2.4所示。

图2.4超声波测距子程序流程图

调用超声波测距子程序,初始化后,TRIG端发射脉冲信号,ECHO端口变高电平,启动定时器,ECHO端口变高电平,然后读取时间,再计算距离,最后回到主程序。

2.4语音播报子程序

语音播报子程序如图2.5所示。

图2.5语音播报子程序流程图

在盲人走路时,如果前方1米处有障碍物,则盲杖自动语音提示“前方一米处有障碍物,请注意!”,如果前方1米处没有障碍物,无提示音;如果前方2米处有障碍物,则盲杖自动语音提示“前方二米处有障碍物,请注意!”,如果前方2米处没有障碍物,无提示音;如果前方3米处有障碍物,则盲杖自动语音提示“前方三米处有障碍物,请注意!”,如果前方3米处没有障碍物,无提示音。手柄震动警示功能,可以让盲人在嘈杂的环境中通过手柄的震动接收到前方障碍物信号,弥补了语音提示在嘈杂环境中的弊端。

2.5时钟子程序设计

时钟子程序流程图如图2.6所示。

图2.6时钟子程序流程图

启动时钟子程序,先进行变量初始化,使DS1302不具备写保护,复位端产生一个高电平,继续写DS1602地址,延长一段时间后,向该地址写数据,地址加1,判断写完了吗?没有写完继续写DS1302地址,写完数据后复位端产生一个高电平,写DS1302地址,延长一段时间后,将该地址的数据读出,地址增加,再判断数据是否读完了吗?没有读完返回写DS1302地址,数据读完返回到主程序。

2.6显示子程序设计

显示子程序流程图如图2.7所示。

图2.7显示子程序流程图

调用显示子程序,首先LCD1602初始化,设置写命令、设置显示坐标和设置相应的字符,判断上个字符是否显示完毕,如果字符显示完毕继续显示下一个字符,没有字符显示完毕则继续设置写命令,显示下一个字符后返回主程序。

2.7 GPS定位子程序设计

GPS定位子程序流程图如图2.8所示。

图2.8 GPS定位子程序流程图

开始参数初始化,然后等待系统初始化,初始化后延时等待GPS-GET模块启动,继续判断GPS-GET启动是否完,如果GPS-GET启动没有完成继续延时等待GPS-GET模块启动,GPS-GET启动完成后GPS初始化,判断接受信息是否有效的数据,有效则开始定位,数据分析,最后输出解析后的数据再返回到主程序。

2.8 短信报警子程序设计

短信报警子程序流程图如图2.9所示。

图2.9短息报警子程序流程图

启动短信报警子程序,进行GSM初始化,AT位置英文短信模式,AT位置使用GSM字符,AT位置接受短信号码,串口输出配置,判断按键是否发送?发送则短信发出,不发送继续GSM初始化,短信发送后回到主程序。

3 仿真设计

3.1 Proteus仿真

Proteus仿真电路图如3.1所示。

图3.1 Proteus仿真电路图

通过超声波测距模块实现对距离测量的仿真,以及对LCD1602的显示。因为Proteus元件库中没有HC-SR04型号的超声波测距模块,则采用SRF04型号的超声波测距模块,通过选用元件库中的元器件来组成本次设计的仿真电路图。首先进行仿真的部分是SRF04超声波模块,距离测量值显示在LCD1602上。然后进行仿真的部分是蜂鸣器报警功能,此处所需的硬件较为简单,一个蜂鸣器,一个三极管,两个限流电阻就组成了简单的报警电路。关于报警电路的仿真任务就是能够通过编程实现蜂鸣器在检测到距离测量值小于距离设定值的时候导通发出报警声。时钟仿真部分由于无法通过仿真实现按键语音即时报时,所以只在LCD1602显示屏上显示即使时间。GPS定位和GSM短信发送无法实现仿真,所以就不再进行了。

图3.2 程序编译成功

在使用proteus软件画完硬件仿真图后,还要把程序在Keil的软件里新建项目,然后新建.C的文件把程序编写进去,在创建新项目时我受到了阻挠,第一次创建的项目不能编译,而且不能生成.hex文件,仿真图根本没办法运行,在看了多遍教程后成功能新建出.C的文件,在编程完成后使用左上角的编译键,在编译到没有错误后就可以生成.hex文件。

转换到proteus仿真图,点开主控芯片,弹出的页面有文件的第二行可以选择文件,点开后通过保存路径找到并选中.hex文件,考入主控芯片中。点击左下角运行键开始运行就可以看到仿真效果,通过对编程的修改完善仿真效,用仿真效果来模拟真实地运行状态。

3.2 超声波测距仿真

图3.3 超声波测距仿真接线图

超声波测距仿真接线图如图3.3所示。由于Proteus内部元件库中没有HC-SR04超声波模块,所以在Proteus元件库中找到SRF04代替HC-SR04超声波模块。HC-SR04的Trig端口和Echo端口接入单片机的I/O口接,先对trig和echo 初始化,两个引脚都给低电平,给trig引脚发送一个高电平脉冲最少10us,待echo输出一个高电平,采集单片机到上升沿的同一时间,打开定时器开始计时,等到采集单片机echo变成下降沿时,结束计数,读出计时器的时间,计数器的计数值乘以单片机计数周期就是超声波从发射到接收的往返时间。

3.3 时钟仿真

图3.4 时钟电路仿真接线图

时钟电路接线图如图3.4所示。时钟电路仿真接线图如图4.4所示。DS1302与单片机的连接需要三条线,即SCLK、I/O、RST。按键按下可以在LCD1602显示屏上显示即使时间,同时也应该用语音芯片实现语音播报时间,但仿真中无法实现这一功能,所以就不进行仿真了。

3.4 显示仿真

图3.5显示仿真接线图

显示仿真接线图如图3.5所示。在Proteus 元器件库中没有LCD1602,所以使用LM016L代替LCD1602。P0口为数据总线,P2.5、P2.6、P2.7控制LCD1602的RS,RW,EN。设置和读取DS1302内部时钟,并通过LCD1602显示。DS1302芯片接口占用JTAG仿真接口,在做实验时需要关闭mega16的JTAG功能,否则不正常显示。

3.5报警提示

图3.6报警仿真接线图

报警仿真接线图如图3.6所示。在仿真时偏振电机无法达到震动效果,所以使用蜂鸣器代替偏振电机。距离测量值小于距离设定值时,蜂鸣器发出警报。

结论

本次设计采用STC12C5A60S2单片机,其中各个模块一起完成了智能导盲杖检测和定位通信功能,对结果进行提示和报警,在单片机的选型时,打算采用STC89C52,但是有定位通信功能,导致外部接口不足,所以采用了现在的单片机。

本次设计分为两部分设计即硬件设计、软件设计。硬件设计先进行器件选型、设计芯片外围电路,最后再画出完整的硬件原理图。硬件包括单片机、语音模块、超声波测距模块、电源电路、报警模块、显示模块、时钟模块、通信模块,系统以STC12C5A60S2单片机为核心器件,超声波测距模块选型为HC-SR04,显示模块为LCD1602,时钟模块为DS1302,语音模块采用ISD1760芯片,短信模块使用TC35i,使用VISIO绘制流程图并编写程序,对一些模块进行仿真。

本设计主要通过超声波测距模块实现对障碍物的测量,根据测量距离的不同用语音提示盲人,当测量距离超过距离设定值时,语音提示并震动报警,在紧急情况下,盲人可以通过一键发送信息给家人,及时知道盲人位置,显示屏上显示即使时间和测量距离。

本设计还有很多不足,比如可以通过颜色传感器来识别斑马线两侧的红绿灯,给盲人正确的引导;用光敏传感器检测光线,在光线暗时自动开启LED灯,方便周围人的识别,有利于盲人夜间安全;采用温度传感器检测外部温度,能使盲人了解到外部环境的变化;可以通过语音识别来指导盲人到达目的地,实现人机交互。通过查找资料,更加了解了智能导盲杖的发展现状,学到了很多先进的技术。

参考文献

[1]刘国传,陆琳,侯明,王天星.智能化盲人超声拐杖的研制[J].医疗装备,2007(03):1-2.

[2]赵晓东,孙运强,姚爱琴.超声波导盲杖的设计[J].山西电子技术,2011(05):19-21.

[3]姚翔. 双通道超声波导盲系统的研究[D].第一军医大学,2006.

[4]张靖雪,许泽天,胡沛.智能便携导盲杖设计[J].科技风,2017(26):1-2.

[5]张东方,解珂,陈强强.多模块智能语音导盲杖[J].福建电脑,2018,34(07):48-49.

[6]I. Ulrich and J. Borenstein: Local obstacle avoidance with look-ahead verification", Proc. 2000 IEEE Int. Conf. Robotics and Automation, pp. 2505-2511.

[7]张东方,解珂,陈强强.多模块智能语音导盲杖[J].福建电脑,2018,34(07):48-49.

[8]吴允强. 基于可见光的音频传输系统研究[D].南昌大学,2019.

[9]彭跃磊,宋东亚.基于单片机的超声波测距仪设计[J].电子制作,2016(13):63 65.

[10]王满利,张涛.基于单片机的矿井提升机语音报警系统设计[J].煤矿机械,2014,35(11):262-264.

[11]余亚东,周佳,叶森钢,潘张鑫.基于GPS/GSM的汽车防盗报警系统设计[J].电子技术,2010,37(02):75-76 72. [12]王浩然. LED双色屏及其控制系统的设计与实现[D].杭州电子科技大学,2011. [13]Nakajima, M., Haruyama, S.: New indoor navigation system for visually impaired people using visible light communication. EURASIP J. Wirel. Commun. Netw. 2013, 1 (2013).

[14]李杰.基于单片机的超声波测距报警系统的设计[J].数字技术与应用,2018,36(09):7-8.

[15]I. Ulrich and J. Borenstein: Local obstacle avoidance with look-ahead verification", Proc. 2000 IEEE Int. Conf. Robotics and Automation, pp. 2505-2511.

[16] Yichun Yang, Chizhou Ma. Algorithm study of fast and accurate time-delay estimation with fine interpolation of correlation peak[J]. Acta Acustica, 2003, 28(2): 159-166.

[17]Sanchez, J.; Oyarzun, C. Mobile Assistance Based on Audio for Blind People Using Bus Services. In New Ideas in Computer Science Education (In Spanish); Lom Ediciones: Santiago, Chile, 2007; pp. 377–396.

[18]Zhang QiangLi, Zheng Y.P.,Gain G,. Flatness Considerations on the Ultra-Wideband Low-Noise Amplifier Design[J].IEEE Trans,2005,6(4)

0 人点赞