树莓派电机控制全攻略
1. 多舵机精确控制
连接多个舵机时,跳线可能会变得杂乱无章。像MonkMakes Servo Six这样的板子能极大简化舵机与树莓派的布线。
如果需要精确控制多个舵机,同时避免使用ServoBlaster时出现的声音丢失问题,可以采用以下方法。虽然ServoBlaster代码能精确控制多达8个舵机,但它会占用树莓派的硬件资源并禁用声音生成。此时可以选择使用带有自身舵机控制硬件的舵机HAT,如Adafruit HAT,它通过树莓派的I2C接口,最多可控制16个舵机或PWM通道,舵机可直接插入HAT。
模块的逻辑电路电源由树莓派的3.3V连接提供,这与舵机的电源供应是分开的,舵机电源来自外部5V电源适配器。也可以使用电池组为舵机供电,例如使用四节可充电AA电池的电池盒可提供约4.8V电压,适用于大多数舵机;使用四节碱性AA电池提供6V电压,不过要查看舵机的数据手册,确保其能承受6V电压。
连接舵机的引脚排方便舵机线直接连接,但要注意方向正确。
要使用该模块的Adafruit软件,需在树莓派上设置I2C。安装所需的Adafruit blinka代码,可运行以下命令:
$ pip3 install adafruit-blinka
$ sudo pip3 install adafruit-circuitpython-servokit
以下是控制舵机的代码示例(文件名为ch_12_servo_adafruit.py):
from ad