导盲系统的设计及实现

2021-03-22 02:53林君萍
电脑知识与技术 2021年4期
关键词:GPS定位

林君萍

摘要:目前多数的视力患者通过使用盲人杖来辅助独立行走,但盲人杖的功能单一,且存在诸多安全隐患,针对以上问题文中提出的导盲系统在普通盲人手杖的基础上,利用红外测距原理,识别周围是否有物体,利用语音播报模块发出语音信号提示,利用温度传感器感应盲人手心位置温度变化辅助盲人找回导盲杖,通过GPS定位系统,有效地防止盲人走失,实现对盲人位置的实时监控,有效的解决盲人独立安全出行的问题。

关键词:导盲系统;红外测距;语音播报;GPS定位

中图分类号:G642        文献标识码:A

文章编号:1009-3044(2021)04-0024-05

Abstract:At present, most vision patients use blind stick to assist independent walking, but the functions of blindstick is single, and there are manypotentialsecurityrisks. In response to the above problems, the system for assisting blind people proposed in this paper uses the principle of infrared distance measurement based on the ordinary blind cane to identify whether there are objects around, uses the voice broadcast module to send out voice signal prompts, and uses a temperature sensor to sense the temperature change of the blind person's palm to assist the blind people in finding stick, through the GPS positioning system, effectively prevents the blindperson from getting lost, realizes real-time monitoring of the position of the blind people, and effectively solves the problem of independent and safe travel of the blind people.

Key words:guidance system for blind people;infrared distance;voice broadcast;GPS positioning

据世界卫生组织统计,目前全球共有盲人约4500万,其中90%生活在发展中国家,另有1.8亿人深受视力障碍的影响[1]。目前大部分的视力残疾患者都用普通的盲人杖来辅助独立行走,但盲人杖的功能单一,且存在诸多的安全隐患,同时无法实现对周围大范围内的障碍物地探测等。于是人们考虑通过训练犬类作为导盲犬,导盲犬在很大程度上改善了盲人的出行困难问题,但是训练一只合格的导盲犬需要花费大量的时间与经济成本。2006年在中国大连成立了我国第一家也是目前为止唯一的一家非营利的导盲犬培训机构,机构成立8年,毕业交付使用的导盲犬仅80只,导盲犬的培训工作步履维艰,远远无法满足供求关系,更无法实现普及。因此设计出一款使用方便,价格低廉,能有效弥补导盲犬不足的导盲系统具有十分重要的意义。

1 系统硬件设计

系统主要通过红外线传感技术,在盲人前方和左右方发射红外线信号。在遇到物体时,就会反馈目标方向的信号,经过单片机处理信号后,用语音芯片发出警告。盲人再根据提示做好避障准备。利用GPS模块采集实时定位信息,在用GSM模块将定位信息发送给盲人的家人,达到防走失的作用。

以AT89S52和STC12C5A60S2单片机为控制核心,通过夏普GP2Y0A710K0F红外线测距模块和ISD1420语音模块实现测距语音播报功能,通过GPS定位模块采集信息并利用GSM模块发送短信,实现对盲人位置的监控。

硬件电路的设计主要分为两个部分:一、红外测距及语音播报主控模块:用AT89S52单片机将红外测距模块、语音播报模块、DS18B20温度传感器模块电路相连接,红外测距及语音播报主控模块原理框图如图1所示;二、定位模块:用STC12C5A60S2单片机将GPS定位模块和GSM模块相连接,定位模块原理框图如图2所示。红外线测距通过红外线传感器采集,AT89S52单片机将所采集的数据通过ISD142语音模块进行播报,用DS18B20作为温度传感器来驱动蜂鸣器报警来判断导盲杖是否脱离使用者。用ZTK-NEO-6M采集用户位置数据给STC12C5A60S2单片机,STC12C5A60S2单片机通过串口通信单元控制SIM300模块发短信,让盲人的家人能及时掌握盲人的地址信息以防止意外的发生。具体实现功能如下:

