51单片机 Proteus仿真 红外 避障 循迹 小车 红外遥控器

红外遥控器控制小车,小车自带超声波避障,遥控器可以打开循迹,打开循迹后自己循迹走。没打开循迹就红外遥控器控制小车走。

按键如下
1 进入或者退出循迹功能,循迹模式下对小车操作无效
2 前进
5 左转
6 停止
7 右转
10 后退
在这里插入图片描述
在这里插入图片描述
循迹依靠P1.3 P1.4的红外探测:

/* 寻迹 */
void tracking()
{
	/* 为0 没有识别到黑线 为1识别到黑线 */
	if ( left_led1 == 1 && right_led1 == 1 )                /* 左右寻迹探头识别到黑线 */
	{
		forward();                                      /* 前进 */
	}else  {
		if ( left_led1 == 1 && right_led1 == 0 )        /* 小车右边出线,左转修正 */
		{
			left();                                 /* 左转 */
		}
		if ( left_led1 == 0 && right_led1 == 1 )        /* 小车左边出线,右转修正 */
		{
			right();                                /* 右转 */
		}
		if ( left_led1 == 0 && right_led1 == 0 )        /* 左右寻迹探头都没识别到黑线 */
		{
			backward();                             /* 后退 */
		}
	}
}

避障一直带有:

/*超声波避障111111*/
void Avoid1()
{
	if ( distance < 50 )                                    /* 如果前方有障碍物进行左转   前方没有障碍物就直行 */
	{
		left();
	}else
	{
		forward();
	}
}

猜你喜欢

转载自blog.csdn.net/x1131230123/article/details/107281534