基于GPS/GSM及超声波测距的智能导盲手杖设计

2018-01-06 12:48黎文炎段淑玉
电脑知识与技术 2017年35期
关键词:单片机

黎文炎+段淑玉

摘要:随着城市交通的迅速发展,视障人士的出行面临着巨大的挑战,传统的盲杖已经不能满足他们安全出行的需求。为了解决盲人出行难的问题,该文设计了一款智能导盲手杖,该手杖基于Arduino UNO单片机辅以GPS定位模块、超声波测距模块、GSM模块、语音模块等,可实现实时定位、遇障报警、发送短信、拨打紧急联系人电话等多种功能。手杖采用语音播报和按键操作方式进行人机交互。该智能盲杖功能较齐全,各模块体积小、成本低,易于规模化生产。

关键词:Arduino 单片机;智能手杖;GPS;GSM;超声波测距

中图分类号:TN929 文献标识码:A 文章编号:1009-3044(2017)35-0263-03

据不完全统计,中国存在1400余万视障人士,社会上与导盲相关的电子产品种类很多,功能越来越完善,各具特点。比如导盲眼镜、智能车等产品普遍存在。在国外,新加坡国立大学所设计的导盲手杖融入了诸多科技元素,依靠定位系统及感应器等内置设备掌握行进方向[1]。在国内,北京理工大学研发的导盲手杖通过超声波检测障碍物,再通过语音芯片将障碍物信息告知盲人,从而实现避障功能。贵阳学院的古训[2]等制作了一款导盲手杖原型,能实现定位、障碍物测距以及声光报警等功能,但不支持拨打和接听紧急联系人电话。

以上电子产品虽然功能完备,但不具备通讯功能,且价格昂贵,不易推广。盲人数量一直在增加,研发一款功能完善、操作简单、价格低廉的导盲手杖是有必要的。本文设计的导盲手杖基于模块化设计思想,根据其功能需求精选市面上成熟的产品模块进行组装调试而成,具备GPS定位、GSM通信(发送短信、拨打电话及接听电话)、超声波测距、语音播报等功能,体积小,精度高,成本低,操作简单,易扩展,便于进一步研究及投产。

1 系统硬件介绍

1) 主控板——Arduino UNO单片机

Arduino UNO单片机是Arduino USB接口系列的最新版本,作为Arduino平台的参考标准模板[3,4]。UNO以ATmega328为核心处理器,可通过USB接口、外部直流电源插座和电源连接器GND和VIN引脚三种方式供电。采用16MHz晶体振荡器产生振荡频率,同时具有6路模拟输入和6路PWM输。通过RX(0号引脚)和TX(1号引脚)进行数据串口通信,且包括SPI通信接口。2个外部中断可同时触发、上升沿和下降沿触发,有利于控制各个任务优先級。可通过按键触发进行复位,利用ICSP header直接下载程序到ATmega328。因其体积小,拓展容易,程序下载方便,数据IO口多,故适合本设计。

2) 超声波测距模块——HC-SR04

超声波测距的原理如图1所示,超声波发射端T发出超声波信号,当超声波信号遇到障碍物反射回来,被接收端R接收,超声波发生器与障碍物的距离S计算公式如下:

S=(Δt *v)/2 (1)

其中,Δt为发出超声波到接收到返回信号的时间,v为超声波在空气中的传播速度(假设不考虑空气中的水蒸气与其他杂物的影响,超声波在常温下的传播速度是340米/秒[5])。