(1)通过红外线测距模块可以检测出前方、左方、右方三个方向所传送来的障碍物的信息。

(2)通过ADC0832将模拟数据转换成数字数据,用中央控制器控制ISD1420实现语音的播报。

(3)通过DS18B20采集温度,用控制器设置温度门限,并控制蜂鸣器报警。

(4)通过STC12C5A60S2控制GPS定位模塊采集实时的经纬度信息。

(5)通过STC12C5A60S2控制GSM模块与用户指定的手机进行通信,GSM模块就可以定时将采集到的经纬度信息发送至用户指定的手机,并且可以通过手机发送短信内容来控制GSM模块马上返回一条位置信息,在真正意义上实现盲人的家人对盲人位置的监控。

2 硬件电路设计

本设计根据不同的模块不同的功能及硬件对串行口不同的需求,选用了不同的主控芯片,采用了STC公司的STC12C5A60S2和Atmel公司的AT89S52单片机。

2.1 STC12C5A60S2主控电路设计

设计采用STC12C5A60S2作为GPS数据采集和GSM数据传输电路的控制器。STC12C5A60S2拥有全双工串行通信接口,串口1用于GSM模块与单片机连接,串口2用于GPS模块与单片机连接。具体主控电路设计如图3所示,选用了封装40脚直插式的STC12C5A60S2作为主控芯片。STC12C5A60S2是机器周期为1T的单片机,作为新一代的单片机,比起传统的8051单片机它的抗干扰性更强、速度更快、功耗更低[2]。该单片机芯片内部集成了一个复位电路,可以同时实现8路信号、40Msps的A/D转换,有两个引脚输出PWM信号;芯片上合成了1280字节的读写存储器;还有两个时钟输出口,P3.4端口作为T0输出时钟,P3.5端口作为T1输出时钟。

2.2 AT89S52主控电路

设计中采用AT89S52作为红外线测距语音播报电路的主控制器,主控电路设计如下图4所示。AT89S52具有256节程序运行空间、8字节闪存,并且支持高达64K的外部存储扩展。在单独的芯片上,能娴熟地处理8位传输数据和系统可编程,有很强的灵活性,因此成为大多数应用程序的首选解决方案。

3 系统软件设计

3.1红外测距语音播报模块主程序设计

在系统中,当红外模块被启动后,先对AT89S52单片机进行初始化,然后通过红外线发射端发射红外信号,红外线接收端接收红外信号,经A/D转换,将片外的模拟量转换为单片机能识别的数字量用来判断距离[3]。距离阈值设置为100cm,当距离大于设置阈值时,红外发射管重新发送红外信号;当距离小于设置阈值时,单片机就驱动语音模块进行播报。红外线传感测距模块主程序流程图如图5所示。

3.2温度传感模块程序设计

温度传感模块是采用DS18B20作为温度采集部分,该传感器兼具测量和读取温度值的功能。测量的温度用二进制补码读数形式表达,经过转换得到16位的二进制数据。得到的数据存储在传感器的两个8比特的存储器中,如表1所示。

如图6所示,在单片机初始化后,设置DS18B20的温度报警门限,当温度低于门限时,输出高电平给蜂鸣器产生报警信号。

3.3 GPS模块定位数据采集程序设计

3.3.1 GPS数据采集主程序设计

定位模块主程序主要由程序初始化、GPS数据采集设置、GPS数据处理三个部分组成,具体如下图7所示,用中断方式采集数据,数据再通过子程序完成处理,关键是对经纬度数据的处理,即GPS信息输出格式。数据处理后由GSM传输位置信息。

3.3.2 GPS信息输出格式

ZTK-NEO-6M的数据格式为美国信息交换标准码,由8位二进制数组成,可以径直使用C语言进行编译,然后采集到要求的数据。ZTK-NEO系列模块可以输出12句语句,分别是GPGGA,GPGSA,GPGSV,GPRMC,GPVTG,LCGLL,LCVTG,PGRME,PGRMF,GPGLL,PGRMV,PGRMT。输出的12句语句代表的信息是不一样的。如GPGGA语句中传送的格式为:

