class Servo -- 3 線式ホビーサーボドライバ¶
Servo オブジェクトは、3 本の線(グランド、電源、信号)を備えた標準的なホビーサーボモーターを制御します。
使用例:
import pyb
s1 = pyb.Servo(1) # create a servo object on position P7
s2 = pyb.Servo(2) # create a servo object on position P8
s1.angle(45) # move servo 1 to 45 degrees
s2.angle(0) # move servo 2 to 0 degrees
# move servo1 and servo2 synchronously, taking 1500ms
s1.angle(-60, 1500)
s2.angle(30, 1500)
注釈
Servo オブジェクトは Timer(5) を使用して PWM 出力を生成します。Timer(5) はサーボ制御に使用することも、独自の目的に使用することもできますが、両方を同時に使用することはできません。
コンストラクタ¶
- class pyb.Servo(id: int)¶
サーボオブジェクトを作成します。
idは 1 始まりのサーボチャンネル番号です。各チャンネルは固定のヘッダーピンに配線されており、チャンネル数は OpenMV Cam によって異なります:カメラ
Servo(1)
Servo(2)
Servo(3)
OpenMV Cam M7 / H7
P7P8P9OpenMV Cam M4 / H7 Plus / Pure Thermal
P7P8--
pyb.Servoは OpenMV Cam N6 では利用できません。メソッド¶
- angle(angle: int | None = None, time: int = 0) int | None¶
引数が指定されない場合、この関数は現在の角度を返します。
引数が指定された場合、この関数はサーボの角度を設定します:
angleは移動先の角度(度数)です。timeは、指定された角度に到達するまでにかける時間(ミリ秒)です。省略した場合、サーボはできるだけ素早く新しい位置に移動します。
- speed(speed: int | None = None, time: int = 0) int | None¶
引数が指定されない場合、この関数は現在の速度を返します。
引数が指定された場合、この関数はサーボの速度を設定します:
speedは変更先の速度で、-100 から 100 の間です。timeは、指定された速度に到達するまでにかける時間(ミリ秒)です。省略した場合、サーボはできるだけ素早く加速します。
- pulse_width(value: int | None = None) int | None¶
引数が指定されない場合、この関数は現在の生のパルス幅値を返します。
引数が指定された場合、この関数は生のパルス幅値を設定します。
- calibration(pulse_min: int | None = None, pulse_max: int | None = None, pulse_centre: int | None = None, pulse_angle_90: int | None = None, pulse_speed_100: int | None = None) Tuple[int, int, int, int, int] | None¶
引数が指定されない場合、この関数は現在のキャリブレーションデータを 5 要素のタプルとして返します。
引数が指定された場合、この関数はタイミングキャリブレーションを設定します:
pulse_minは許可される最小パルス幅です。pulse_maxは許可される最大パルス幅です。pulse_centreは中央/ゼロ位置に対応するパルス幅です。pulse_angle_90は 90 度に対応するパルス幅です。pulse_speed_100は速度 100 に対応するパルス幅です。