转载:http://blog.csdn.net/u012223913/article/details/51242054

首先先明确一点,360度舵机无法像180度舵机一样控制角度,它只能控制方向和速度。

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

write()

 1 servo.write(x); //x->[0,180]; 

360度舵机:

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

360舵机与180舵机
    


            
360度舵机和180度舵机控制方法小结(转)
 1 #include <Servo.h> 
 2 
 3 Servo myservo;
 4 
 5 void setup() 
 6 { 
 7   myservo.attach(9);
 8   myservo.write(90);  // 舵机不动
 9 } 
10 
11 void loop() 
12 {} 
360舵机与180舵机
    


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

180度舵机:

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

360舵机与180舵机
    


            
360度舵机和180度舵机控制方法小结(转)
#include <Servo.h> 

Servo myservo;

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

void loop() 
{} 
360舵机与180舵机
    


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

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

writeMicroseconds()

 1 servo.writeMicroseconds(x) //x->[1000,2000] 

360度舵机:

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

180度舵机 :

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

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

360舵机与180舵机
    


            
360度舵机和180度舵机控制方法小结(转)
 1 #include <Servo.h> 
 2 
 3 Servo myservo;
 4 
 5 void setup() 
 6 { 
 7   myservo.attach(9);
 8   myservo.writeMicroseconds(1500);  // 舵机设定为中间位置。
 9 } 
10 
11 void loop() 
12 {}
360舵机与180舵机
    


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

 

转载:http://blog.csdn.net/u012223913/article/details/51242054

首先先明确一点,360度舵机无法像180度舵机一样控制角度,它只能控制方向和速度。

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

write()

 1 servo.write(x); //x->[0,180]; 

360度舵机:

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

360舵机与180舵机
    


            
360度舵机和180度舵机控制方法小结(转)
 1 #include <Servo.h> 
 2 
 3 Servo myservo;
 4 
 5 void setup() 
 6 { 
 7   myservo.attach(9);
 8   myservo.write(90);  // 舵机不动
 9 } 
10 
11 void loop() 
12 {} 
360舵机与180舵机
    


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

180度舵机:

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

360舵机与180舵机
    


            
360度舵机和180度舵机控制方法小结(转)
#include <Servo.h> 

Servo myservo;

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

void loop() 
{} 
360舵机与180舵机
    


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

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

writeMicroseconds()

 1 servo.writeMicroseconds(x) //x->[1000,2000] 

360度舵机:

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

180度舵机 :

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

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

360舵机与180舵机
    


            
360度舵机和180度舵机控制方法小结(转)
 1 #include <Servo.h> 
 2 
 3 Servo myservo;
 4 
 5 void setup() 
 6 { 
 7   myservo.attach(9);
 8   myservo.writeMicroseconds(1500);  // 舵机设定为中间位置。
 9 } 
10 
11 void loop() 
12 {}
360舵机与180舵机
    


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

 

相关文章:

  • 2021-12-18
  • 2021-05-03
  • 2021-11-22
  • 2021-05-20
  • 2021-07-06
  • 2022-02-16
  • 2021-06-15
  • 2021-05-08
猜你喜欢
  • 2021-11-22
  • 2021-12-06
  • 2021-10-31
  • 2022-12-23
  • 2021-10-02
  • 2021-12-16
  • 2022-01-08
相关资源
相似解决方案