我正在尝试通过Adafruit 1411伺服护罩控制我的180度伺服电机。但是,我发现像没有屏蔽罩的普通伺服库那样以角度写入伺服器的位置还不够简单。
使用Adafruit 1411伺服屏蔽罩和Adafruit_PWMServoDriver-library,可以通过我所意识到的修改其脉冲长度来控制伺服电动机。我的问题。
我是否可以使用伺服屏蔽罩的输出并仍以度数形式进行写入,或者以某种方式将这些脉冲长度转换为角度度?
差异示例:
Adafruit_PWMServoDriver库:
pwm.setPWM(Servo,0,pulseLength);
伺服库:
Servo.write(45); //对于我的项目,以这种角度书写将是最佳选择。
任何朝着正确方向的帮助都将受到赞赏!
答案 0 :(得分:0)
使用Arduino map
函数。以下来自Adafruit instructions:
pulselength = map(degrees, 0, 180, SERVOMIN, SERVOMAX);
其中SERVOMIN和SERVOMAX是根据伺服机构的行程范围设置的值。这会将0到180之间的值线性映射到SERVOMIN和SERVOMAX之间的范围。
到目前为止,由于您一直在使用脉冲宽度进行此操作,因此您可能已经知道需要使用的值。