基于单片机的盲人智能手杖设计
2019-09-10李海东康伟高晓玲戴瑞
李海东 康伟 高晓玲 戴瑞
摘 要:传统的导盲杖已经不能保障盲人的安全出行,本系统以单片机STC89C52作为核心处理器,采用超声波测距技术,ISD1420语音芯片,利用proteus软件搭建了系统各模块的硬件仿真电路,结合Keil C平台进行了软件编程实现。通过调试和测试,本系统设计的盲人的智能手杖,可以对道路上的障碍物进行距离探测,并提供语音提示、时间播报、灯光示警等功能,为盲人提供行走时避让障碍物服务,起到避免安全隐患的作用。
关键词:STC89C52;超声波测距;盲人智能手杖
中图分类号:TP216 文献标识码:A 文章编号:2096-4706(2019)22-0030-03
Abstract:The traditional walking stick can not guarantee the safe travel of the blind. This system uses the single-chip STC89C52 as the core processor,adopts ultrasonic ranging technology,ISD1420 voice chip,and uses the proteus software to build the hardware simulation circuit of each module of the system,combined with Keil C platform is implemented by software programming. Through debugging and testing,the system design blind intelligent walking stick,can detect the obstacles on the road,and provide voice prompts,time broadcast,light alarms,etc.,to provide blind people with obstacles when walking,to avoid potential safety hazards.
Keywords:STC89C52;ultrasonic ranging;blind intelligent walking stick
0 引 言
盲人受先天或后天视力上的缺陷影响,导致一个人行走时必须依靠导盲装置,其中最常见的导盲装置就是手杖。普通手仗可以帮助盲人发现60cm以内的障碍物的避让,但是较远一点或者悬空的障碍却不能及时准确地避让,因此这种传统的导盲杖已经不能保障盲人的安全出行。本系统采用STC89C52单片机作为控制器,设计了一种超声波导盲手杖,可以對道路上的障碍物进行距离探测,通过语音提示,避让障碍同时达到导盲作用。
1 设计思路
本设计采用STC89C52单片机作为控制器,在测距方案的选择上,对比了常用的避障测距技术,如:激光测距、红外线测距、超声波测距等技术。通过研究发现激光测距,虽然测量精度较高,但是价格昂贵。而在距离较短的情况下,采用红外线测距,由于发射到接收的时间过短,单片机无法获得数据,所以红外测距不适合本设计。综合考虑之后,本设计采用了价格较便宜、更适合短距离测量的超声波技术作为测距模块。利用超声波传感器完成测距,对盲人前方道路上的障碍物进行距离探测,并把障碍物距离信息转换成语音提示,盲人可以根据提示音,在避让障碍的同时达到导盲作用。同时,考虑到在夜晚时能见度低,为了车辆和行人更容易避让盲人,采用光敏电阻检测周围环境的亮度,并将该亮度转化为相反逻辑的红色警示光,用来提醒来往行人和车辆及时避让。本系统还提供语音播报时间功能,能进行整点提醒。
2 系统硬件设计
本系统的控制核心为STC89C52单片机,整个系统的硬件由超声波测距模块、语音提示模块、光警提示模块、时钟模块、显示模块构成。系统上电之后,超声测距模块检测到有障碍物之后,发送给单片机控制中心,单片机将超声波的距离信息处理之后,通过语音提示电路进行语音播报,同时触发光警提示模块。本系统硬件组成框图如图1所示。
2.1 STC89C52单片机
STC89C52是一种带8K字节可编程Flash存储器的低电压、高性能CMOS8位微处理器,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,可为嵌入式控制系统提供高灵活、超有效的解决方案。STC89C52提供以下标准功能:8k字节Flash闪速存储器、512字节内部RAM、32个双向I/O口、三个16位可编程定时/计数器中断、两个串行中断,共六个中断源,全双工串行口。另外,STC89C52支持低功耗空闲和掉电模式:空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作;掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。STC89C52引脚分布如图2所示。
2.2 超声波测距模块
本系统中超声波测距模块选用的是HC-SR04测距模块。HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。其中心频率为40KHz,发射声压在10V,0dB=0.02m/Pa的条件下≥95dB;接收灵敏度在40KHz中心频率,0dB=10V/pa的条件下≥-65dB;静电容量为1260pF-2340pF;探测距离为0.2-3m。基本工作原理:采用IO触发测距,触发信号输入端(Trig)输入一个10微秒以上的高电平信号,超声发送口收到信号,自动发送8个40Hz方波,同时启动定时器,待传感器接收到回波则停止计时并输出回响信号,回响信号脉冲宽度与所测距离成正比。根据时间间隔可以计算距离,公式:距离=(高电平时间*声速)/2。
本系统中超声波测距电路如图3所示。通过单片机的P1.1口输入一个20us的高电平脉冲,来触发超声波模块开始工作,并且定时器开始计数,同时,接收端开始不断检测有无回波。一旦接收到有回波信号,则P3.2口立即进入中断,停止定时器计数,把计数值送入寄存器中计算当前距离。
2.3 ISD1420语音芯片
ISD1420是美国信息存贮器件公司推出的ISD系列语音电路,采用直接模拟存贮技术,录放音质好,并有一定混响效果,且电路断电后语音内容仍不丢失。电路内部由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成;外围元件简单,仅需要少量阻容元件、麦克风即可组成一个完整录放系统。ISD1420语音芯片单电源供电,典型电压为5V,待机时低功耗仅为0.5μA,典型放音电流15mA;放音时间20s,可扩充级联;可持续放音,也可分段录放,可分段数160段;录放次数达10万次,操作简单,无须专用编程器及语音开发器。ISD1420语音芯片引脚说明如图4所示。
2.4 灯光示警模块设计
示警方式:通常有灯光示警,用闪动的指示灯来警示人;其次是声音示警,发出特定的语音提示;在选择警示电路时,需要使其硬件结构简单,编程简单。此次设计除了语音警示外还添加了人性化的光控制LED灯示警系统,为了方便夜晚时提醒路过的车辆和行人避让盲人而设计。采用光敏电阻控制示警灯开关,当夜晚光线变暗时,光控制系统导通,给警示灯供电。光线采集电路如图5所示。
3 系统软件设计
本系统软件设计基于Keil C软件编程环境,本系统的软件设计采用模块化设计,将程序拆分成几个相对独立的子程序,这样既方便程序的阅读,也有利于以后对程序进行修改和移植,具有良好的可续性和扩展性。本系统以Proteus软件为电路仿真设计环境。Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件,功能极其强大,可以仿真、分析(SPICE)各种模拟器件和集成电路。
系统上电后,首先将各个模块初始化,通过IO触发测距,触发信号使超声测距模块工作,同时启动定时器,待传感器接收到回波则停止计时,然后根据时间间隔可以计算距离,将此数值传送给语音模块,通过语音电路进行提示。本系统软件设计流程图如图6所示。
4 结 论
通过测试与调试,本系统设计的盲人手杖能够实现利用超声波方法测量物体间的距离,并给出预警。本系统以单片机作为实时控制核心,通过超声波进行距离测量,从而实现语音提示,使盲人在看不见的情况下,能够识别前方的障碍物正常地行走,起到保护盲人安全的作用。
参考文献:
[1] 吴建平.传感器原理及应用 [M].北京:机械工业出版社,2009.
[2] 郑锋,王巧芝,程丽平,等.51单片机典型应用开发范例大全 [M].北京:中国铁道出版社,2011.
[3] 谢自美.电子线路综合设计 [M].武汉:华中科技大学出版社,2006.
[4] 程國钢.51单片机应用开发案例手册 [M].北京:电子工业出版社,2011.
[5] 宋戈.51单片机应用开发范例大全 [M].北京:人民邮电出版社,2010.
[6] 顾滨.电子线路设计-Protel DXP 2004 SP2 [M].北京:水利水电出版社,2011.
作者简介:李海东(1994-),男,回族,宁夏灵武人,助理工程师,本科,研究方向:电路系统硬件设计;通讯作者:高晓玲(1981-),女,汉族,宁夏平罗人,硕士,讲师,主要从事电子信息专业的教学与研究工作。