APP下载

基于51单片机的智能盲人助行器的设计

2021-06-24严莉莉张慎胡应超张宪萍

微型电脑应用 2021年6期
关键词:经纬度障碍物串口

严莉莉, 张慎, 胡应超, 张宪萍

(南京信息职业技术学院 电子信息学院, 江苏 南京 210023)

0 引言

随着现代电子技术的迅速发展,各类生活用智能电子产品可谓是琳琅满目,比如:声控LED台灯、自动面包机、电子血糖仪等等,这些电子产品极大地方便了我们的生活,但是针对残障人士的智能电子产品依然较少。

本文提出了以51单片机为核心控制器件设计的一款盲人智能助行器,该助行器能够通过超声避障和语音提醒帮助使用者及时避开周围障碍物,并且配置GPS和GSM模块,当使用者需要帮助时,可以一键发送自己的位置信息给指定手机号。由于盲人一般不能准确说出自己的位置,通过GPS定位,方便家人能够及时找到[1-2]。

1 智能助行器硬件设计

1.1 助行器结构及工作原理

智能助行器以51单片机为控制核心结合超声波模块、语音模块、GPS模块、GSM模块和按键构成,其结构框图如图1所示。

图1 智能助行器结构框图

助行器使用时单片机通过控制安装在前方、左方、右方的三个超声波模块探测周围两米内的障碍物,当某个方向有障碍物时,通过语音模块提醒使用者“某方向有障碍物,请小心!”而且助行器中安装的GPS模块实时接收使用者所处位置的经纬度信息,当使用者需要帮助时,可以按下控制键,通过GSM模块发送自己的位置信息短信给绑定手机号码,接收者可以通过经纬度信息获知具体位置,及时找到求助者所在位置。

1.2 51单片机选型

本文设计的智能助行器以51系列单片机为核心控制器,但是51系列的单片机型号众多,考虑到智能助行器中有GPS模块和GSM模块,这两个模块都是通过串行口和单片机进行通信,所以在选择控制器时考虑选用具有双串口的单片机。本设计最终选用STC12C5A602作为控制器,它是高速/低功耗/超强抗干扰的新一代8 051单片机,指令代码完全兼容传统8 051,但速度快8-12倍,而且具有双串口,能够满足本设计的需求。

1.3 超声避障语音功能实现

超声避障功能是依据超声波方向性好、反射能力强的特点设计的。本助行器中超声模块采用HC-SR04,它可提供2 cm-400 cm的非接触式距离感测功能,测距精度可高达3 mm,性能稳定,体积小,便于与微控制器连接[3]。在使用中单片机控制三个超声模块每隔2秒依次轮流发出超声波,当周围两米之内有障碍物时,单片机触发语音模块进行语音提醒,提醒使用者在某个方向有障碍物,请小心。

语音提醒功能是通过WT588D语音模块来实现的,WT588D语音芯片是一款功能强大的可重复擦除烧写的语音单片机芯片,内置SPI-Flash存储器。WT588D提供了MP3控制模式、按键控制模式、并口控制模式、串口控制模式。本设计中使用了串口控制模式下的三线串口控制模式,三线串口控制模式由三条通信线组成,分别是数据DATA(P01)、片选CS(P02)、时钟CLK(P03),时序根据标准SPI通信方式。音频输出采用PWM输出模式,直接连接扬声器。超声模块和语音模块与单片机的接口电路如图2所示。

图2 超声模块和语音模块与单片机的接口电路

1.4 助行器定位功能实现

助行器定位功能通过接收GPS信号再进行解码获得使用者当前的经纬度信息。GPS是Global Positioning System的简称,也就是全球定位系统。它由美国建立,并在上世纪60年代应用于美国军方。由于其性能好、精度高等特点,现已在日常生活的电子产品中广泛使用。

助行器定位功能实现的关键是如何正确接收GPS信号并解析出经纬度信息。目前对于GPS信号的接收多采用GPS接收模块,该模块以GPS接收芯片为核心结合外围器件和天线构成,性能稳定并且使用非常方便,定位成功后直接就可以通过模块的串口输出GPS地理信息。

