我使用coral dev board開發板傳送訊號給arduino,之後arduino控制sg90馬達到特定角度,
但是單一執行傳送訊號和只用arduino控制馬達都沒問題.2個整合起來就出現這個錯誤:
sg90:29:1: error: expected declaration before '}' token
}
^
"Servo.h"找到多個程式庫
已使用: /home/must/下載/arduino-1.8.10-linux64/arduino-1.8.10/libraries/Servo
exit status 1
expected declaration before '}' token
下面是我的程式(這支是單獨控制馬達):
#include <Servo.h>
Servo myservo; // 建立SERVO物件
void setup() {
myservo.attach(6); // 設定要將伺服馬達接到哪一個PIN腳
}
void loop() {
myservo.write(0); //旋轉到0度,就是一般所說的歸零
delay(1000);
myservo.write(90); //旋轉到90度
delay(1000);
myservo.write(180); //旋轉到180度
delay(1000);
myservo.write(0);
delay(1000);
}
這支是dev board傳訊號後arduino接收到在傳回來:
void setup()
{
Serial.begin(115200); // 9600 bps
}
void loop()
{
if ( Serial.available())
{
if('s' == Serial.read())
Serial.println("Hello Raspberry,I am Arduino.");
}
}
最後整合有錯誤的是這支:
#include <Servo.h> //載入函式庫,這是內建的,不用安裝
int i;
Servo myservo; // 建立SERVO物件
void setup() {
myservo.attach(6); // 設定要將伺服馬達接到哪一個PIN腳
Serial.begin(115200);
}
void loop() {
if(Serial.available())
{
if('1'==Serial.read())
myservo.write(0); //旋轉到0度,就是一般所說的歸零
delay(1000);
myservo.write(90); //旋轉到90度
delay(1000);
myservo.write(0);
delay(1000);
}
if('2'==Serial.read())
myservo.write(0);
delay(1000);
myservo.write(100); //旋轉到100度
delay(1000);
myservo.write(0);
delay(1000);
}
}