|
楼主 |
发表于 2012-1-11 10:53:58
|
显示全部楼层
本帖最后由 Hansmuller_8 于 2012-1-11 11:05 编辑
今天想出一个写法,用的是ARDUINO的自带MAP缩放函数,测试运动了瞒不错。这样写的一个作用是,无论几个舵机,运动角度范围多大每次的动作都是同步结束,也就是距离短的舵机动作慢,长的动作快,同时完成各自动作
void loop()
{
int x;
for(x = 0; x< =180; x+=2)
{ int pos1=map(x,0,180,90,120);
int pos2=map(x,0,180,30,60);
int pos3=map(x,0,180,20,50);
myservo1.write(pos1);
myservo2.write(pos2);
myservo3.write(pos3);
delay(10);
}
for(x = 180; x< =0; x+=2)
{ int pos1=map(x,180,0,120,90);
int pos2=map(x,180,0,60,30);
int pos3=map(x,180,0,50,30);
myservo1.write(pos1);
myservo2.write(pos2);
myservo3.write(pos3);
delay(10);
}
} |
|