循跡小車
int MotorRight1=14; //A0 IN1
int MotorRight2=15; //A1 IN2
int MotorLeft1=16; //A2 IN3
int MotorLeft2=17; //A3 IN4
int MotorRPWM=5; //PWM 5
int MotorLPWM=3; //PWM 3
int SensorLeft = 2; //左感測器輸入腳
int SensorRight = 6; //右感測器輸入腳
int SL; //左感測器狀態
int SR; //右感測器狀態
void setup()
{
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); //定義右感測器
}
void loop()
{
SL = digitalRead(SensorLeft);
SR = digitalRead(SensorRight);
if (SL == ________ && SR ==________)// 左右都黑,前進
{
digitalWrite(MotorRight1,LOW);//IN1 右馬達高電壓反轉
digitalWrite(MotorRight2,HIGH);//IN2 右馬達高電壓正轉
analogWrite(MotorRPWM,130); //0---100--250
digitalWrite(MotorLeft1,HIGH);//IN3 左馬達高電壓正轉
digitalWrite(MotorLeft2,LOW);//IN4 左馬達高電壓反轉
analogWrite(MotorLPWM,110);
}
else// 都是白色, 停止
{
digitalWrite(MotorRight1,LOW);
digitalWrite(MotorRight2,LOW);
analogWrite(MotorRPWM,0);
digitalWrite(MotorLeft1,LOW);
digitalWrite(MotorLeft2,LOW);;
analogWrite(MotorLPWM,0);
}
}