功能说明:
让红外线循迹自动机器人能够自动行进在预先规划的黑色轨道上。请按购实际情况调整自动机器人的行进速度,以免车速过快而冲出轨道。般地面负色都不是与黑色轨道对比强烈的白色,会降低红外线的反射率,使低基准电位输出电压过高。可以利用调整比较电压值来提高感应的灵敏度,以免产生误动作。
如果使用三线式红外线模块或四线式红外线模块的DO输出,必须连接到Arduino板的数字输入引脚,并且调整红外线模块上的可变电阻改变比较器电压,以提高红外线循迹自动机器人对轨道的感应灵敏度。如果使用四线式红外线模块的AO输出,必须连接Arduino板的模拟输入引脚,并且调整analogRead0)函数所读取转换的比较值,以提高红外线循迹自动机器人对轨道的感应灵敏度。
const int negR=4;//右轮马达负极
const int posR=5;//右轮马达正极
const int negL=6;//左轮马达负极
const int posL=7;//左轮马达正极
const int pwmR=9;//右轮马达转速控制
const int pwmL=10;//左轮马达转速控制
const int irD1=A1;//左红外 --两个红外间距最好在1.5-2cm
const int irD2=A2;//中
const int irD3=A3;//右
const int Rspeed=200;//转速初值
const int Lspeed=200;
byte IRstatus=0;//红外线循迹模块感应值
void setup()
{
pinMode(posR,OUTPUT);
pinMode(negR,OUTPUT);
pinMode(posL,OUTPUT);
pinMode(negL,OUTPUT);
pinMode(irD1,INPUT_PULLUP); //设置模拟引脚A1为含提升电阻的输入引脚
pinMode(irD2,INPUT_PULLUP);
pinMode(irD3