挑战杯论文(盲人避障)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(set_key==0)
{
if(flag3==0)//录音键和放音键互锁,录音好后,禁止再次录音。如果要再次录音,那就要复位单片机,重新开始录音
{
if(count==0)//判断是否为上电或复位以来第一次按录音键
{
st_add=170;
}
else
{
st_add=end_add+3;
}//每段语言间隔3个地址
(4.1.4)
图4.1测量原理图
4
Y
N
Y
Y
4
4.3.1超声波子程序
oid ceju()
{
i=0;
flag=0;
Tx=0; //首先拉低脉冲输入引脚
TMOD=0x10; //定时器0,定时器1,16位工作方式
IT0=0; //由高电平变低电平,触发外部中断
EX0=0; //关闭外部中断
EA=1;
while(shuju==0)
uchar CONT_1;
distance_data=(distance[0]+distance[1]+distance[2]+distance[3])/4;
pai_xu();
distance_data=distance[1];
a=distance_data;
if(b==a) CONT_1=0;
if(b!=a) CONT_1++;
Z:高阻态
驱动电路可以防止单片机IO口驱动能力不足。
3.3.3
本设计采用的是宏晶公司生产的采用DIP40封装形式的STC516RD+芯片,属于51系列的单片机,具有8位数据宽度的CPU,能处理8位二进制数据或代码,32K Bytes FlashROM,512Bytes 片内RAM。晶振频率高达24M。如图3.8所示。
图3.1系统结构
3.3
3.3.1
HY-SRF05超声波测距模块可提供2cm~450cm的非接触式距离感测功能,测距精度可高达3mm;模块包括超声波发射器、接收器与控制电路。实物及引脚说明如图3.2和图3.3所示。有的模块并没有OUT口,本设计也没用到。
图3.2超声波侧面
图3.3超声波正面
基本工作原理:
U1
1
W78E058B40DL
U2
1
74HC373
晶体管
Q1,Q2,Q3
3
S8550
数码管
DSPLED
1
3位一体数码管
按键开关
K1
1
排阻
RP1
1
晶振
X1
1
11.0592MHz
电源接口
PWRIN1
1
5V直流电源
超声波模块接口
HY-SRF05
1
4脚排针
4
4
整个单片机程序分为主函数、超声波时间测量、距离计算和数码管显示4个部分。主函数用来初始化系统和整体控制,其中包括给超声波测距模块发送启动测量信号。超声波时间测量模块获取所测时间,然后距离计算模块利用获得的所测时间计算出距离,最后显示模块显示测量距离。超声波时间测量模块是通过查询的方式来检测ECHO引脚的电平变化的,通过定时器T0来测量时间。显示模块通过定时器中断的方式实现数码管的扫描显示。测量过程的原理如图4.1所示。
TL1=0; //定时器1清零
TF1=0; //
TR1=1; //启动定时器1
ET1=1;
while(TH1 <30);//等待测量的结果,周期65.535毫秒(可用中断实现)
TR1=0; //关闭定时器1
EX0=0; //关闭外部中断
if(succeed_flag==1)
{
distance_data=outcomeH;//测量结果的高8位
(1)采用IO口TRIG触发测距,给至少10us的高电平;
(2)模块自动发送8个40KHz的方波,自动检测是否有信号返回;
(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间(10us~18ms),如果没有检测到反向则输出36ms的高电平。
工作时序如图3.4所示。
adds[count]=st_add;//每段语音的起始地址暂时
if(count>=25)//判断语音段数时候超过25段,因为单片机内存的关系?
//本程序只录音25段,如果要录更多的语音,改为不可查询的即可
{//如果超过25段,则覆盖之前的语音,从新开始录音
count=0;
st_add=170;
time_total=340;
假定s(m)为被测物体到测距探头之间的距离,测得的时间为t(m/s),超声波传播速度为(m/s)表示,则有关系式2.1。
(2.1)
在精度要求较高的情况下,需要考虑温度对超声波传播速度的影响,按式2.2对超声波传播速度加以修正,以减小误差。本设计不进行温度校正,取v=344m/s( )。
(2.2)
式中 ——0 下超声波在介质中的传播速度
本系统具有成本低,可靠性强,较好便携性,安装使用方便等优点,具有人机交互等智能化功能,为广大盲人朋友提供了一种新型的避障辅助器材,具有一定的市场推广空间。
关键词:HY-SRF05超声波模块、ISD4004语音模块、单片机系统、智能避障
盲人智能避障系统
1.
对于正常人来说,也许避开前方的障碍物是很自然的,但是对于盲人来说,这就不是一件容易的事情了。本作品设计了一种帮助盲人躲避障碍物的系统,让盲人的生活变得更加轻松。
摘 要
在日常生活中,盲人属于弱势群体,行动及其不方便,外出行走时需要用拐杖或类似的代替物,这样既不方便同时存在安全隐患。
本系统具有辅助盲人进行避障的功能,利用了HY-SRF05超声波模块进行超声波检测、采用ISD4004语音模块作为语音提示,结合单片机系统实现超声波测距语音报警的功能。文中对超声波测距原理、硬件电路结构和单片机软件系统等进行了论述,还对系统性能进行了可行性分析。
distance_data<<=8; //放入16位的高8位
distance_data=distance_data|outcomeL;//与低8位合并成为16位结果数据
distance_data*=12;//因为定时器默认Hale Waihona Puke Baidu12分频
distance_data/=580;//微秒的单位除以58等于厘米
超声波测距的方法有多种:如往返时间检测法、相位检测法、声波幅值检测法。本设计采用往返时间检测法测距。其原理是超声波传感器发射一定频率的超声波,借助空气媒质传播,到达测量目标或障碍物后反射回来,经反射后由超声波接收器接收脉冲,其所经历的时间即往返时间,往返时间与超声波传播的路程的远近有关。测试传输时间可以得出距离。
2.
超声波是指频率高于20khz的机械波。为了以超声波作为检测手段,必须产生超声波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器分机械方式和电气方式两类,它实际上是一种换能器,在发射端它把电能或机械能转换成声能,接收端则反之。本次设计超声波传感器采用电气方式中的压电式超声波换能器,它是利用压电晶体的谐振来工作的。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,就成为超声波接收器。在超声波电路中,发射端输出一系列脉冲方波,脉冲宽度越大,输出的个数越多,能量越大,所能测的距离也越远。超声波发射换能器与接收换能器其结构上稍有不同,使用时应分清器件上的标志。
3.4
图3.9硬件电路
由于Proteus中没有3位数码管器件,暂且用4位数码管代替。PWRIN1是5V电源接口,HY-SRF05是超声超声波模块接口。器件清单如表3.3。
表3.3器件清单
器件类型
器件标号
数量

电阻
R1,R2,R3,R5
4
10k
R4
1
220
电容
C1,C2
2
30pF
C3
1
10uF
IC芯片
if(CONT_1>=3)
{
CONT_1=0;
b=a;
shuju=a;
conversion(b);
}
i=0;
}
}
}
4.3.2录音
void setkey_treat(void)
{
set_key=1;//置IO口为1,准备读入数据
DelayUs(1);
if(set_key==0)
{
DelayMs(5);//延5ms去抖
初始化时将T0的寄存器TH0和TL0清零,使用12MHz晶振时,则所测时间可通过式4.1.1算得。
(4.1.1)
式中 ——所测时间,单位:us
由之前的式2.1,取v=344m/s,可得所测距离为:
(4.1.2)
化简得:
(4.1.3)
如果采用11.0592MHz的晶振,由于定时计数器计1个数的时间约为1.085us,因此距离不能通过式4.1.3计算,不然会有较大的误差,这时可通过式4.1.计算。本设计的实物制作时使用的是11.0592MHz的晶振。其他晶振频率也可通过类似计算得到。本设计的测量精度为1cm。
}
// X秒=( 2*Y米)/344 ==》X秒=0.0058*Y米 ==》厘米=微秒/58
if(succeed_flag==0)
{
distance_data=0; //没有回波则清零
}
distance[i]=distance_data; //将测量结果的数据放入缓冲区
i++;
if(i==3)
{
uint a,b;
图3.8 单片机引脚图
3.3.4
ISD4004系列工作电压3V,单片机录放时间8至16分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS技术,内含振荡器,防混淆滤波器,平滑滤波器,音频放大器,自动静噪及高密度多电平闪烁存储阵列。芯片设计是基于所有操作的必须由微控制器控制,操作命令可通过串口通信协议(SPI或Microwire)送入,芯片采用多电平直接模拟量存储技术,每个采样值直接存储在片内的闪存中,因此可以十分真实自然地再现音乐、语音和效果音,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。 采样频率可为4.0HZ,5.3HZ,6.4HZ,8.0HZ,频率越低,录放音时间越长,而音质则有所下降,片内信息存于闪烁存储器中,可在断电的情况下保存100年,反复录音10万次。
{
uint distance_data;
ET1=0;
Tx=1;
delay_20us();
Tx=0; //产生一个20us的脉冲,在Tx引脚
while(Rx==0); //等待Rx回波引脚变高电平
succeed_flag=0; //清测量成功标志
EX0=1; //打开外部中断
TH1=0; //定时器1清零
——实际温度,单位:
3.
3.1
利用单片机、超声波测距模块、Proteus和Keil C51工具设计出距离测量系统,测量结果精确到1cm,制作实物并进行测试。
3.2
本系统由HY-SRF05超声波模块、ISD4004语音模块,显示模块和单片机等构成,整个系统由51单片机控制。HY-SRF05超声波模块包含超声波发射电路、超声波接收电路,可通过单片机给其发送启动信号,HY-SRF05超声波模块接受到启动信号发送超声波,最后将测量信号返回给单片机。单片机对测量信号进行处理,通过显示模块显示测量结果,并且一旦测量值小于设定值,语音芯片将播放事先录制好的预警声音信号。显示模块由3位LED共阴数码管及相关电路组成,显示模块主要用于系统调试,调试完成后可将其去掉。系统结构框图如图3.1所示。
图3.4工作时序
3.3.2
主要用于试验阶段的数据显示和分析。
显示模块由3位一体的LED数码管、74HC373锁存器和S8550三极管驱动电路构成。数码管结构如图3.5所示。
图3.5显示模块
74HC373锁存器可以让数码管显示更稳定。外部封装如图3.6所示,内部逻辑如图3.7所示,引脚说明见表3.1,真值表见表3.2。
}
isd_powerup(); //AN键按下,ISD上电并延迟50ms
isd_stopwrdn();
isd_powerup();
LED1=1;//录音指示灯亮,表示录音模式
isd_setrec(st_add&0x00ff,st_add>>8); //从指定的地址
if(INT==1)// 判定芯片有没有溢出
图3.674HC373外部封装
图3.7内部逻辑
表3.1引脚说明
引脚名
说明
D0 ~ D7
数据输入端
Q0 ~ Q7
数据输出端
三态允许控制端,低电平有效
LE
锁存允许端,高电平有效
VCC
电源,5V
GND
接地
表3.2真值表
OE
Dn
Qn
L
H
H
H
L
H
L
L
L
L
X
Q0
H
X
X
Z
H:高电平
L:低电平
Q0:输入端准备状态条件建立前已确定的Q端(输出端)电平
{
isd_rec(); //发送录音指令
相关文档
最新文档