2012-06-16 76 views
0

我試圖用Arduino微控制器來連續旋轉伺服器。Arduino旋轉伺服器

當用串行連接按下右箭頭鍵時,我想把伺服機構向右轉1度。 這是我的代碼:

const int servoPin = 6; 
    int incomingByte; 
    Servo servo; 
    int pos; 

    void setup() { 
     Serial.begin(9600); 
     pos = 0; 
     servo.attach(servoPin); 
     servo.write(pos); 
    } 

    void loop() { 
     incomingByte = Serial.read(); 

     if (incommingByte == 67) { 
      pos++; 
      servo.write(pos); 
     } 
    } 

爲了讓他轉身,我該怎麼做?因爲現在,它不動...

非常感謝!

回答

1

你的代碼有幾個錯誤。你有幾個語法錯誤正在進行。

首先,你需要做一個#include <Servo.h>並聲明incomingByte爲int。 if條件行中還有一個錯字。

另外,如果鍵盤沒有連接到Arduino開發板,您將無法從鍵盤讀取數據,除非您有中間的東西來將鍵盤數據傳遞到開發板。下面是您可以使用的代碼開始:

#include <Servo.h> 

int incomingByte; 
Servo servo; 
int pos; 
int dir; 

void setup() { 
    Serial.begin(9600); 
    Serial.print("Test\n"); 

    pos = 90; 
    dir = 1; 

    servo.attach(9); 
    servo.write(pos); 
} 

void loop() { 
    if (pos >= 180 || pos <= 0) { dir = -dir; } 
    pos += dir; 
    Serial.print(pos); 
    Serial.println(); 
    servo.write(pos); 
    delay(50); 
} 
+0

伺服未校準,這是問題...感謝您的時間! – francisMi