基本ライブラリ
デジタルIO
アナログIO
拡張IO
時間
数学
三角関数
乱数
ビットバイト操作
割り込み
シリアル通信
標準ライブラリ
Ethernet
サーボモーター
ステッピングモーター
キャラクタ液晶表示
SPI通信
I2C通信(Wire)
SD
SD(File操作)
周期処理(MsTimer2)
時計(RTC)
PPG(パルス生成)
WiFiEsp
ICS(シリアルサーボ)
FreeRTOS Tips
サーボモーター
サーボモーターを制御するライブラリです。最大12個のチャネルを割り当てられます。 サーボモーターはギアとシャフトがあり、0~180度の角度を自由に操作できます。 使用する場合は、#include <servo.h>
を記述してください。また、Servo myservoといったようにインスタンスを生成する必要があります。
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
- 概要
- サーボモータに与える出力をマイクロ秒単位で角度指定します。 標準的なサーボモータでは1000が反時計回りの最大、2000が時計回りの最大、1500は中間点です。
- 文法
- servo.writeMicroseconds(int us)
- パラメータ
- us: 出力したいパルス幅[us]。
- 戻り値
- なし
read
- 概要
- 現在の角度を読み出す。
- 文法
- int servo.read()
- パラメータ
- なし
- 戻り値
- パルス幅[us]
attached
- 概要
- ピンにサーボが割り当てられているかを確認する
- 文法
- bool servo.attached()
- パラメータ
- なし
- 戻り値
- 割り当てられているときtrue、割り当てられていないときfalse。
detach
- 概要
- サーボモータの動作を止めます。指定ピンからのパルス出力を止めます。
- 文法
- servo.detach()
- パラメータ
- なし
- 戻り値
- なし
サンプルプログラム
ピン9に接続されたサーボモーターを回転するサンプルです。
#include <Arduino.h>
#include <servo.h>
#define INTERVAL 1000
Servo servo;
void setup()
{
servo.attach(9);
}
void loop() {
servo.write(0);
delay(INTERVAL);
servo.write(180);
delay(INTERVAL);
}