How it works...

The script starts by importing the curses and os modules. A standard Python input() command would require the Enter key to be pressed after each key press before we could act upon it. However, as we will see shortly, the curses module simply allows us to scan for keyboard presses and respond to them immediately. We use the os module to call the ServoBlaster commands, as we would via the Terminal.

First, we define our setup, such as the servo mappings, calibration positions, min/max ranges, our control keys, and the STEP size in degrees for each control command. We also define our parameters for our requested angle (in degrees) to target PWM signal up time (in milliseconds) calculation.

For these particular servos, an up time ...

Get Raspberry Pi 3 Cookbook for Python Programmers - Third Edition 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.