|
如題
小弟之前做了一台自走車 程式碼也寫好可以動了
可是之後重新組裝 重新在上一次程式碼 出現了程式碼沒辦法編譯的情況
之前程式碼怎麼編譯都沒有錯誤 出現了bt讀不到的問題.....
程式碼:
'/'#include <SoftwareSerial.h> // 引用「軟體序列埠」程式庫
SoftwareSerial BT(3, 2); // 設定軟體序列埠(接收腳, 傳送腳)
char command; // 設定啟動或停止馬達的參數
// 一開始先設定「停止」
boolean run = false;
// 左馬達控制設定
const byte LEFT1 = 10;
const byte LEFT2 = 9;
const byte LEFT_PWM = 5;
// 右馬達控制設定
const byte RIGHT1 = 8;
const byte RIGHT2 = 7;
const byte RIGHT_PWM = 6;
// 設定PWM輸出值
byte motorSpeed = 100;
void forward() { // 馬達轉向:前進
digitalWrite(LEFT1, HIGH);
digitalWrite(LEFT2, LOW);
digitalWrite(RIGHT1, HIGH);
digitalWrite(RIGHT2, LOW);
}
void backward() { // 馬達轉向:後退
digitalWrite(LEFT1, LOW);
digitalWrite(LEFT2, HIGH);
digitalWrite(RIGHT1, LOW);
digitalWrite(RIGHT2, HIGH);
}
void turnLeft() { // 馬達轉向:左轉
digitalWrite(LEFT1, LOW);
digitalWrite(LEFT2, HIGH);
digitalWrite(RIGHT1, HIGH);
digitalWrite(RIGHT2, LOW);
}
void turnRight() { // 馬達轉向:右轉
digitalWrite(LEFT1, HIGH);
digitalWrite(LEFT2, LOW);
digitalWrite(RIGHT1, LOW);
digitalWrite(RIGHT2, HIGH);
}
void setup() {
BT.begin(9600);
pinMode(LEFT1, OUTPUT);
pinMode(LEFT2, OUTPUT);
pinMode(LEFT_PWM, OUTPUT);
pinMode(RIGHT1, OUTPUT);
pinMode(RIGHT2, OUTPUT);
pinMode(RIGHT_PWM, OUTPUT);
}
void loop() {
if (BT.available() > 0) {
command = BT.read();
switch (command) {
case 'w': // 接收到'w',前進。
forward();
run = true; // 啟動馬達
break;
case 'x': // 接收到'x',後退。
backward();
run = true; // 啟動馬達
break;
case 'a': // 接收到'a',左轉。
turnLeft();
run = true; // 啟動馬達
break;
case 'd': // 接收到'd',右轉。
turnRight();
run = true; // 啟動馬達
break;
case 's':
run = false; // 停止馬達
break;
}
}
if (run) {
// 如果要啟動馬達…
// 向馬達輸出指定的類比電壓值
analogWrite(LEFT_PWM, motorSpeed);
analogWrite(RIGHT_PWM, motorSpeed);
} else {
// 否則…
// 將馬達的電壓值設定成0
analogWrite(LEFT_PWM, 0);
analogWrite(RIGHT_PWM, 0);
}
}
錯誤:
BTcontrilRobot_2.ino:1:4: error: stray '#' in program
BTcontrilRobot_2.ino:1:1: error: expected unqualified-id before '/'
BTcontrilRobot_2.ino: In function 'void setup()':
BTcontrilRobot_2.ino:50:3: error: 'BT' was not declared in this scope
BTcontrilRobot_2.ino: In function 'void loop()':
BTcontrilRobot_2.ino:61:7: error: 'BT' was not declared in this scope
編譯時發生錯誤
我看過了每遍程式碼照理來說因該不會出錯 畢竟曾經跑會動 可是現在不會動了想請求幫忙
|
|