NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(servo:writeMicroseconds関数の使い方)

■servo:writeMicroseconds関数
 servo:writeMicroseconds関数は、サーボにマイクロセカンド(μS)単位で値を書き込み、それに従ってシャフトを制御します。
 標準的なサーボでは、シャフトの角度が設定されます。
 標準的なサーボでは、1000のパラメータ値は完全に反時計回り、2000は完全に時計回り、1500は真ん中にあります。
 メーカーによっては、この規格に準拠していないため、サーボがしばしば700〜2300の値に応答することがあります。
 サーボの動作角がその範囲を拡大しなくなるまで、これらのエンドポイントを適切に調整します。

■使用例
  Arduino IDEで使用するservo:writeMicroseconds関数の使い方は以下の通りです。
 試しに図1の様に定番サーボモータSG90Arduino UNOを接続し下記プログラムを実行すると、servo:attach関数で指定されたサーボモーターのアームをservo:WriteMicroseconds関数で90°の位置に回転します。

図1:サーボモータSG90Arduino UNOの接続例
#include <Servo.h>

Servo myservo;

void setup()
{
   myservo.attach(3);
   myservo.writeMicroseconds(1450);   // サーボを中間点に設定します
}

void loop() {}
イメージ 1
図1:プログラム例

■構文
 myservo.writeMicroseconds(μS)

■パラメータ
 myservo:接続先毎に設定する任意の接続名
 μS:モーターをオンにするステップの数、正の数で正転、負の数で逆転(int)

■戻り値
 特に有りません。

■補足
 サーボを駆動範囲以上に駆動(しばしば音がうねる)しようとすると、大電流状態となり、故障の原因となります。連続回転サーボはwrite関数と同様にwriteMicrosecond関数に応答します。

イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【ArduinoIDE reference】目次に戻る