在草莓派上,可以通过RPI方便地输出PWM。GPIO控制舵机。
使用RPI。通用输入输出接口
创建一个脉宽调制实例:
启用脉宽调制:
更改频率:
变化与空的比率:
停止脉宽调制:
但是当你同时使用多个执行器时,PWM输出就变得困难了。此时可以通过舵机控制板进行多路PWM控制。
这是某宝常见的舵机控制板,这个板也比较便宜,十几块钱一个。采用PCA9685芯片和i2c通信,只需要几条I2C线就可以控制16个pwm通道,周期和占空比空可控。
驱动板与草莓派连接
GND-> GND爱国阵线
SCL-> RPi SC1
SDA -> RPi SDA1
VCC -> RPi 3.3V
V+ -> RPi 5V
需要注意的是,vcc引脚只给芯片供电,v+引脚可以通过树莓Pi的5v引脚供电,也可以连接驱动板的电源端。
覆盆子酱打开了I2C
树莓皮默认关闭I2C,打开I2C:
投入
sudo raspi-配置
您可以看到配置界面,
找到项目5: I2C包含在接口选项中,单击输入,然后单击是
安装ada水果_python_pca9685
sudo pip安装ada水果-pca9685
你可以在GitHub上查看它的例程。
ada水果_pca9685
介绍ada水果_pca9685模块:
创建一个脉宽调制实例:
设置频率:
变化与空的比率:
示例代码
PCA9685脉宽调制伺服/发光二极管控制器库的简单演示。
#这将反复将通道0从最小位置移动到最大位置。
#作者:托尼·迪科拉
#许可证:公共域
来自__未来_ _进口部门
导入时间
#导入PCA9685模块。
导入阿达果_PCA9685
#取消注释以启用调试输出。
#导入日志记录
#logging.basicConfig
#使用默认地址初始化PCA9685。
PWM =ada水果_PCA9685。PCA9685
#或者指定不同的地址和/或总线:
# PWM =Ada水果_PCA9685。PCA9685
#配置最小和最大伺服脉冲长度
伺服最小= 150 #最小脉冲长度,满分为4096
伺服最大值= 600 #最大脉冲长度为4096
#助手功能,使设置伺服脉冲宽度更简单。
def设置_伺服_脉冲:
脉冲长度= 1000000 # 1,000,000 us/秒
脉冲长度//= 60 # 60赫兹
打印)
脉冲长度//= 4096 # 12位分辨率
打印)
脉冲*= 1000
脉冲//=脉冲长度
pwm.set_pwm
#将频率设置为60hz,有利于伺服。
pwm.set_pwm_freq
打印
而真实:
#在两个极端之间移动O通道上的伺服。
pwm.set_pwm
时间,睡觉
pwm.set_pwm
时间,睡觉