■servo:writeMicroseconds関数
servo:writeMicroseconds関数は、サーボにマイクロセカンド(μS)単位で値を書き込み、それに従ってシャフトを制御します。
標準的なサーボでは、シャフトの角度が設定されます。
標準的なサーボでは、1000のパラメータ値は完全に反時計回り、2000は完全に時計回り、1500は真ん中にあります。
メーカーによっては、この規格に準拠していないため、サーボがしばしば700〜2300の値に応答することがあります。
サーボの動作角がその範囲を拡大しなくなるまで、これらのエンドポイントを適切に調整します。
■使用例
Arduino IDEで使用するservo:writeMicroseconds関数の使い方は以下の通りです。
試しに図1の様に定番サーボモーターSG90とArduino UNOを接続し下記プログラムを実行すると、servo:attach関数で指定されたサーボモーターのアームをservo:WriteMicroseconds関数で90°の位置に回転します。
#include <Servo.h> Servo myservo; void setup() { myservo.attach(3); myservo.writeMicroseconds(1450); // サーボを中間点に設定します } void loop() {}
■構文
myservo.writeMicroseconds(μS)
■パラメータ
myservo:接続先毎に設定する任意の接続名
μS:モーターをオンにするステップの数、正の数で正転、負の数で逆転(int)
■戻り値
特に有りません。
■補足
サーボを駆動範囲以上に駆動(しばしば音がうねる)しようとすると、大電流状態となり、故障の原因となります。連続回転サーボはwrite関数と同様にwriteMicrosecond関数に応答します。