七、arduino舵机的用法

舵机是一种位置伺服驱动器,通过不同脉冲宽度控制转动角度。Arduino的Servo库简化了舵机控制,允许精确角度旋转。代码示例展示了如何使舵机从0°到180°来回旋转。注意使用Servo库可能影响某些引脚的PWM功能。
摘要由CSDN通过智能技术生成

首先我们要知道什么是舵机?

其实舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的闭环控制执行模块。通过给他不同的脉冲宽度就能控制它转动到对应角度,此外它还有大扭矩的特点

SG90舵机上有三根线,分别是GND(棕色线)、VCC(红色线)和SIG(黄色线),也就是地线、电源线和信号线。它是由5V供电的。

舵机的角度控制是由0.5~2ms的脉冲控制的。

 

 舵机的角度控制是由0.5~2ms的脉冲控制的。当舵机接收到0.5ms的高电平脉冲时,舵机就回到-90°的位置。图上的脉冲对应的角度并不意味着舵机只能旋转这5个角度。只要是在0.5~2.5ms之间的脉冲都是可以的控制相应角度的。而arduino就更为方便的为我们提供了一个舵机库,使得我们简单调用库函数便能实现任意角度的旋转。

 该代码是使舵机从0°旋转到180°再转到0°。

#include <Servo.h>	//库头文件

int pos = 0;    //定义角度储存值

Servo servo_9;		//定义舵机引脚名

void setup()
{
  servo_9.attach(9, 500, 2500);	//定义引脚,后的500和2500可省略
}

void loop()
{
  // 以 1 度的步长将舵机从 0 度扫描到 180 度
  for (pos = 0; pos <= 180; pos += 1) {
    // 告诉伺服转到变量“POS”中的位置
    servo_9.write(pos);
    delay(15); // 等待 15 毫秒,让伺服到达该位置
  }
  for (pos = 180; pos >= 0; pos -= 1) {
    servo_9.write(pos);// 告诉伺服转到变量“POS”中的位置
    delay(15); // 等待 15 毫秒,让伺服到达该位置
  }
}

舵机库相关函数如下

 注意:使用Servo库可能会影响Arduino开发板的某些引脚的PWM功能
当使用了Servo库,UNO开发板的9号和10号引脚的PWM功能是无法使用的;Mega开发板上的引脚11和引脚12是要受到影响的。

文章引用:Arduino舵机库函数的使用_servo函数_Ehang_Maker的博客-CSDN博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值