Class_PWM - gfd-dennou-club/mrubyc-esp32 GitHub Wiki

PWM

パルス幅変調(Pulse Width Modulation). デフォルトのタイマーは 10 bit です.

コンストラクタ

PWM.new( pin, params )

  • pin : GPIO PIN number

オプションパラメタ

  • freq, frequency : 周波数
  • timer : タイマー
  • channel : チャンネル
  • duty : デューティー比

pwm1 = PWM.new( 15 )     # create PWM object from a GPIO 15
pwm1 = PWM.new( 15, freq:100, duty:50, timer:0, channel:0 )  

周波数を指定する方法

frequency( n )

指定した周波数の信号を出力します。最大値は利用する機器に依存します。0を指定すると出力を停止します。

pwm1.frequency(1000)         # set frequency

freq (n) (MicroPython 準拠)

指定した周波数の信号を出力します。最大値は利用する機器に依存します。0を指定すると出力を停止します。

pwm1.freq(1000)         # set frequency

duty( n )

デューティー比を、0(全オフ)から 100(全オン)までで指定します。

pwm.duty( 50 )        # 50%

周期を指定する方法

period_us( n )

周期を指定して信号を出力します。単位はマイクロ秒 (uS) です。 最大値は利用する機器に依存します。0を指定すると出力を停止します。

pwm.period_us( 2273 )   # 440Hz
pwm.duty( 512 )         # 50%

パルス幅の指定

pulse_with_us()

周期のONになる時間をマイクロ秒で指定する.

pwm1.pulse_width_us( 1000 )  # 1 ms