舵机正反转有个问题麻烦各位啦
下面代码想弄两个舵机可以调速可以同步转,但是想1号舵机正转,2号舵机反转,但这个同在一个赋值相同方向的了,这样该怎样改呢#include <Servo.h>
int i;
int sudu=20;//速度值,越大越慢
Servo myservo1;
Servo myservo2;
void setup()
{
myservo1.attach(15);
myservo2.attach(21);
}
void loop()
{
for(i=60;i<120;i++)//0到180度
{
myservo1.write(i);
myservo2.write(i);
delay(sudu);//速度值,越大越慢
}//1.2号舵机正转
for(i=120;i>60;i--)
{
myservo1.write(i);
myservo2.write(i);
delay(sudu);//速度值,越大越慢
}//1.2号舵机反转
} 麻烦路过大佬帮下啦,自学写的这样,就是两个不同转向不知怎样弄:P void loop()
{
for(i=60;i<120;i++)//0到180度
{
myservo1.write(i);
myservo2.write(60-i);
delay(sudu);//速度值,越大越慢
}
for(i=120;i>60;i--)
{
myservo1.write(i);
myservo2.write(120+i);
delay(sudu);//速度值,越大越慢
}
}
我弄了下直接在这里改了2号,这样可以做到两个不同方向转了,但改了2号反转那个不受速度控制了,1号正常 xxx一跃而过 发表于 2020-5-19 22:14
void loop()
{
for(i=60;i60;i--)
這是數學問題,
對 "for(i=60;i<120;i++)//0到180度 " 來說,你希望 M1 M2的關係是:
M1 M2
60 120
70 110
80 100
.....
110 70
120 60
按以上關係,找出 M1 跟 M2的關係的其中一個可能公式:
M2 = 180 - M1
把以上公式放回程序中:
for(i=60;i<120;i++)//0到180度
{
myservo1.write(i);
myservo2.write(180-i);
delay(sudu);//速度值,越大越慢
}
理解了以上方法後,你應可處理另一個情況了。努力! eddiewwm 发表于 2020-5-20 11:50
這是數學問題,
對 "for(i=60;i
厉害呀,理解了,没错是这样,修改后正常了,谢谢
页:
[1]