APP下载

基于STM32微控制器的智能盲人导航仪的设计*

2019-03-18王思丞郭天威王子岩

山西电子技术 2019年1期
关键词:交叉路口子程序红绿灯

王思丞,徐 磊,徐 帅,穆 蕾,郭天威,王子岩

(南京林业大学信息科学技术学院,江苏 南京 210037)

0 引言

盲人作为社会上一类特殊群体,如何让他们能够更安全地独立行走,越来越受到世界各国学者的关注和重视[1]。目前,各种协助盲人行动的仪器已经开发出来,特别是近年来越来越人性化的引导系统的研究和开发,为盲人的出行带来了方便。

传统的智能导航仪缺乏对于红绿灯交叉路口检测,使盲人无法感知交叉路口的存在而容易发生危险,本文采用一种基于STM32高性能控制器的智能盲人障碍检测系统,不仅采用超声波测距报警模块感知周围障碍,而且利用颜色传感器TCS3200识别红绿灯,在红绿灯交叉路口处对盲人进行提示。利用GPS导航系统模块对于盲人地点定位,使其到达交叉路口时再开启红绿灯识别系统,避免颜色识别混乱。实验表明该系统可以帮助盲人对交叉路口进行感知,从而减少危险性。

1 系统工作原理

利用系统中设置的超声波模块获得障碍物的距离信息,与事先设定的报警距离最小值进行比较,低于最小值时候进行语音报警。通过可编程增益和数字电位器获得超声回波的强度信息,经过单片机处理后,为盲人提供更丰富的信息。红外传感器用于测量物体和物体前面的人的温度,并确认物体前面的障碍物是否为人。超声系统和红外系统通过软件编程相结合。二者相辅相成,使导航更加精确。此外,本导盲系统提出GPS定位功能与TCS3200颜色传感器相结合的方法,能够只在红绿灯交叉路口识别红绿灯的状况,从而使盲人判断是否应该过马路,提高安全系数和自主能力。

2 系统硬件组成及各模块功能

2.1 系统硬件结构设计

超声波模块功能:当用户前方出现障碍物时超声波模组对障碍物进行测距,将测得数据反馈给单片机,由单片机处理后判断是否进行语音提示。

红外模块功能:当用户前方有行人经过时红外模组对人体温度进行监测,将数据反馈给单片机,若经处理后的数据在人的体温范围内,则进行语音提示。本系统采用人体红外传感器(PIR)模块HC-SR501。

图1 系统硬件结构图

2.2 系统主控制器选择

由于本系统对检测准确性与实时性要求较高,摄像头与处理器的选择就显得尤为重要。

本系统采用ARMCortex-M4内核的STM32F407芯片作为核心控制器。该芯片工作频率可达到200 MHz以上,其外设8个UART、6个I2C、4个SPI、2个CAN和硬件数字摄像头接口[2]。

2.3 超声波模块电路设计

在超声波模块电路中,发射端接收到单片机发送的一系列方波,其宽度为发射超声的时间间隔,被测物距离越大,脉冲宽度越大,输出脉冲个数与被测距离成正比。超声波测距适用于高精度的中长距离测量。此系统的测量精度理论上可以达到毫米级。

2.4 红外传感器(PIR)模块电路设计

HC-SR501是基于红外线技术的自动控制模块,采用LHI778探头设计,具有灵敏度高、可靠性强的特点和超低电压工作模式[3]。人类恒定的体温一般在37度左右,因此波长10UM左右的红外线,人体发射的红外线聚集到红外感应源上。红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号。在本设计中需将HC-SR501跳线设置为连续检测模式。

图2 HC-SR501电路

2.5 GPS定位模块电路设计

单片机通过串口向GPS模块GARMIN GPS 25LP发送命令,读取当前的方位信息,根据方位信息数据结构的特点,接收GPS模块送入单片机串口的精度数据,只有处于交叉路口时才使定位在红绿灯时候的颜色传感器工作,以避免采集色光混乱。

2.6 颜色识别模块电路设计

三基色RGB色彩模式被作为常用的颜色标准,即通过对三个颜色通道之间的叠加来得到各式各样的颜色的,RGB代表着红、绿、蓝三通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色[4]。基于此理论,只需检测出了颜色信号中的红、绿、蓝三种颜色的比例值,就可以判断出颜色。

图3 颜色识别工作过程

目前常用的颜色传感器通常是把经过修正的红绿蓝滤光片覆盖在独立的光电二极管上,需要对输出信号进行相应的处理才能将颜色信号识别出来[5]。工作时所需要的滤波器是通过两个可编程的引脚来动态选择的,输出频率范围从2 Hz~500 kHz,输出比例因子或电源关断模式可通过两个可编程引脚来选择[6]。

图4 TCS3200工作电路

3 系统软件流程设计

本系统采STM32F407单片机C语言编程,通过主芯片对各子程序进行控制,子程序包括:超声波测距子程序,红外感知子程序,GPS定位子程序,颜色识别子程序。由主程序对各个子程序送来的数据进行处理后判断下一步如何进行。如:GPS定位子程序与颜色识别子程序配合识别红绿灯功能。当用户走到有红绿灯的路口时,GPS定位系统程序经过一系列的算法运行后将用户所在位置通过GPRS模块发送颜色识别模块,颜色识别子程序开始运行识别红绿灯并将结果反馈给单片机。主程序设计如图5所示。

图5 主程序图

4 测量数据

在室温条件下,采用平整混凝土墙壁作为反射面进行测量,使用钢卷尺测量实际距离作为标称值,其中卷尺精度1 mm,测量距离为该位置上3次测量数据的平均值。测试结果如表1所示。

表1 距离测量误差数据对比

对得到的数据进行分析,得到测试结果,最大偏差为0.2 cm,最大相对误差为0.33%,平均相对误差为0.28%,总体上达到了对精度的要求。

外界因素会对红外模块的工作产生影响,如果某物体的温度在系统所设定的范围内就会被误判为是人,而不进行语音提示,这样就造成系统判断错误,影响导盲。

5 结论

本导航仪采用了GPS与颜色传感器识别红绿灯、超声波测距、红外识别障碍的技术,根据实际情况对盲人进行语音提示,实现了智能导盲,给予盲人及视力不佳的老年人独自外出时更加安全的保障,有着极大的社会意义。

猜你喜欢

交叉路口子程序红绿灯
高PG等级沥青及其混合料在交叉路口中的应用研究
红绿灯前
神奇的红绿灯
会说话的红绿灯
无人驾驶汽车在交叉路口的避障规划
基于车-车通信的协同交叉路口碰撞预警系统
基于农村主路交叉路口优先右转汽车的碰撞预警系统初步设计
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序