轉載:http://blog.csdn.net/u012223913/article/details/51242054函數
arduino的<servo.h>
庫提供兩個函數控制舵機。write()
和writeMicroseconds()
;這兩個函數均可以控制360/180這兩種舵機。oop
1 servo.write(x); //x->[0,180]; ui
經過x設定舵機的速度(0表明一個方向的全速運行,180表明另外一個方向的全速運行,90則不動)。spa
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 {}
經過x設定舵機舵盤的角度。.net
#include <Servo.h> Servo myservo; void setup() { myservo.attach(9); myservo.write(90); // 在中間位置 } void loop() {}
值得注意的是若是x不等於90,360度舵機會一直不停的轉。而180度舵機在到達設定角度後會停下。code
1 servo.writeMicroseconds(x) //x->[1000,2000] blog
這個函數對於360度舵機的做用就是write()函數的模擬版,[1000,2000]對應[0,180]。好比writeMicroseconds(1500)至關於write(90),舵機不動。get
經過x設定角度,通常來講1000是徹底逆時針旋轉後的位置,2000是徹底順時針旋轉的位置,1500在中間。it
注意有些製造商並不徹底遵照這個標準,因此舵機常常會對700到2300之間的數值產生反應。實際數值能夠本身試試。class
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 {}