循迹小车Arduino 程序.pdf
页眉内容
//循迹小车Arduino程序:
//R是右(right),L是左(left)小车对着自己看时分的左右
intMotorRight1=14;//A0IN1
intMotorRight2=15;//A1IN2
intMotorLeft1=16;//A2IN3
intMotorLeft2=17;//A3IN4
intMotorRPWM=5;//PWM5
intMotorLPWM=3;//PWM3
constintSensorLeft=2;//左感测器输入脚
constintSensorRight=6;//右感测器输入脚
intSL;//左感测器状态
intSR;//右感测器状态
voidsetup()
{
Serial.begin(9600);
pinMode(MotorRight1,OUTPUT);//脚位14(PWM)
pinMode(MotorRight2,OUTPUT);//脚位15(PWM)
pinMode(MotorLeft1,OUTPUT);//脚位16(PWM)
pinMode(MotorLeft2,OUTPUT);//脚位17(PWM)
pinMode(MotorLPWM,OUTPUT);//脚位3(PWM)
pinMode(MotorRPWM,OUTPUT);//脚位5(PWM)
pinMode(SensorLeft,INPUT);//定义左感测器
pinMode(SensorRight,INPUT);//定义右感测器
}
voidloop()
{
SL=digitalRead(SensorLeft);
SR=digitalRead(SensorRight);
if(SL==LOWSR==LOW)//前进
{
digitalWrite(MotorRight1,LOW);//IN1右电机高电平反转
digitalWrite(MotorRight2,HIGH);//IN2右电机高电平正转
analogWrite(MotorRPWM,130);//0100--250
digitalWrite(MotorLeft1,LOW);//IN3左电机高电平正转
digitalWrite(MotorLeft2,HIGH);//IN4左电机高电平反转
analogWrite(MotorLPWM,130);
}
else//R是右(right),L是左(left)小车对着自己看时分的左右
{
if(SL==HIGHSR==LOW)//左白右黑,快速左转
{
delay(1);
digitalWrite(MotorRight1,