宋爽 邹治嘉 马宏强
摘 要:目前,由于市场上的导盲拐杖功能比较单一,无法满足盲人的需要。针对这一问题,文中设计了一种基于STM32的智能导盲拐杖。此款拐杖为空心圆柱状,选用stm32f103rct6为主控芯片,并且通过超声波测距、语音合成、紧急按键物理装置来实现给使用者的提醒、导盲功能,通过GPS定位成熟物联网技术实现导航定位功能,帮助盲人更加智能方便的出行。
关键词:MCU;智能导盲;单片机;超声波测距;GPS定位
盲人外出时会遇到各种情况,如遇到障碍物,不清楚路况,或者因为监护人不在而走丢等。因此,本文利用现代已有技术,研究出一种新型导盲系统,通过软硬件结合,以实现障碍物避障、语音与发光提示、角度测量防摔以及GPS定位功能,以帮助盲人解决出行时遇到的问题。
1 智能导盲拐杖的设计系统结构
图1 原理框图
选用stm32f103rct6为主控芯片,配合独立的电源电路、光控发光电路、由SYN6288模块构成的语音合成电路、由HCSR04模块构成的超声波测距电路、由压力传感器及压力转电压模块构成的压力检测电路和由SIM868模块构成的定位电路,实现一款集测距避障、危险报警、紧急报警按键、实时定位和发送消息于一体的智能导盲拐杖。
2 硬件电路设计
2.1 主控芯片最小系统设计
图2 stm32f103rct6最小系统
其中,包括stm32f103rct6最小系統、下载端口电路和变压电路。在晶振电路中,8MHz晶振提供外部高速时钟(HSE),用于提供更精确的系统时钟;32.768KHz晶振提供外部低速时钟(LSE),为精确定时服务,可用于RTC电路时钟源,可为低功耗提供计时。
2.1.1 语音合成模块电路设计
利于syn6288模块,通过与主控芯片进行串口通信,达到语音合成的目的,如播报时间、危险警报等。
2.1.2 GPS定位模块电路设计
通过串口与主控芯片进行通信、实现定位、发送信息的功能。
2.1.3 超声波测距模块电路设计
将HCSR04模块安装于拐杖底部前端,通过端口TRIG和ECHO给主控芯片传输信号,主控芯片根据所传输的信号进一步计算得出所测距离,当距离小于某一设定值则主控芯片控制语音合成模块发出危险警报,达到避障的目的。
2.1.4 独立电源模块电路设计
其中,设计了利用太阳能板给蓄电池充电电路,TP4056模块将太阳能板提供的电能充入蓄电池中,蓄电池则采用可充放电的锂电池并配备充电口,电池容量大小可根据最终运行结果现在合适的容量。
图3 电源模块电路
2.1.5 光控发光电路设计
由于D5光敏电阻的灵敏度非常高,远远大于人眼对光强弱的判断,故此电路不涉及主控芯片,在自然光较弱的情况下即可触发此电路,自然光越弱光敏电阻阻值越大,三极管导通度越高,从而LED两端电压越大,即越亮,可以简单有效地达到发光的作用。
图4 光控发光电路
2.1.6 压力传感电路设计
其中,设计两个薄膜压力传感器,一个在握手部,一个在拐杖底端触地处,两个传感器压力范围根据实际情况具体设计。工作原理是将压力信号通过压转电模块转换为需要的范围电压,再通过主控芯片实时监测。
2.1.7 紧急按键电路设计
当按下按钮时主控芯片PB12端口由高低配变化为低电平,从而实现是否按下按钮地检测。设置为长按一定的时间向手机发送使用者所在的位置,仅限突发情况使用,即报警按键,如使用者迷路、腿部受伤等类似情况。
2.2 原理图
图5 原理图
2.3 PCB图及PCB板
2.3.1 PCB图的绘制
此PCB为双层板,长约80mm,宽约60mm。其中5V电源线采用30mil线宽,3.3V电源线采用20mil线宽,地线采用30mil和20mil线宽,其余信号线均采用10mil线宽。
图6 PCB图
2.3.2 PCB板打样
图7 PCB板正面图
3 软件设计
该系统的软件分为地理位置查询及上报、语音提醒两部分,地理位置的查询及上报又分为:获取GPS、GPS逆地理编码得到地名、盲人当前位置上传OneNet云平台。语音提醒部分又分为:前方障碍物提醒、手杖长时间离手提醒、当前位置播报。以上功能全部基于STM32F103C8T6平台采用C语言编程实现。
图8
3.1 地理位置查询及上报部分软件设计
3.1.1 GPS定位
SIM868模块具有GPS功能,软件上通过串口对SIM868发送AT指令来控制芯片开启GPS功能及接收GPS信号。程序中采用AT+CGPSOUT=2开启GPS数据输出,因此获取的GPS数据格式为GPSGGA,获取GPS数据的流程如图9所示:
图9
该语句以字符串的形式发送,因此程序中须对该字符串进行解析,获取经度和纬度的角度格式,通过使用字符串处理将字符串格式的度分经纬度信息转换为浮点型,并通过以下计算,将度分格式的经纬度转换为角度格式的经纬度,经纬度处理程序如图10: