MicroPythonで使うWio Terminal - machine.PWM

MicroPythonで使うWio Terminal - 目次

machine.PWM の使用例

# Wio Terminal machine.PWMのサンプル
# This code is provided under a CC0 Public Domain License.
# http://creativecommons.org/publicdomain/zero/1.0/
# 2022年6月19日 佐藤恭一 https://kyoutan.jpn.org

from machine import PWM, Pin

pwm0 = PWM(Pin(13))  # pin13 PWM0
# PWM以外のピンでは使用できない。エラーは出ず動かないだけ
# 設定できる周波数は 460, 1830, 7330, 29300, 58600, 117000, 234000, 470000 [Hz]
pwm0.freq(7330)
pwm0.duty(511)   # デューティ比は 0-1023

pwm1 = PWM(Pin(16), freq=1830, duty=200)  # 一行で書くこともできる

"""
>>> help(pwm0)
object PWM(Arduino Pin(13), freq=1000, duty=512) is of type PWM
  init -- <function>
  deinit -- <function>
  freq -- <function>
  duty -- <function>
"""

周波数とディユーティ比を指定すれば PWMピンから波形が出てきます。

いろいろな数値を指定して波形を観測してみたところ、設定できる周波数の段階が荒くて、460, 1830, 7330, 29300, 58600, 117000, 234000, 470000 [Hz] の8段階でした(数値はおよその値)。この数値から外れた値を指定した場合、低い方の値に設定されます。

デューティ比は 0~1023で指定します。


PWMで使用できるピンは、13, 16, 23, 33, 37の PWM0~PWM4ピンです。



このブログの人気の投稿

windowsで「インターネット接続の共有」の設定

月刊 I/O 記事リスト 1976~1989

X68000実機のROMを保存