2014-09-19 71 views
0

我想在Arduino(品牌)機器人上附加伺服器,但不確定哪個引腳用於波紋管代碼。 大多數人似乎都推薦使用pin 9和10來控制arduino Unos的伺服。 但是,我不能使用引腳9,因爲它已經用作LCD的從選擇引腳。 我已經嘗試通過在myservo.attach()中將它們引腳19-22連接到引腳TKD0-TKD3。代碼運行,但伺服不旋轉,只會變熱和/或抽動。將伺服連接到Arduino(品牌)機器人

難道問題不是不正確的引腳連接?

感謝, -M

我一直在引用這些控制基板引腳映射: http://arduino.cc/en/Main/Robothttp://fabcirablog.weebly.com/blog/grappling-with-the-arduino-robot-control-board

#include <Servo.h> 

Servo myservo; // create servo object to control a servo 


int pos = 0;  

void setup() 
{ 

    myservo.attach(19); // attaches the servo on pin 9 to the servo object 
} 



void loop() 
{ 
    for(pos = 0; pos < 60; pos += 1) 
    {         
myservo.write(pos);    
delay(15);       
    } 
    for(pos = 60; pos>=1; pos-=1)  
    {         
    myservo.write(pos);    
    delay(15);      
    } 
} 
+0

你有沒有經常使用伺服的Arduino Uno?這只是因爲你可以確認伺服沒有問題。你的代碼很好。你的伺服器是否正確接線到機器人上?你的插頭是否倒置?這些只是一些要檢查的事情的想法。 – 2014-09-19 13:50:56

+0

感謝蒂姆,我沒有一個Arduino Uno方便,但我用另一個伺服驗證。是的,我相信接線是正確的,我嘗試了各種組合以確保 – mimas 2014-09-20 09:48:13

回答

0

你有這樣的機器人,對吧?

Arduino Robot

而且你使用的是經典伺服(3針,黃色紅色和黑色電纜)?如果是的話......小心。根據示意性,在基板(例如TKD0)連接器的引腳分配是

+5V 
AD1 
GND 

雖然通常伺服有

DATA 
+5V 
GND 

所以..你必須做出一個短電纜反轉銷。

如果這不是問題..你確定19是正確的針數?我找不到引用,但我建議你把它稱爲TKD0(這可能是一個定義正確引腳的宏),正如arduino設計師建議的那樣。

+0

謝謝您的回覆。是的,我用跳線來反轉引腳,所以我不認爲這是接線問題。從閱讀文檔(http://arduino.cc/en/Main/Robot),我認爲可以使用以下名稱來運行伺服: 19 == A1 == TKD0, 20 == A2 == TKD1, 21 == A3 == TKD2, 22 == A4 == TKD3,我試過把'TKD0'放在myservo.attach()中,但是代碼不接受這個值作爲值,因爲它不運行。 – mimas 2014-09-20 09:59:48

+0

嗯,是的;)我現在可以看到它。那麼,我只能想到另外3條建議。 1)嘗試使用A1而不是19,即使它們應該是相同的。 2)嘗試將LED連接到引腳並使其閃爍。所以你可以看到有什麼問題。 3)最好的測試:將示波器連接到引腳並查看該線路上傳遞的信息。此外,您可以檢查引腳上的電壓。 – frarugi87 2014-09-21 10:41:10

+0

謝謝你堆!我嘗試使用A4,並使用示波器來隔離問題,我的伺服器正在工作! – mimas 2014-09-24 04:25:54