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ピンです。