基于ARDUINIO的5路红外循迹小车 新手抄袭了很多大神的代码。这里表示感谢*。
#define STOP 0
#define FORWARD 1
#define BACKWARD 2
#define STURNLEFT 3
#define STURNRIGHT 4
#define TURNLEFT 5
#define TURNRIGHT 6
#define TURNRIGHT90 7
#define TURNLEFT90 8
int leftA_PIN = A0;
int leftB_PIN = A1;
int righA_PIN = A2;
int righB_PIN = A3;
int righ_PWM = 5;
int left_PWM = 6;
int trac1 = 11; //从车头方向的最右边开始排序
int trac2 = 10;
int trac3 = 9;
int trac4 = 8;
int trac5 = 7;
void setup()
{
//电机引脚初始化
Serial.begin(9600);
pinMode(leftA_PIN, OUTPUT);
pinMode(leftB_PIN, OUTPUT);
pinMode(righA_PIN, OUTPUT);
pinMode(righB_PIN, OUTPUT);
pinMode(righ_PWM, OUTPUT);
pinMode(left_PWM, OUTPUT);
pinMode(2, OUTPUT);
//寻迹模块D0引脚初始化
pinMode(trac1, INPUT);
pinMode(trac2, INPUT);
pinMode(trac3, INPUT);
pinMode(trac4, INPUT);
pinMode(trac5, INPUT);
}
void loop() {
tracing();
delay(5);
}
void motorRun(int cmd)
{
switch(cmd){
case FORWARD:
Serial.println("FORWARD"); //输出状态
digitalWrite(leftA_PIN,LOW);
digitalWrite(leftB_PIN,HIGH);
digitalWrite(righA_PIN,LOW);
digitalWrite(righB_PIN,HIGH);
analogWrite(left_PWM,33);