2014-09-19 133 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