我有一些代码控制着一个旧的analoge伺服系统,一切正常。
但是当我得到一个新的数字伺服时,它不会保持位置,而是返回到0。
请帮助,需要什么?
以下是Sweep的基本代码:
#include <Servo.h>
Servo myservo;
int pos = 0;
void setup()
{
myservo.attach(A1);
}
void loop()
{
for(pos = 0; pos <= 180; pos++) // goes from 0 degrees to 180 degrees
{ // in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
答案 0 :(得分:0)
在你的for循环之后:
while(1);
在循环的结束括号之前() 这将在该点停止程序,而不是继续运行每次声明pos = 0的for循环。
答案 1 :(得分:0)
我看到这个问题有点不合时宜。
但我发现还有另一种控制伺服的方法,那就是使用 writeMicroseconds 而不是myservo.write(90)。
myservo.writeMicroseconds(1500); //