我有一个梦。 发表于 2014-5-15 20:29:01

请教关于arduino控制两个舵机同时同方向转动的问题。

我在IDE里找到舵机(servo)里找到一个程序,是驱动一个舵机转动的,我想把它改成驱动两个舵机的程序(如下),结果9口不能输出,10口能输出,郁闷啦。Why?请求大家指导一下。
#include <Servo.h>
#include <Servo.d>
Servo myservo1;
Servo myservo2;
int pos1 = 0;   
int pos2 = 0;
void setup()
{
myservo1.attach(9);
myservo2.attach(10);
}
void loop()
{
for(pos1 = 0; pos1 < 180; pos1 += 1)
for(pos2 = 0; pos2 < 180; pos2 += 1)
{                                 
myservo1.write(pos1);   
myservo2.write(pos2);   
    delay(25);                     
    }
for(pos1 = 180; pos1>=1; pos1-=1)   
   for(pos2 = 180; pos2>=1; pos2-=1)   
         
{   
    myservo1.write(pos1);
    myservo2.write(pos2);   
    delay(25);                     
}
   }

longma 发表于 2014-5-15 21:05:19

for(pos1 = 0; pos1 < 180; pos1 += 1)
   
排在“for(pos2 = 0; pos2 < 180; pos2 += 1)
   {                                 
myservo1.write(pos1);   
myservo2.write(pos2);   
   delay(25);                     
    }
”之前,除了空转,什么也没有做呀!
建议去掉一个for语句,只留后一个,将myservo1.write(pos1);   改成myservo1.write(pos2);    再 试一试。
比如改成:
for(pos2 = 0; pos2 < 180; pos2 += 1)
   {                                 
myservo1.write(pos2);   
myservo2.write(pos2);   
   delay(25);                     
    }

我有一个梦。 发表于 2014-5-16 11:19:19

longma 发表于 2014-5-15 21:05 static/image/common/back.gif
for(pos1 = 0; pos1 < 180; pos1 += 1)
   
排在“for(pos2 = 0; pos2 < 180; pos2 += 1)


谢谢{:soso_e183:} 我试试。

我有一个梦。 发表于 2014-5-16 11:33:55

longma 发表于 2014-5-15 21:05 static/image/common/back.gif
for(pos1 = 0; pos1 < 180; pos1 += 1)
   
排在“for(pos2 = 0; pos2 < 180; pos2 += 1)


谢谢小哥,听你的没错,呵呵。:lol
页: [1]
查看完整版本: 请教关于arduino控制两个舵机同时同方向转动的问题。