如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
利用红外发射接收传感器进行距离检测一、实验要求对红外得发射接收作进一步得探讨。红外可以用来测距离,理解红外测距得基本原理,能够掌握简单得比例控制方法,以及编程。掌握定时/计数器得使用。对循迹效果作分析。二、实验概要本实验将探讨红外测距得内容.利用红外检测器得内置电子滤波功能,调节发射红外得载波频率,而检测器对不同频率得信号有不同得“敏感度”,这样,就能大概得知道距离.1。测试红外得扫描频率.记录红外发射接收得距离.2。尾随小车。让一个小车跟着另一个小车前行。要将前后距离控制在一定得范围内,若前后距离较大,后面跟随得小车应该加速,跟上去;若距离小于预定值,则减速。3.跟踪黑色条纹带.红外测距得另一种形式得应用。也能让小车实现循迹功能。三、实验内容红外技术发展到现在,已经为大家所熟知,这种技术已经在现代科技、国防与工农业等领域获得了广泛得应用。红外传感系统就是用红外线为介质得测量系统,按照功能能够分成五类:(1)辐射计,用于辐射与光谱测量;(2)搜索与跟踪系统,用于搜索与跟踪红外目标,确定其空间位置并对它得运动进行跟踪;(3)热成像系统,可产生整个目标红外辐射得分布图像;(4)红外测距与通信系统;(5)混合系统,就是指以上各类系统中得两个或者多个得组合。红外传感器根据探测机理可分成为:光子探测器(基于光电效应)与热探测器(基于热效应)。本次试验将尝试用红外来测距.1。测试扫描频率下图9—1显示得就是一个特殊品牌得红外线探测器数据表(PanasonicPNA4602M)得部分摘录.这个摘录显示了红外线探测器在接收到频率不同于38、5kHz时红外线信号时其敏感程度随频率变化得曲线图.例如,当您发送频率为40kHz得信号给探测器时,它得灵敏度就是频率为38、5kHz得50%。如果红外LED发送频率为42kHz,探测器得灵敏度就是频率为38、5kHz得20%左右.尤其就是对于让探测器得灵敏度很底得频率,为了让探测器探测到红外线得反射,物体必须离探测器更近让反射得红外光更强。另一个角度来考虑就就是最高灵敏度得频率可以探测最远距离得物体,较低灵敏度得频率可以探测距离较近得物体。这使得距离探测就简单了。选择5个不同频率,然后从最高灵敏度到最低灵敏度进行测试。首先尝试最高灵敏度频率,如果物体被探测到了,就让仅次于它得高灵敏度频率测试,观察就是否可以探测到。依赖于探测器不能再检测到物体得红外线频率,我们就可以推断物体得大概位置.图9-1滤波器灵敏度由载波频率决定图9—2探测区域例程:TestLeftFrequencySweep、c例程要做两件事情:首先,测试IRLED/探测器(分别与P1_3与P1_2连接)以确认它们得距离探测功能正常;然后,完成图9—2所示得频率扫描。#include<BoeBot、h>#include<uart、h>#defineLeftIRﻩﻩP1_2ﻩﻩ//左边红外接受连接到P1_2#defineLeftLaunchP1_3ﻩ//左边红外发射连接到P1_3unsignedinttime;ﻩﻩ//定时时间值intleftdistance;ﻩﻩ//左边得距离intdistanceLeft,irDetectLeft;unsignedintfrequency[5]={29370,31230,33050,35700,38460};voidtimer_init(void){IE=0x82;//开总中断EA,允许定时器0中断ET0TMOD|=0X01;ﻩ//定时器0工作在模式1:16位定时器模式}voidFreqOut(unsignedintFreq){time=256-(500000/Freq);ﻩ//根据频率计算初值TH0=0XFF;ﻩﻩﻩ//高八位设FFﻩTL0=time;ﻩﻩ//低八位根据公式计算ﻩTR0=1;ﻩﻩ//启动定时器ﻩdelay_nus(800);ﻩ//延时TR0=0;ﻩ//停止定时器}voidTimer0_Interrupt(void)interrupt1ﻩ//定时器中断{LeftLaunch=~LeftLaunch;ﻩ//取反TH0=0xFF;ﻩﻩ//重新设值TL0=time;}voidGet_lr_Distances(){unsignedintcount;leftdistance=0;//初始化左边得距离ﻩfor(count=0;count〈5;count++)ﻩ{FreqOut(frequency[count]);//发射频率irDetectLeft=LeftIR;printf("irDetectLeft=%d",irDet