| 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;
 }
 }
 |