红外避障传感器原理图策划.docx
- 文档编号:3614628
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:9
- 大小:45.42KB
红外避障传感器原理图策划.docx
《红外避障传感器原理图策划.docx》由会员分享,可在线阅读,更多相关《红外避障传感器原理图策划.docx(9页珍藏版)》请在冰豆网上搜索。
红外避障传感器原理图策划
红外避障传感器原理图[策划]
一、实验原理:
避障传感器基本原理,和循迹传感器工作原理基本相同,利用物体的反射性质。
在一定范围内,如果没有障碍物,发射出去的红外线,因为传播距离越远而逐渐减弱,最后消失。
如果有障碍物,红外线遇到障碍物,被反射到达传感器接收头。
传感器检测到这一信号,就可以确认正前方有障碍物,并送给单片机,单片机进行一系列的处理分析,协调小车两轮工作,完成一个漂亮的躲避障碍物动作,传感器原理图如图6。
图6红外避障传感器原理图
1、把红外避障传感器固定在小车的正前方,接好线。
注意:
红外传感器的避障距离也是可调,调节滑动变阻器可以调节避障距离。
2、编制程序,实现小车检测到前方有障碍物时,向左转弯,再检测,没有障碍物,继续前进,有障碍物,继续左转弯。
图7避障传感器与单片机连接图
四、红外避障传感器电路分析:
电路中HEF4011BT是一个4通道2输入与非门。
455是晶振,它产生38k的方波,HEF4024BT是7位二进制计数器,38k的方波作为计数器HEF4024BT的时钟输入。
HEF4024BT的O2与O3接与非门加一个非门去控制HEF4024BT的复位端。
也就是说当HEF4024BT计数到第四位与第三位同时为1时,HEF4024BT就会被清零。
同时当HEF4024BT的O3为1时,HEF4011BT的O4为低电平,触发红外发光二极管发送信号。
当HEF4024BT的O3为0时,HEF4011BT的O4为高电平,关闭发光二极管,这段时间为4个方波周期。
也就实现了38k载波调制的红外。
接收头是红外线一体化接收头是集红外接收、放大、滤波和比较器输出的模块。
当收到信号时,OUT端输出低电平,LEDR被点亮,指示收到信号,前方有障碍物。
没有收到信号,OUT端输出反之。
五、实验源程序:
#defineucharunsignedchar
#defineuintunsignedint
#defineMOTOR_CP0//P0口作为电机的控制口。
#defineSIGNALP1//P2口的低两位为循迹传感器输入口。
#defineSHELVES25//速度总档数。
#defineBACK0xA5//后退
#defineFORWARD0xC6//前进
sbitPWM_R=P0^7;//右电机PWM输入口
sbitPWM_L=P0^2;//左电机PWM输入口
voidtimer_init(void);//定时器初始化函数。
voidleft(void);//右转弯函数。
voidleft(void);//左转弯函数。
voidforward(void);//前进函数。
ucharpercent_l=0;//左轮占空比ucharpercent_r=0;//右轮占空比uintrun_time=0;//车轮运行一步的时间
/*************************************************************
*******
说明:
无
入口参数:
无
返回值:
无
设计:
tongwei日期:
2009.09.15
修改:
日期:
**************************************************************
*********/
{
TMOD=0x02;//定时器0工作在方式2,定时值自动重载,启动仅
受TR0的控制。
TH0=256-200;//定时周期为200us*SHELVES
EA=1;//开总中断。
ET0=1;//开定时器0中断。
TR0=1;//启动定时器0。
}
说明:
通过控制左右轮不同的占空比,实现左右转。
入口参数:
无
返回值:
无
{
//timer_init();//初始化定时器0。
MOTOR_C=FORWARD;//方向向前
percent_r=0;//右轮速度慢。
percent_l=4;//左轮速度快。
}
说明:
通过控制左右轮不同的占空比,实现左右转。
入口参数:
无
返回值:
无
{
//timer_init();//初始化定时器0。
MOTOR_C=FORWARD;//方向向前
percent_r=4;//右轮速度快。
percent_l=2;//左轮速度慢。
}
/*************************************************************
*******
说明:
入口参数:
无
返回值:
无
{
//timer_init();//初始化定时器0。
MOTOR_C=FORWARD;//方向向前
percent_r=3;//右轮同速度。
percent_l=3;//左轮同速度。
}
说明:
入口参数:
无
返回值:
无
设计:
tongwei日期:
2009.09.15
修改:
日期:
{
//timer_init();//初始化定时器0。
MOTOR_C=BACK;//方向向前
percent_r=3;//右轮同速度。
percent_l=3;//左轮同速度。
}
/*************************************************************
*******
功能:
停车
说明:
入口参数:
无
返回值:
无
设计:
tongwei日期:
2009.09.15
修改:
日期:
**************************************************************
*********/
voidstop(void)
{
//timer_init();//初始化定时器0。
MOTOR_C=FORWARD;//方向向前
percent_r=0;//右轮零速度。
percent_l=0;//左轮零速度。
}
/*************************************************************
*******
函数名:
ucharcheck_sig()
功能:
检测信号,并返回信号代码。
说明:
入口参数:
无
返回值:
无
设计:
tongwei日期:
2009.09.15
修改:
日期:
**************************************************************
*********/
ucharcheck_sig(void)
{
uchartemp=0;
temp=SIGNAL&0x01;//信号输入口就只有低两位,得到信号码。
returntemp;
}
/*************************************************************
*******
函数名:
avoid()
功能:
实现避障功能。
说明:
对采集的信号进行分析,转换为对电机的控制。
入口参数:
无
返回值:
无
设计:
tongwei日期:
2009.09.15
修改:
日期:
**************************************************************
*********/
voidavoid(void)
{
ucharsig=0;//存储采集的信号
timer_init();//初始化定时器0
while
(1)
{
run_time=0;//清计时器,重新开始。
sig=check_sig();//存储信号码
switch(sig)
{
case1:
//没有检测到障碍物。
forward();
break;
case0:
//检测到障碍物,首先小车倒退一段距离,让后左转弯,最后继续前进。
back();
while(run_time<350);//决定后退的时间。
run_time=0;
left();
while(run_time<180);//决定左转弯角度。
run_time=0;
forward();
break;
default:
break;
}
while(run_time<3);//运行一步,时间为3*5ms
}
}
/*************************************************************
*******
函数名:
timer_zero()
功能:
定时器0中断服务函数
说明:
无
入口参数:
无
返回值:
无
设计:
tongwei日期:
2009.09.15
修改:
日期:
**************************************************************
*********/
voidtimer_zero(void)interrupt1{
staticuchartemp=0;//中断次数计数,
EA=0;//关总中断,屏蔽其他中断。
if(temp { if(temp { PWM_L=1;//左电机高电平 } else { PWM_L=0;//左电机低电平 } if(temp { PWM_R=1;//右电机高电平 } else { PWM_R=0;//右电机低电平 } temp++;//实现计数 } else//一个PWM周期结束,计数清零。 { temp=0; run_time++; } EA=1;//开总中断。 } /************************************************************* ******* 函数名: main() 功能: 说明: 入口参数: 无 返回值: 无 设计: tongwei日期: 2009.09.15 修改: 日期: ************************************************************** *********/ voidmain(void) { avoid(); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 红外 传感器 原理图 策划
![提示](https://static.bdocx.com/images/bang_tan.gif)