TO 超新手   感謝您的解答 
 
程式碼 似乎沒提到用哪兩根腳?? 以下是使用的程式碼 
 
 
 
// L298N 馬達驅動板 
#define MotorR_I1     8  //定義 I1 接腳 
#define MotorR_I2     9  //定義 I2 接腳 
#define MotorL_I3    10  //定義 I3 接腳 
#define MotorL_I4    11  //定義 I4 接腳 
#define MotorR_ENA    5  //定義 ENA (PWM調速) 接腳 
#define MotorL_ENB    6  //定義 ENB (PWM調速) 接腳 
 
 
void setup() 
{ 
  Serial.begin(9600);  
   
  pinMode(MotorR_I1,OUTPUT); 
  pinMode(MotorR_I2,OUTPUT); 
  pinMode(MotorL_I3,OUTPUT); 
  pinMode(MotorL_I4,OUTPUT); 
  pinMode(MotorR_ENA,OUTPUT); 
  pinMode(MotorL_ENB,OUTPUT); 
   
  analogWrite(MotorR_ENA,500);    //設定馬達 (右) 轉速 
  analogWrite(MotorL_ENB,500);    //設定馬達 (左) 轉速 
} 
 
void advance(int a)    // 前進 
{ 
    digitalWrite(MotorR_I1,HIGH);   //馬達(右)順時針轉動 
    digitalWrite(MotorR_I2,LOW); 
    digitalWrite(MotorL_I3,HIGH);   //馬達(左)逆時針轉動 
    digitalWrite(MotorL_I4,LOW); 
    delay(a * 100); 
} 
 
void turnR(int d)    //右轉 
{ 
    digitalWrite(MotorR_I1,LOW);    //馬達(右)逆時針轉動 
    digitalWrite(MotorR_I2,HIGH); 
    digitalWrite(MotorL_I3,HIGH);   //馬達(左)逆時針轉動 
    digitalWrite(MotorL_I4,LOW); 
    delay(d * 100); 
} 
 
void turnL(int e)    //左轉 
{ 
    digitalWrite(MotorR_I1,HIGH);   //馬達(右)順時針轉動 
    digitalWrite(MotorR_I2,LOW); 
    digitalWrite(MotorL_I3,LOW);    //馬達(左)順時針轉動 
    digitalWrite(MotorL_I4,HIGH); 
    delay(e * 100); 
}     
 
void stopRL(int f)  //停止 
{ 
    digitalWrite(MotorR_I1,HIGH);   //馬達(右)停止轉動 
    digitalWrite(MotorR_I2,HIGH); 
    digitalWrite(MotorL_I3,HIGH);   //馬達(左)停止轉動 
    digitalWrite(MotorL_I4,HIGH); 
    delay(f * 100); 
} 
 
void back(int g)    //後退 
{ 
    digitalWrite(MotorR_I1,LOW);    //馬達(右)逆時針轉動 
    digitalWrite(MotorR_I2,HIGH); 
    digitalWrite(MotorL_I3,LOW);    //馬達(左)順時針轉動 
    digitalWrite(MotorL_I4,HIGH); 
    delay(g * 100);      
} 
 
void loop() 
{ 
  int cmd = Serial.read();  // 讀取藍芽指令 
     
  switch(cmd)  // 執行藍芽指令 
  { 
    case 'S':  // 倒車 
      back(5); 
      break; 
  
    case 'A':  // 左轉 
      turnL(5); 
      break; 
         
    case 'D':  // 右轉 
      turnR(5); 
      break; 
       
    case 'W':  // 前進 
      advance(5); 
      break; 
         
    case 'Q':  // 停止 
        stopRL(5); 
        break; 
 } 
} |