HC-SR04超声波模块性能稳定,精度高,测度距离精确,盲区小[6],主要应用于测距避障、倒车提醒等场合。该模块具有VCC、GND、TRIG(控制端)、ECHO(接收端)4个端口。探测距离范围为2cm-400cm,精确度可高达0.3cm,感应角度不大于15度,因此适用于短距离且偏离角度小的测距。工作原理:通过触发TRIG IO口给模块提供至少10us的高电平(模块自动发送8个40KHz的方波),自动检测信号返回情况,有信号返回时IO口ECHO输出高电平,高电平持续的时间就是超声波从发射到返回的时间。该模块通过测量声波在发射后遇到障碍物反射回来的时间来计算障碍物距离,如公式(1)所示。本设计通过HC-SR04超声波模块和ASR M08-A语音模块配合使用,实现在设定距离范围内障碍物提示作用,提醒盲人注意障碍物小心行走。实物如图2所示。

3) 定位及通信模块——YIXIN_SIM808_A

采用SIMCOM公司YIXIN_SIM808_A 模块,该模块是一款高性能工业级的GSM/GPRS/GPS三合一模块且完全兼容Arduino,也方便嵌入到其他 MCU 系统中使用[7]。其中,GPS(Global Positioning System, 全球定位系统)目前主要应用于防盗、行驶路线监控、物流车辆监控[8]、车辆定位[9]场合,具有定位时间短、定位精度高等特点。GSM/GPRS无线通信适用于全球各地区,可以低功耗实现语音、短信、彩信和传真信息的传输。在本设计中,该模块主要实现获取位置信息、发送位置信息至指定手机、拨打设定电话、接听来电等功能,采用串口发送AT指令与单片机进行通信。

4) 语音模块——ASR M08-A

ASR M08-A非特定人语音模块可实现语音识别和语音播报,支持读取TF卡中语音文件,通过串口输出与单片机或其他外设进行通信。本设计中使用该模块的语音播报功能,实现障碍物距离播报、来电提醒、短信发送情况提示等。在进一步的研究中,可利用其语音识别功能,用语音代替按键输入来控制导盲手杖的各项功能使用。

2 系统软件设计

本设计以Arduino UNO单片机为主控芯片,结合 YIXIN_SIM808_A 模块、HC-SR04超声波模块、ASR M08-A语音模块等,实现定位、通信、语音播报、障碍物测距等功能。各模块具体功能描述如下:

1) Arduino UNO单片机,主控单元,控制着整个系统,处理核心是ATmega328处理器;

2) YIXIN_SIM808_A 模块,实现GPS定位和GSM通信。通过GPS获取盲人行走的位置信息,当盲人在行走过程中遇到特殊情况,手动按下手杖的发送短信按键,将一条短信发送到紧急联系人的手机上,短信内容为单片机解析GPS模块获取到的定位信息(即经纬度);也可以按下通话按键与指定家人进行通话;同时支持家人拨打手杖上的手机号码;endprint

3) HC-SR04超声波模块, 实时检测盲人前方障碍物的距离,当检测到有障碍物后通过与设定的距离进行对比,条件满足时单片机通过串口向语音模块发送指令使语音播放内存卡里面的语音文件;当有电话进来,将停止测距,直到挂断电话,恢复测距;

4) ASR M08-A语音模块,进行来电提示、短信发送情况提醒、距离提示,指导盲人进行操作和安全行走;

系统框图如图3所示,系统流程图如图4所示。

3 系统测试与分析

本系统采用模块化思想进行设计,以Arduino UNO单片机为基础,由 GPS/GSM 模块、超声波模块、语音模块和电源模块组成,各模块协同工作,实现智能手杖的定位、通信、障碍物测距、语音提示等功能,系统原理图如图5所示。

3.1 GPS定位及短信通知功能调试分析

本设计采用GPS对外出盲人的位置信息进行实时定位以防止其走失。盲人在遇到特殊情况时可按下手杖的按键将位置信息通过SIM808的GSM模块发送到指定家人的手机上,其连线如图8所示。同时,GPS获取的定位信息可以在Arduino IDE串口监视窗口中看到。

为测定GPS获取到的位置信息的准确性,将 “百度地图”上查询到的地点位置信息与该模块获取的信息作对比,其结果如表1所示。

