arduino的servo函数_如何使用Arduino舵机库servo.h – 八色木

文章目录

[隐藏]

我们都知道Arduino控制板支持PWM的引脚有限,但如果在Arduino上需要控制超出PWM引脚数量的舵机怎么办呢?答案是使用servo.h库文件,它是Arduino控制舵机的标准库之一。

Servo.h

查看Arduino库文件列表,可通过Arduino IDE的“Help”菜单下的“Reference”查看。Arduino Libraries

我们可以看到在Arduino标准库中的servo库,单击连接后进入,可查看servo.h文件更详细的内容。Servo library

在上图左边是对servo库文件的基本介绍,右边是主要的函数和示例。

Servo库文件使用

我们知道舵机必须定期接收高电平脉冲控制信号才能维持转动。如果信号停止,舵机也停止。详见:舵机角度的控制。如果使用servo库来设置控制信号,就可以通过引入一些代码,实现如延迟、检查传感器、等待等功能。同时,由于servo库一直在后台运行,而舵机一直在旋转,它会经常中断其他正在执行的代码来启动那些高脉冲,带是这个切换的动作快到我们感知不到。

使用servo库来发送舵机控制信号一般需要四个步骤:

1、 首先要告诉Arduino编程器,希望在代码开始时,即setup函数之前,声明使用Servo库函数。#include // Include servo library

2、 在#include和setup函数之间为要发送的信号命名servo库的实例。如下servoLeft就是指定的实例名称。Servo servoLeft; // Declare left servo

3、 在setup函数中,使用给出的舵机信号的名称后跟一个点,然后通过附加函数attach()调用信号引脚。这个例子告诉系统舵机信号servoLeft应该通过数字引脚13来传输。servoLeft.attach(13); // Attach left signal to pin 13

4、writeMicroseconds()函数,用于设置脉冲持续时间。servoLeft.writeMicroseconds(1500); // 1.5 ms stay-still signal

5、write()函数, 作用是将一个角度值写入舵机,设置轴转动的角度(该值是指角度),0为在一个方向全速转动,180为在另一个方向上全速转动,接近90为复位。servoLeft.write(90); // set servo to mid-point

6、attached()函数,用于检测servo变量是否正确连接至Arduino对应引脚上。返回值为 true 和 false 。servoLeft.attached()

7、detach()函数, 作用是从对应引脚上分离舵机变量。如果要将所有舵机变量分离,则使用analogWrite()函数将引脚9和引脚10用于PWM输出。servoLeft.detach()

8、read()函数, 用于读取舵机的当前角度值(传递给上次调用write()的值)。servoLeft.read()

以上是servo.h库文件的基本函数讲解,如有不当之处请谅解。

  • 12
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值