360舵機與180舵機

360度舵機和180度舵機控制方法小結(轉)

 

轉載:http://blog.csdn.net/u012223913/article/details/51242054html

首先先明確一點,360度舵機沒法像180度舵機同樣控制角度,它只能控制方向和速度。

arduino的<servo.h>庫提供兩個函數控制舵機。write()writeMicroseconds();這兩個函數均可以控制360/180這兩種舵機。函數

write()

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

360度舵機:

經過x設定舵機的速度(0表明一個方向的全速運行,180表明另外一個方向的全速運行,90則不動)。post

複製代碼
 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 {} 
複製代碼

180度舵機:

經過x設定舵機舵盤的角度。ui

複製代碼
#include <Servo.h> 

Servo myservo;

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

void loop() 
{} 
複製代碼

值得注意的是若是x不等於90,360度舵機會一直不停的轉。而180度舵機在到達設定角度後會停下。url

writeMicroseconds()

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

360度舵機:

這個函數對於360度舵機的做用就是write()函數的模擬版,[1000,2000]對應[0,180]。好比writeMicroseconds(1500)至關於write(90),舵機不動。.net

180度舵機 :

經過x設定角度,通常來講1000是徹底逆時針旋轉後的位置,2000是徹底順時針旋轉的位置,1500在中間。code

注意有些製造商並不徹底遵照這個標準,因此舵機常常會對700到2300之間的數值產生反應。實際數值能夠本身試試。htm

複製代碼
 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 {}
複製代碼
相關文章
相關標籤/搜索