从表4可以看出,GPS获取到的位置信息与“百度地图”上显示的坐标信息有误差,误差产生的原因主要有信号的传播误差、接收机误差等[10]。但该误差较小,在可接受的范围内。

再调试位置信息的发送功能。开启电源后,待SIM808模块上的指示灯大约3秒闪烁一次,表示模块工作正常,此时按下发送短信的按键,等待约5秒,待语音提示“定位发送成功”,手机接收到GPS定位信息,如图6所示。

3.2 超声波测距与语音播报功能调试分析

导盲手杖作为盲人出行的辅助工具,准确测量障碍物距离是其重要功能。本设计通过HC-SR04超声波测距模块和ASR M08-A语音模块来实现障碍物距离提示,其连线图如图8所示。

根据实际情况,设定语音播报距离范围:从60cm到100cm,每10cm范围播报相应距离值,100cm—120cm,偶数距离播报相应的距离值。当超声波测量到前方障碍物距离与设定相符时,语音模块播放SD卡的语音文件,提示使用者注意障碍物,避免碰撞。表2、3为超声波测距精度与语音播报测试结果。

从表2、3可以看出,超声波在室内和室外所测的距离与实际距离存在一定的误差,误差范围在0-2cm之间。造成这些误差的原因主要是测量环境的温度、湿度等因素带来的声速偏差,以及超声波发射出与计时器开始计时之间的时间差、回波到达与被检出之间的时间差等[10],其中环境温度造成的误差可通过温度补偿算法来减小。但该误差在可接受的范围内,并不会影响语音播报模块,达到本设计的基本要求。

3.3 导盲手杖的总体功能测试及分析

将各模块进行调试,确认各个模块的功能均满足设计要求后,进行组装,实物如图7所示。经测试,该系统整体性能稳定,精度高,操作简单。

4 总结与展望

本文自主設计一款低成本的基于Arduino UNO单片机的智能导盲手杖,该手杖具有超声波测距、语音播报距离、短信发送GPS定位信息、语音通话等功能。测试结果显示,该智能导盲手杖较好地实现了预期设计的功能,且整体性能稳定。随着大量传感器技术的融入和无线通讯技术的迅速发展,智能手杖在实现导盲避障功能的同时可兼容导航、健康状况检测等功能,为视障人士提供更加安全、便捷的出行保障。

参考文献:

[1] 佚名. 融入定位及传感器技术的导盲手杖[J]. 金卡工程, 2012(1):65-65.

[2] 古训, 张仁兴. 多功能智能导盲手杖设计与实现[J]. 贵阳学院学报:自然科学版, 2016, 11(4):40-45.

[3] 程晨, Arduino开发实战指南AVR篇[M]. 北京:机械工业出版社,2012.

[4] 王力群, 林朝辉. 基于Arduino UNO平台的多适配性无人机避障技术[J]. 科技创新导报, 2016(9):18-19.

[5] Figueroa J F, Lamancusa J S. A method for accurate detection of time of arrival: Analysis and design of an ultrasonic ranging system[J]. Journal of the Acoustical Society of America, 1992, 91(1):486-494.

[6] 李方旭, 马彬瀚, 丁伟,等. 基于HC-SR04超声波传感器的智能避障小车设计[J]. 科技创新与应用, 2016(34):26-27.

[7] 董胡. 基于嵌入式语音识别的家用服务机器人控制系统[J]. 微型电脑应用, 2017, 33(4):15-19.

[8] 何维, 张彦会, 粟腾超,等. 基于GPS/GPRS/RFID物流车载终端的设计[J]. 广西科技大学学报, 2014, 25(4).

[9] 潘盛辉, 谢荣芳, 杨叙,等. 基于GPS/GPRS的车载监控终端系统设计[J]. 广西科技大学学报, 2014, 25(1):70-73.

[10] 黄毓芯. 一款多功能智能手杖的设计与研究[D]. 华侨大学, 2015.endprint

猜你喜欢
单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
Microchip推出两个全新PIC单片机系列