クラス Servo -- 3線ホビー用サーボドライバー¶
Servo オブジェクトは、3本のワイヤー(グラウンド、電源、信号)で接続される標準的なホビー用サーボモーターを制御します。pyboard 上には、このようなモーターを接続できるの4つの場所があります: ピン X1 から X4 は信号ピンであり、その隣には電源とグラウンドの4つのセットのピンがあります。
使用例:
import pyb
s1 = pyb.Servo(1) # X1 のサーボオブジェクトを作成
s2 = pyb.Servo(2) # x2 のサーボオブジェクトを作成
s1.angle(45) # サーボ1を45度に移動
s2.angle(0) # サーバ2を0度に移動
# サーボ1とサーボ2を同期させて、それぞれを1500ミリ秒かけて移動
s1.angle(-60, 1500)
s2.angle(30, 1500)
注釈
Servo オブジェクトは PWM 出力を生成するために Timer(5) を使います。Timer(5) を Servo 制御に 使うか、他の目的のために使うことはできますが、両方の目的のために同時に使うことはできません。
コンストラクタ¶
- class pyb.Servo(id)¶
サーボオブジェクトを作成します。
id
は1から4までで、それぞれ X1 から X4 のピンに対応します。
メソッド¶
- Servo.angle([angle, time=0])¶
引数が指定されない場合、この関数は現在の角度を返します。
引数が指定された場合、この関数はサーボの角度を設定します:
angle
は度数で移動する角度です。time
は指定された角度に到達するためにかかるミリ秒数です。省略した場合、サーボは新しい位置にできるだけ速く移動します。
- Servo.speed([speed, time=0])¶
引数を指定しない場合、この関数は現在の速度を返します:
引数を指定した場合、この関数はサーボの速度を設定します:
speed
は -100 から 100 の間の速度です。time
は指定された速度に到達するためにかかるミリ秒数です。省略した場合、サーボはできるだけ速く加速します。
- Servo.pulse_width([value])¶
引数を指定しない場合、この関数は現在の生のパルス幅値を返します。
引数を指定した場合、この関数は生のパルス幅値を設定します
- Servo.calibration([pulse_min, pulse_max, pulse_centre[, pulse_angle_90, pulse_speed_100]])¶
引数を指定しない場合、この関数は現在のキャリブレーションデータを、5つの項目を持つタプルで返します。
引数を指定した場合、この関数はタイミングのキャリブレーションを設定します:
pulse_min
は許容される最小パルス幅です。pulse_max
は許容される最大パルス幅です。pulse_centre
は中央/ゼロ位置に対応するパルス幅です。pulse_angle_90
は90度に対応するパルス幅です。pulse_speed_100
は速度100に対応するパルス幅です。