目录
模块的实现
芯片:AT89C52
通过红外线感应物体,如果检测到左边有障碍物,就右转;如果检测到右边有障碍物,就左转,如果左右两边同时检测到障碍物,就执行后退指令。
原理图
电机原理图
一共有四个电机:M1/M2/M3/M4。
避障模块原理图
左避障引脚:P3_4
右避障引脚:P3_5
主要代码块
while(1) //用来实现避障功能
{
//有信号为0 没有信号为1 没检测到障碍物为1
if(Left_1_led==1&&Right_1_led==1)
run(); //调用前进函数
else
{
if(Left_1_led==1&&Right_1_led==0) //右边检测到红外信号
{
stop();
delay(80);
leftrun(); //调用小车左转函数
delay(150);
}
if(Right_1_led==1&&Left_1_led==0) //左边检测到红外信号
{
stop();
delay(80);
rightrun(); //调用小车右转函数
delay(150);
}
if((Left_1_led==1&&Right_1_led==0)||(Left_1_led==0&&Right_1_led==1)||(Right_1_led==0&&Left_1_led==0)) //两边传感器同时检测到红外
{
stop();
delay(80);
backrun(); //调用电机后退函数
delay(150); //后退150毫秒
}
}
}