红外跟随电路
红外跟随电路由电位器R17,R28;发光二极管D8,D9;红外发射管 D2,D4和红外接收管D3,D5和芯片LM324等组成,LM234用于信号的比较,并产生比较结果输出给单片机进行处理。
![](https://i-blog.csdnimg.cn/blog_migrate/b2b655f7cb2d1a4e966bd4ddb58464e9.jpeg)
智能小车红外跟随运动的原理如下。红外光线具有反射特性,红外发射管发出红外信号,经物体反射后被红外接收管接收。但距离不同的物体反射量是不一样的。对距离近的物体,红外光线的反射量就会多一点,红外接收管的电压输出就会高一点;而对距离远的物体,红外反射量减少,红外接收管的电压输出也低。红外接收管的输出电压信号输入到LM324与电位器的电压输出进行比较(这个电压的大小可以通过调节电位器来调整),并输出高或低的电平值。这样,我们只要将电位器调节到合适的范围,就可以规定一个特定的距离,在这个距离之内LM324输出0(低电平),对应发光二极管亮;在这个距离之外LM324输出1(高电平),对应发光二极管灭;单片机根据LM324输出的电平状态,就能实时判断智能小车前方或后方是否有障碍物。如果检测到智能小车前方某个方向检测到有障碍物,智能小车就转向那个方向;如果没有检测到障碍物,小车就直行。这样智能小车就能跟随障碍物前进了。
红外避障电路调节
电位器R28为左红外信号强度调节---顺时钟调节电位器是增加检测距离,反时钟调节电位器是减少检测距离。没有接收到红外反射信号时,发光二极管D8不亮;接收到红外反射信号时,发光二极管D8亮。
电位器R17为右红外信号强度调节---顺时钟调节电位器是增加检测距离,反时钟调节电位器是减少检测距离。没有接收到红外反射信号时,发光二极管D9不亮;接收到红外反射信号时,发光二极管D9亮。
调试注意事项:
调试时不要对着强光,建议在室内调试(最好和实验环境一致)。环境光线对红外线反射的检测有较大的影响,这是由红外线本身的特性决定的。调节电位器时,要缓慢,细致。调试时保持电池电量的稳定。
智能小车红外跟随运动程序源代码
//探测到障碍物为0 没有探测到障碍物为1
if((left_qian_led== 1)&&(right_qian_led == 1))
{forward();} //调用前进函数
if((left_qian_led== 0)&&(right_qian_led == 0))
{stop();} //调用前进函数
if((left_qian_led== 0)&&(right_qian_led == 1)) //左边检测到障碍物
{left_turn();} //调用小车左转函数
if((right_qian_led== 0)&&(left_qian_led == 1)) //右边检测到障碍物
{right_turn();} //调用小车右转函数
当left_qian_led= 1和right_qian_led = 1,表明规定的范围内智能小车两侧都没有障碍物,智能小车继续前进。
当left_qian_led = 0和right_qian_led = 0,表明规定的范围内智能小车两侧都检测到障碍物,智能小车停止前进。
当left_qian_led = 0和right_qian_led = 1,表明规定的范围内左边检测到障碍物,智能小车向左转进行跟随。
当rihgt_qian_led = 0和left_qian_led = 1,表明规定的范围内右边检测到障碍物,智能小车向右转进行跟随。