The previous example either turned the motors on to full speed or turned them off. You may want to configure your motors to run at different speeds. This can be done by using Pulse Width Modulation (PWM) to adjust the speed. PWM simply defines a way of changing the voltage of the signal by sending a series of pulses of equal value and changing the width of each pulse. The wider the pulse, the higher the average voltage delivered to the receiver. The DC motors that you are using respond to this higher average voltage by spinning faster.
The Raspberry Pi Zero GPIO can create PWM signals. The code snippet to do this is shown in the following screenshot:
The following is an explanation of the lines of code that you just added:
io.setup(in2_pin1, io.OUT)
: This sets GPIO 27 to an output.p1 = io.PWM(in1_pin1, 50)
: Instead of just on or off settings, this PWM setting allows the programmer to set the relative width of the pulse. This initializes this functionality...