2017-03-01 66 views
0

我正在通過藍牙製作一款由Android應用程序控制的汽車。伺服電機面臨的問題是,在藍牙模塊hc-05連接到任何藍牙設備之前,無論伺服電機是否連接,伺服電機都會旋轉。
下面是伺服電機的Arduino我的代碼:伺服電機工作不正常

#include<Servo.h> 
Servo servo1; 
Servo servo2; 
char val; 
void setup() 
{ 
    Serial.begin(9600); 
    servo1.attach(5); 
    servo2.attach(9); 
} 

void loop() 
{ 
    if(Serial.available()) 
    { 
    switch(Serial.read()) 
    { 
     case 'F': 
     servo1.write(180); 
     servo2.write(180); 
     break; 
     case 'B': 
     servo1.write(90); 
     servo2.write(90); 
     break; 
    } 
    } 
} 

我不知道爲什麼它旋轉。這非常令人沮喪。 Plz的幫助。 順便說一下,我買的伺服電機只能旋轉180度。但是我通過從裏面取下一些零件來製成360度。 如果我的代碼錯誤,Plz幫助並糾正我。

+1

你的代碼看起來很好(有一個伺服這裏測試)。您對電機的修改可能是問題。我想你想要一個[連續旋轉伺服](https://learn.adafruit.com/adafruit-motor-selection-guide/continuous-rotation-servos)。但我不是工程師。你可能會在[arduino.se]得到更好的答案。 –

+0

非常感謝Johnny Mopp的建議。我會嘗試用連續旋轉來測試它伺服 –

回答

0

嘗試在這裏補充:

switch(Serial.read()) 
- '0'` 

喜歡這裏:

switch(Serial.read() - '0') 
+0

這似乎並沒有解決問題,因爲'switch'只有兩種情況'F'和'B',而不是'Serial.read( )'作爲輸入送入'伺服'。 –