- 周波数分解能は、1以下が欲しい場合がある。(e.g. 130.8Hz)
PWM.new( pin, *params )
- pin の指定は基本的には整数で指定するが、別な方法(例えばPICでは"B1"等)があっても良い。
- パラメータ
frequency
を指定すると、デューティー比50%で出力を開始する。 - デューティー比50%以外で出力を開始したい場合には、パラメータ
duty
を同時に指定する。
pwm1 = PWM.new( 1, frequency:440, duty:30 )
機器依存
- ユニット名等の追加パラメータが必須になる可能性がある。
frequency( freq )
- 周波数を指定して、出力を開始する。
- freq は、Integer もしくは Float で指定する。
- 0を指定すると、出力を停止する。
- 周波数を変更してもデューティー比は変更されない。
pwm1.frequency( 440 ) # 440Hzの出力
機種依存
- 最大、最小周波数や分解能は機種に依存する。
- 出力停止時は、LowLevelで停止が望ましい。
- 出力停止を指示した時に、すぐ停止する(LowLevelになる)か、その周期の出力が終わってから停止するかは機種に依存する。
period_us( micro_sec )
- 1周期の時間(マイクロ秒)を指定して出力を開始する。
- 0を指定すると、出力を停止する。
- 周波数を変更してもデューティー比は変更されない。
pwm1.period_us( 2273 ) # 1/2273us = 440Hz
duty( percent )
- 0から100までのパーセンテージを指定してデューティー比を変更する。
- percentは、Integer もしくは Float で指定する。
pwm1.duty( 50 )
pulse_width_us( micro_sec )
- 1周期のONになる時間をマイクロ秒で指定する。
- 1周期よりも長い時間を指定された場合、最大のONにできる値で設定されエラーにはならない。
pwm1.pulse_width_us( 1000 )
TOOD: メソッド名が長いか?