$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<11>,<12>*hh

传送的信息说明如下:

$GPGGA:说明GPS定位数据和语句格式;

<1>协调时间,时时分分秒秒格式;

<2>纬度,度度分分。分分分分格式;

<3>纬度半球,北纬N或南纬S;

<4>经度,度度分分。分分分分格式;

<5>经度半球,东经E或西经W;

<6>GPS采集判断,0表示为方位不能操作,1表示非差分方式能使用方位,2表示差分方式可以使用方位,6表示能行使操作;

<7>使用卫星数量,从00到12;

<8>水平精确度,0.5到99.9;

<9>GPS与海平面的高度差,-10000米到10000米;

<10>大地水准面高度,-10000米到10000米;

<11>差分方式判断,设置无线电的传送量;

<12>差分参考基站标号,从0000到1023;

*语句结束标志符;

3.4 GSM模块无线传输程序设计

该导盲系统接通电源开始工作后,会对GSM模块和单片机程序进行初始化设置。单片机初始化设置包括一个串行端口、标志位、码元速率和变量参数初始化。GSM模块初始化设置主要有重启和关机回应,通过把返回值的头信息设置成在文本模式下不会详细显示的信息,并将短信格式设置为文本模式,同时建立一个串行口中断用来收集信息[4]。程序设定了可寻址标示的返回参数,使得模块在面对不同参数时能做出相应的回应。其中可寻址的标志位分布在STC12C5A60S2的位寻址区中2FH和2EH两个字节单元中,具体如下表2所示。

3.5 GSM模块无线传输程序设计

3.5.1 定时器中断程序设计

在主程序中,不需要一直发送采集到的经纬度数据,所以对字程序需要选取一个适合的调度时间。本设计中采用定时器中断程序实现数据的定时发送。当定时器达到180ms,将变量timer_count自加1。当timer_count=1000时,发送标志位置位,所以定时时间为180ms×1000=180s。定时器中断服务程序主要用于GSM传输数据。如图8所示。

3.5.2 GSM串口中断程序设计

在GSM串口中断程序中,先进行初始化,然后将数据从接收缓存区中读出,判断是否有收到‘CMTI。若收到‘CMTI,则表示有新的短消息,程序便进行发送读指令。在读信息后进行数据处理,数据处理结束后发送删除短信指令,将短信删除。若没有收到‘CMTI,则清空接收缓冲,具体工作流程如图9所示:

4总结

针对盲人安全出行问题,文中提出的智能拐杖的导盲系统充分利用红外线测距的原理,发射一定频率的红外脉冲信号,在遇到物体会反射回红外脉冲信号,系统接收并经过处理后,将检测到的信息通过语音播报反馈给盲人,这样就能弥补盲人在视觉功能上的缺陷,以此来辅助盲人有效避障。系统还增加了温度传感和GPS定位的功能,利用温度传感器辅助盲人找回导盲杖防丢失;同时还带有GPS定位系统,有效地防止盲人走失,并解决盲人安全独立出行的问题。

参考文献:

[1] 房东东.双目视觉导盲系统探索与研究[D].中北大学,2013.

[2] 郭天祥.51单片机C语言教程入门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2009:166-223.

[3] 燕學智,王树勋,马中胜,李辛,等.基于超声红外定位导航研制自动引导车辆系统[J].吉林大学学报(工业版),2006,36(2):242-246.

[4] 皮波,姚振东,廖政炯,等.基于GSM通信技术的远程监控系统设计[J].单片机与嵌入式系统应用,2015,15(10):76-79.

【通联编辑:王力】

猜你喜欢
GPS定位
基于STM32的儿童管家设计
移动轨迹挖掘算法设计与系统实现
一种基于卡尔曼滤波的动态目标GPS定位算法
基于安卓系统的手机防盗设计与实现