舵机不能控制速度吗?转的太快了,能不能慢慢的转?-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2751|回复: 4

[已解决] 舵机不能控制速度吗?转的太快了,能不能慢慢的转?

[复制链接]
发表于 2021-8-16 17:44 | 显示全部楼层 |阅读模式
本帖最后由 wofa888 于 2021-8-17 10:51 编辑

舵机不能控制速度吗?转的太快了,能不能慢慢的转?
一按钮
不到1秒时间就转到位了。
能不能慢慢的转?
转它个10秒钟到位,我用89c52单片机实现不了啊,没法控啊。



45345.gif





我有块UNO R3改进版开发板 CH340驱动ATmega328P单片机模块 兼容arduino
有没有大师用Arduino控制舵机速度的?我试试。不胜感激!!!
UNO R3改进版开发板 CH340驱动ATmega328P单片机模块 兼容arduino.jpg

发表于 2021-8-17 06:30 | 显示全部楼层
参看示例程序:IDE-文件-示例-servo,改变delay(15);中数值的大小来满足你的要求.

点评

可以。能成功。完全满足我的要求。谢谢  发表于 2021-8-17 10:41
发表于 2021-8-16 20:07 | 显示全部楼层
把大角度分成若干小角度,中间再穿插一些延迟不就行了···
 楼主| 发表于 2021-8-17 10:47 | 显示全部楼层




  1. #include <Servo.h>

  2. Servo myservo;  // 创建舵机对象以控制舵机
  3. //大多数电路板上可以创建12个舵机对象

  4. int pos = 0;    // 变量来存储舵机位置

  5. void setup() //只执行一次
  6. {
  7.   myservo.attach(9);  //定义9口连接舵机
  8. }

  9. void loop() //循环
  10. {
  11.   for (pos = 0; pos <= 180; pos += 1) { // 从0度到180度
  12. //以1度的步长
  13.     myservo.write(pos);              // 告诉舵机转到变量“pos”中的位置
  14.     delay(50);                       // 等待15毫秒,等待舵机到达该位置,此时间越长速度越慢(3-200)
  15.   }
  16.   for (pos = 180; pos >= 0; pos -= 1) { // 从180度变为0度
  17.     myservo.write(pos);              // 告诉舵机机构转到变量“pos”中的位置
  18.     delay(50);                       // 等待15毫秒,等待舵机到达该位置 此时间越长速度越慢(3-200)
  19.   }
  20. }
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-29 02:33 , Processed in 0.077525 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表