Project 1 – Python control of a PWM board driving RC servo motors
You should now have a reasonable understanding of what is required to program an I2C PWM board, so let's look at some Python code to drive the Adafruit 16 channel PWM board.
Note
The python-smbus library is compatible only with Python 2 at the time of writing. To run PCA9685, you have to use IDLE and not IDLE3. To run from the command line, use Python and not Python 3. As with the RPi-GPIO
library, the SMBus library needs to have root privileges.
First, create a new /home/pi/servo
project directory for the files and download pca9685.py
from the Chapter 6
folder at http://1drv.ms/1ysAxkl into the directory.
Then, open the pca9685.py
file in the idle development environment, remembering to use the sudo idle
command to start it.
Code block 1 – imports, constants, and variables
In this code block, we import the minimum amount for our functionality. Note here that the bus number i2c-1 or i2c-0 may vary depending on...