サーボモーター(Servoクラス)

サーボモーターを制御するライブラリです。最大12個のチャネルを割り当てられます。

使用する場合は、#include <servo.h>を記述して、Servo servo0のように割り当てた分をインスタンス生成してください。

attach

概要
初期化して、出力を任意のピンに割り当てます。
文法
servo.attach(int pin)
servo.attach(int pin, int min, int max)
パラメータ
pin: ピン番号
min: サーボの角度が0度のときのパルス幅[us]。デフォルトは544。
max: サーボの角度が180度のときのパルス幅[us]。デフォルトは2400。
戻り値
なし

write

概要
サーボの角度をセットして、シャフトをその方向に向けます。指定された回転角にするためのパルスがattachで指定したピンから出力されます。
文法
servo.write(int angle)
パラメータ
analog: 静止させたい角度(0~180)
戻り値
なし

writeMicroseconds

概要
サーボモータに与える出力をマイクロ秒単位で角度指定します。サーボモータに与えられるパルスは20ms周期で、1周期中のHigh時間を直接指定します。
文法
servo.writeMicroseconds(int us)
パラメータ
us: 出力したいパルス幅[us]。範囲は1~19999。0を指定すると出力OFF。
戻り値
なし

read

概要
最後に設定された角度(パルス幅)を読み出す。ただしwriteMicrosecondsで与えた値は読み出せません。
文法
int servo.read()
パラメータ
なし
戻り値
パルス幅[us]
[us]

attached

概要
ピンにサーボが割り当てられているかを確認する
文法
bool servo.attached()
パラメータ
なし
戻り値
割り当てられているときtrue、割り当てられていないときfalse。

detach

概要
サーボモータの動作を止めます。指定ピンからのパルス出力を止めます。
文法
servo.detach()
パラメータ
なし
戻り値
なし

サンプルプログラム

サーボモータを操作するピンを9にして、90度に回転させます。


#include <Arduino.h>
#include <servo.h>

Servo servo0;

void setup() 
{ 
  servo0.attach(9);
  servo0.write(90);  // set servo to mid-point
} 

void loop() {}