用树莓派+PCA9685驱动控制16个舵机
大家好,我最近想做一个很酷的机器人,为此,我需要使用PCA9685驱动程序控制 8 个舵机,并认为我与任何对此主题感兴趣的人分享了我的经验。 为此,您需要: 1.树莓派(我的是3B+) 2.PCA9685驱动 3.伺服(驱动器最多支持16个) 4 母对母跳线。 5.驱动器外接5v电源 6.Python3 连接 5v-6v 推荐电源,可以连接任意数量的舵机 用python3编码 打开 Raspber
大家好,我最近想做一个很酷的机器人,为此,我需要使用PCA9685
驱动程序控制 8 个舵机,并认为我与任何对此主题感兴趣的人分享了我的经验。
为此,您需要:
1.树莓派(我的是3B+)
2.PCA9685驱动
3.伺服(驱动器最多支持16个)
- 4 母对母跳线。
5.驱动器外接5v电源
6.Python3
连接
5v-6v 推荐电源,可以连接任意数量的舵机
用python3编码
打开 Raspberry Pi 并打开一个新终端,然后运行以下命令:
sudo apt-get install git build-essential python-dev
git clone https://github.com/adafruit/Adafruit_Python_PCA9685.git
cd Adafruit_Python_PCA9685
sudo python setup.py install
cd examples
在示例文件夹中,您应该找到simplest.py
示例代码,使用命令运行它
python3 simplest.py
但是,如果我们执行这个程序,我们会得到一个错误
没有这样的文件或目录:'/dev/i2c-1'
要解决这个问题,我们需要打开树莓派软件配置
sudo raspi-config
使用向下箭头选择接口选项并按 Enter,然后选择 P5 I2C 并启用接口 u003du003d> ok u003du003d> 完成。
现在,如果我们执行simplest.py
文件,我们不应该得到任何错误,我们的伺服应该开始移动,很好!但是对于我需要的代码来说,它是不必要的复杂。我想调用一个将目标度数作为参数传递的函数,这样代码会更容易阅读并且错误更少,为此我将使用 Adafruit Servo Kit library for python
github.com/adafruit/Adafruit_CircuitPython_..
要使用此库,请在您的 Raspberry Pi 上打开一个新终端并执行以下命令:pip3 install adafruit-circuitpython-servokit
使用示例
在这里我们可以看到一个完整的例子:
from time import sleep
from adafruit_servokit import ServoKit
# Set channels to the number of servo channels on your kit.
# 8 for FeatherWing, 16 for Shield/HAT/Bonnet.
kit = ServoKit(channels=8)
kit.servo[0].angle = 175
sleep(1)
kit.servo[0].angle = 45
sleep(1)
我们可以在kit.servo[0-15].
中指定舵机
结果
我真的希望这篇文章对您有所帮助,并随时与可能需要它的人分享,下次见!
更多推荐
所有评论(0)