Below are a few examples of using the Adafruit_BBIO.PWM module. It's fairly simple to use as well!

Setup

To setup a pin to use PWM:
import Adafruit_BBIO.PWM as PWM
#PWM.start(channel, duty, freq=2000, polarity=0)
PWM.start("P9_14", 50)

#optionally, you can set the frequency as well as the polarity from their defaults:
PWM.start("P9_14", 50, 1000, 1)
The valid values for duty are 0.0 to 100.0. The start method activate pwm on that channel. There is no need to setup the channels with Adafruit_BBIO.PWM.

Once you've started, you can then set the duty cycle, or the frequency:
PWM.set_duty_cycle("P9_14", 25.5)
PWM.set_frequency("P9_14", 10)
You'll also want to either disable that specific channel, or cleanup all of them when you're done:
PWM.stop("P9_14")
PWM.cleanup()

This guide was first published on Jun 13, 2013. It was last updated on Jun 13, 2013.

This page (PWM) was last updated on May 12, 2021.

Text editor powered by tinymce.