跟随模式
实现的效果:上电后,把手或其他物体放在小车的红外传感器前面,小车就会跟随着手或物体前进
跟随模式使用的传感器也是红外传感器,跟循迹的工作原理一样,只不过红外发射是向前的,检测到前方有障碍或没障碍就执行不同的函数,即可用来避障,也可用来做跟随,做避障的化程序要进行修改
程序
程序文件:
1.main.c:检测左右传感器信号引脚,也是判断语句
2.Motor.c:小车前进、后退、左转、右转和停止的函数
3.Delay.c:延时函数
main.c:
if 判断语句一致,只是第二条判断语句是调用左转函数,因为在跟随模式下,左边有反射,右边没反射,说明左边有物体,要跟着物体走就要左转,右边同理
#include <REGX52.H>
#include "Motor.h"
#include "Delay.h"
/*
跟随功能,也是使用红外传感器,方向向前,添加引脚定义
*/
//左右红外传感器的信号引脚
sbit LeftSersor = P2^5;
sbit RightSersor = P2^4;
void main()
{
while(1)
{
//两个都反射,都亮灯
if(LeftSersor == 0 && RightSersor == 0)
{
GoForward();
}
//左边反射,右边没反射,左亮,跟随左转
if(LeftSersor == 0 && RightSersor == 1)
{
GoLeft();
}
//右边反射,左边没反射,右亮,跟随右转
if(LeftSersor == 1 && RightSersor == 0)
{
GoRight();
}
//两个都不反射,都灭灯,停止
if(LeftSersor == 1 && RightSersor == 1)
{
Stop();
}
}
}