class PWM – Pulse Width Modulation
Quick Usage Example
from machine import PWM
pwm = PWM(0, frequency=5000) # use PWM timer 0, with a frequency of 5KHz
# create pwm channel on pin P12 with a duty cycle of 50%
pwm_c = pwm.channel(0, pin='P12', duty_cycle=0.5)
pwm_c.duty_cycle(0.3) # change the duty cycle to 30%
Constructors
class machine.PWM(timer, frequency)
Create a PWM object. This sets up the timer
to oscillate at the specified frequency
. timer
is an integer from 0 to 3. frequency
is an integer from 1 Hz to 78 KHz (this values can change in future upgrades).
Methods
pwm.channel(id, pin * , duty_cycle=0.5)
Connect a PWM channel to a pin, setting the initial duty cycle. id
is an integer from 0 to 7. pin
is a string argument. duty_cycle
is a keyword-only float argument, with values between 0 and 1. Returns an instance of PWMChannel
.
class PWMChannel — PWM channel
Methods
pwmchannel.duty_cycle(value)
Set the duty cycle for a PWM channel. value
is a float argument, with values between 0 and 1.