基本ライブラリ
デジタルIO
アナログIO
拡張IO
時間
数学
三角関数
乱数
ビットバイト操作
割り込み
シリアル通信
標準ライブラリ
サーボモーター
ステッピングモーター
キャラクタ液晶表示
EEPROM
SPI通信
I2C通信(Wire)
メモリカード
メモリカード(File操作)
Ethernet
Ethernetサーバー
Ethernetクライアント
Firmata
周期処理
省電力
時計(RTC)
SoftwareSerial
ユーティリティ
サーボモーター(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]
attached
概要
ピンにサーボが割り当てられているかを確認する
文法
bool servo.attached()
パラメータ
なし
戻り値
割り当てられているときtrue、割り当てられていないときfalse。
detach
概要
サーボモータの動作を止めます。指定ピンからのパルス出力を止めます。
文法
servo.detach()
パラメータ
なし
戻り値
なし
サンプルプログラム
サーボモータを操作するピンを4にして、0.5秒ごとに10°ずつ回転するサンプルです。
#include <Arduino.h>
#include <servo.h>
#define INTERVAL 500
unsigned char g_pos = 0;
Servo servo0;
void setup()
{
servo0.attach(4);
}
void loop() {
servo0.write(g_pos);
g_pos+=10;
if(g_pos > 180){
g_pos = 0;
}
delay(INTERVAL);
}