fusion_hat.pwm モジュール
単一 の PWM チャンネル を 制御 する PWM クラス
サンプル
50Hz 、 デューティ サイクル 50% で PWM チャンネル 0 を 制御 する シンプル な 例 。
>>> from fusion_hat.pwm import PWM
>>> pwm = PWM(0)
>>> pwm.freq(50)
>>> pwm.pulse_width_percent(50)
サーボ 用 に 周波数 50 Hz 、 周期 20000us 、 パルス 幅 500-2500us で PWM チャンネル を 制御 する 高度 な 例 。
>>> from fusion_hat.pwm import PWM
>>> pwm = PWM(0)
>>> pwm.freq(50)
>>> pwm.pulse_width(1500) # servo center position
>>> pwm.pulse_width(2500) # servo max position
>>> pwm.pulse_width(500) # servo min position
- class fusion_hat.pwm.PWM(channel: int, freq: int = 50, *args, **kwargs)[ソース]
ベースクラス:
_Base単一 の PWM チャンネル を 制御 する PWM クラス
- パラメータ:
channel (int/str) -- PWM チャンネル 番号 (0-11 / P0-P11)
freq (int, optional) -- PWM 周波数 。 デフォルト は 50Hz
addr (int, optional) -- I2C アドレス 。 デフォルト は 0x17
*args --
fusion_hat._i2c.I2Cへ 渡す 追加 引数**kwargs --
fusion_hat._i2c.I2Cへ 渡す 追加 キーワード 引数
- 例外:
ValueError -- 無効 な チャンネル 番号
- CHANNEL_NUM = 12
- PATH = '/sys/class/fusion_hat/fusion_hat/pwm'
- enable(enable: bool = True) None[ソース]
PWM チャンネル を 有効 / 無効 に する
- パラメータ:
enable (bool, optional) -- 有効 または 無効 。 デフォルト は True
- write_duty_cycle(duty_cycle: int) int[ソース]
デューティ サイクル を ms 単位 で 設定 する
- パラメータ:
duty_cycle (int) -- ms 単位 の デューティ サイクル
- freq(freq: float | None = None) float[ソース]
周波数 を 設定 / 取得 する 。 空欄 の 場合 は 周波数 を 取得
- パラメータ:
freq (float, optional) -- 周波数 (0-65535) (Hz) 。 デフォルト は 50Hz
- 戻り値:
周波数
- 戻り値の型:
float
- prescaler(prescaler: int | None = None, raw: bool = False) int[ソース]
[非推奨] プリスケーラ を 設定 / 取得 する 。 空欄 の 場合 は プリスケーラ を 取得
- period(period: int | None = None) int[ソース]
周期 を 設定 / 取得 する 。 空欄 の 場合 は 周期 を 取得
- パラメータ:
period (int, optional) -- 周期 (0-65535) 。 デフォルト は 0
raw (bool, optional) -- 周期 を 直接 書き込む か どうか 。 デフォルト は False
- 戻り値:
周期
- 戻り値の型:
int
- duty_cycle(duty_cycle: int | None = None) int[ソース]
デューティ サイクル を ms 単位 で 設定 / 取得 する
- パラメータ:
duty_cycle (int, optional) -- デューティ サイクル
- 戻り値:
デューティ サイクル
- 戻り値の型:
int
- pulse_width(pulse_width: int | None = None) int[ソース]
パルス 幅 を ms 単位 で 設定 / 取得 する
- パラメータ:
pulse_width (int, optional) -- ms 単位 の パルス 幅
- 戻り値:
パルス 幅
- 戻り値の型:
int