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 ...

Get Raspberry Pi Essentials now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.