为了账号安全,请及时绑定邮箱和手机立即绑定

现在我的代码是如下这样,请教达人修改转得慢些的方式?

现在我的代码是如下这样,请教达人修改转得慢些的方式?

海绵宝宝撒 2022-07-14 15:11:34
if (Serial.available()){char val = Serial.read();if (val == 'i'){servo1.attach(9);servo1.write(165);}else if (val == 'j'){servo1.attach(9);servo1.write(10);}else if (val == '/'){servo1.detach();servo2.detach();例如串口收到‘i’,舵机立刻转到10度;串口收到‘j’,舵机转到165度。收到‘/’停止。但这个速度太快了
查看完整描述

2 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

用servo1.writeMicroseconds(1500);这种格式速度会慢些。
舵机从1000转到2000,1500相当于90°,而你用的10°和165°可以自己计算。
给你一个示例:
#include <Servo.h>

Servo myservo;

void setup()
{
myservo.attach(9);
myservo.writeMicroseconds(1500); // set servo to mid-point
}

void loop() {}

查看完整回答
反对 回复 2022-07-18
?
HUWWW

TA贡献1874条经验 获得超12个赞

myservo1.attach(9, min, max ) ;替换servo1.attach(9);
经测试,min是最小速度(默认是544);max是最大速度默认是2400;你想降低速度可以修改min和max的值。比如10,20就很明显的降下来了!

查看完整回答
反对 回复 2022-07-18
  • 2 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信