-1
我在編寫線跟蹤機器人(使用電機和使用Arduino Uno)並使用開關語句聲明電機的不同運動時遇到了麻煩。
到目前爲止,我有:未聲明的範圍(在Arduino中的開關語句)
void loop() {
int sensorValueright = analogRead(A0);
int sensorValuecentre = analogRead(A1);
int sensorValueleft = analogRead(A2);
switch (direction1) {
case "right":
digitalWrite(12, HIGH); //Establishes forward direction of Channel A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 60); //Motor A at quarter speed
digitalWrite(13, HIGH); //Establishes forward direction of Channel B
digitalWrite(8, LOW); //Disengage the Brake for Channel B
analogWrite(11, 125); //Motor B at half speed
delay(1000);
break;
case "centre":
digitalWrite(12, HIGH); //Forward A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 100); //Motor A = Motor B speed
digitalWrite(13, HIGH); //Forward B
digitalWrite(8, LOW); //Disengage the Brake for Channel B
analogWrite(11, 100); //Motor A = Motor B speed
delay(500);
break;
case "left":
digitalWrite(12, HIGH); //Establishes forward direction of Channel A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 125); //Motor A at Half Speed
digitalWrite(13, HIGH); //Establishes forward direction of Channel B
digitalWrite(8, LOW); //Disengage the Brake for Channel B
analogWrite(11, 60); //Motor B at Quarter Speed
delay(1000);
break;
}
if (sensorValuecentre < 1){
direction1 == "centre"
}
else if (sensorValueright < 1){
direction1 == "right"
}
else if (sensorValueleft < 1){
direction1 == "left"
}
else{
digitalWrite(12, HIGH); //Establishes forward direction of Channel A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 50); //Motor A at low speed
digitalWrite(13, HIGH); //Establishes forward direction of Channel B
digitalWrite(8, LOW); //Disengage the Brake for Channel B
analogWrite(11, 50); //Motor B at low speed
delay(500);
}
delay(1);
}
但我得到以下錯誤而編譯:
line_tracker_test_switch.ino: In function 'void loop()':
line_tracker_test_switch.ino:20:9: error: 'direction1' was not declared in this scope
line_tracker_test_switch.ino:60:3: error: expected ';' before '}' token
line_tracker_test_switch.ino:64:3: error: expected ';' before '}' token
line_tracker_test_switch.ino:68:3: error: expected ';' before '}' token
Error compiling.
任何幫助將不勝感激!
我看不到direction1的聲明。你做? – bmargulies
閱讀錯誤 - 'direction1'沒有聲明,也沒有顯示它是如何/在哪裏宣佈! – John3136
另外,'direction1 =='右邊''不會做你認爲它做的事。 –