本设计中GPS信号接收模块选用的是VK2828U7G5LF GPS接收模块,该模块功耗低,性能稳,通用性强,适合使用电池供电的便携式产品,模块直接以TTL电平输出,可直接与单片机串行口连接,接收信息。通常情况下只需要连接电源、地、发送和接收引脚即可。在本助行器的设计中,GPS模块发送引脚连接单片机的P1.2引脚,接收引脚连接P1.3引脚,P1.2和P1.3引脚是单片机的串行口2的接收和发送引脚。GPS模块与单片机的接口电路如图3所示。

图3 GPS模块与单片接口电路

1.5 助行器求助功能的实现

本助行器设计时考虑的使用对象是盲人,当他们需要救助时,困难的是不能准确说出自己的位置。考虑到这种因素,所以求助功能通过按键结合GSM模块实现,需要时,只要按下“求助”键,就可以通过GSM模块发送自己的GPS位置信息给指定手机号,方便亲人及时找到他们。

本设计中使用的GSM模块是SIM800C,它是一款四频GSM/GPRS模块,性能稳定,外观小巧,性价比高,能满足客户的多种需求。模块输出TTL电平,可直接与单片机连接。在本设计中,GSM模块的TXD和RXD引脚分别连接单片机串行口1的P3.0和P3.1引脚。VIN和VTTL接DC5V,GND接电源地。GSM模块使用时要注意VTTL引脚通常与控制它的单片机电源连接,它是单片机板子的电压引脚对GSM模块的TTL逻辑电平的调整,这样保证模块TXD和RXD引脚逻辑电平和控制它的单片机一致。 GSM模块与单片机接口电路如图4所示。

图4 GSM模块与单片机接口电路

2 助行器软件程序设计

助行器的程序控制主要是单片机对超声模块、语音模块、GSM模块和GPS模块的控制,主程序流程如图5所示。

图5 主程序流程图

助行器初次使用时,首先要在GSM模块中插入SIM卡,并且绑定发送短信的指定号码,其绑定方式是:使用要绑定号码的手机给GSM模块中SIM卡发送一条“PHONE SMS:***********”(*表示GSM模块中SIM卡号),当手机收到“Set End”短信回复时,表示绑定成功。之后当GPS接收模块指示灯每3秒左右闪烁一下的时候,表示GPS接收器已经能够成功接收卫星信号。助行器中的前、左、右三个超声模块循环发出超声波,探测周围两米之内是否有障碍物,当有障碍物时,语音模块发出提醒。在设计中用软件定时器,产生定时中断,当中断发生时,扫描求助按键是否按下,若有按键,则将GPS位置信息经GSM模块发出。

GPS数据输出格式为标准的NMEA-0183标准。NMEA-0183是美国国家海洋电子协会(National Marine Electronics Association)为海用电子设备制定的标准格式。这种格式所输出的语句采用的是ASCII字符码,包含纬度、经度、速度、日期、时间、航向以及卫星信号情况等信息。其串行通信默认参数为:波特率=9 600 bps;数据位=8 bit;开始位=1 bit;停止位=1 bit;无奇偶校验。NMEA-0183协议语句非常多,比较常用且兼容性最广的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。本设计中主要接收GPRMC帧信息,解析其中包含的经纬度数据[4]。

GSM模块使用的是AT指令,AT是Attention的简称,最早在上世纪90年代仅用于MODEM的操作,后来又慢慢应用于移动通信领域,并形成了一套完整的AT指令,用于控制手机GSM模块。AT指定绝大多数是以“AT+XXXX=X”的格式使用[5],本设计主要是使用AT指令发送经纬度短信息,使用到的两条AT指令是“AT+CMGF”和“AT+CMGS”。

3 总结

本文设计的盲人助行器能够有效解决盲人的出行困难,减少盲人因为碰撞而导致的伤害,助行器采用模块化的设计方案,结构清晰,操作简单。通过超声波测距来感测盲人所处地理位置是否有障碍物,利用语音模块来提醒盲人避开障碍物,简单的一键求助功能便于盲人进行操作。

猜你喜欢

经纬度障碍物串口
浅谈AB PLC串口跟RFID传感器的通讯应用
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
赶飞机
基于经纬度范围的多点任务打包算法
自制中学实验操作型经纬测量仪
澳洲位移大,需调经纬度
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式