360度舵机和180度舵机控制方法小结

本文详细介绍了如何使用Arduino的<servo.h>库控制180度和360度舵机。针对不同类型的舵机,提供了write()和writeMicroseconds()两种控制方法的具体应用实例。
摘要由CSDN通过智能技术生成
首先先明确一点,360度舵机无法像180度舵机一样控制角度,它只能控制方向和速度。

arduino的<servo.h>库提供两个函数控制舵机。write()writeMicroseconds();这两个函数都可以控制360/180这两种舵机。


write()

servo.write(x);  //x->[0,180];
360度舵机:

通过x设定舵机的速度(0代表一个方向的全速运行,180代表另一个方向的全速运行,90则不动)。

#include <Servo.h> 

Servo myservo;

void setup() 
{ 
  myservo.attach(9);
  myservo.write(90);  // 舵机不动
} 

void loop() {} 
180度舵机:

通过x设定舵机舵盘的角度。

#include <Servo.h> 

Servo myservo;

void setup() 
{ 
  myservo.attach(9);
  myservo.write(90);  // 在中间位置
} 

void loop() {} 

值得注意的是如果x不等于90,360度舵机会一直不停的转。而180度舵机在到达设定角度后会停下。


writeMicroseconds()

servo.writeMicroseconds(x) //x->[1000,2000]
360度舵机:

这个函数对于360度舵机的作用就是write()函数的模拟版,[1000,2000]对应[0,180]。比如writeMicroseconds(1500)相当于write(90),舵机不动。

180度舵机 :

通过x设定角度,一般来说1000是完全逆时针旋转后的位置,2000是完全顺时针旋转的位置,1500在中间。

注意有些制造商并不完全遵守这个标准,所以舵机经常会对700到2300之间的数值产生反应。实际数值可以自己试试。

#include <Servo.h> 

Servo myservo;

void setup() 
{ 
  myservo.attach(9);
  myservo.writeMicroseconds(1500);  // 舵机设定为中间位置。
} 

void loop() {} 
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值