
树莓派4B改装RC玩具车玩转opencv系列教程(二)树莓派通过PCA9685控制舵机
下面步骤和必要的说明有些翻译自官方文档。
发布日期:2021-05-27 01:23:39
浏览次数:4
分类:技术文章
本文共 1962 字,大约阅读时间需要 6 分钟。
树莓派4B改装RC玩具车玩转opencv系列教程(二)树莓派通过PCA9685控制舵机
硬件连接
硬件清单
- 树莓派4B、
- PCA9685、
- 顽皮龙舵机(亲测MG90 9g、MG996、ES08MD 8g均能使用)
树莓派引脚

引脚连接表
树莓派 | PCA9685 |
---|---|
3.3v | VCC |
GPIO2(SDA) | SDA |
GPIO3(SDL) | SDL |
GPIO14(Ground) | Gnd |
Fritzing硬件连接图
- 不要用树莓派上的5v给PCA9685直接供电,会损坏树莓派。因为舵机角度的转换会带来噪声,且运行会带来电压的变化。所以还是强烈建议使用外接的5V电源。
- 明确PCA9685上面V+和VCC的两个引脚的区别。其中V+是用来给舵机供电的通常是5v,而VCC则是给芯片供电是3.3V。
- PCA9685上预留了电容的焊接口。当你驱动很多舵机时,在舵机移动时发现电源波动很大,则可焊接上电容。通常电容的容量选择是n*舵机数,比如五个舵机。大概就是500uF。因为没有500uF这个容量,使用470uF就可以了。
PCA9685树莓派库的安装
下面步骤和必要的说明有些翻译自官方文档。PCA9685库安装前需要打开I2C和安装依赖库。打开树莓派的I2C
点击树莓派桌面左上角的红色树莓标志,点击“首选项”=>“Raspberry Pi Configeration”。在打开的设置界面选择“interface”标签。将I2C的设置改为“enable”。点击“ok”退出设置界面。

添加SMBus库
-
sudo apt-get install python-smbus
-
sudo apt-get install i2c-tools
添加i2c-tool库并不是必须的,他只是一个辅助工具,可以帮助我们方便的扫描树莓派中使用的I2C和SMBus设备。
2012年10前销售的树莓派版本使用下面命令:sudo i2cdetect -y 0
2012年后的树莓派版本使用下面命令:
sudo i2cdetect -y 1
安装adafruit-circuitpython-servokit库
sudo pip3 install adafruit-circuitpython-servokit

代码编写
import time //引入time库from adafruit_servokit import ServoKit //引入刚刚安装的PCA9685库并将名字缩写成ServoKit方便后续调用kit = ServoKit(channels=16)//明确PCA9685的舵机控制数kit.servo[0].angle = 180//channel0上的舵机旋转180度。time.sleep(1)//休眠一秒kit.servo[0].angle = 0//channel0上的舵机回到初始的0度。
你可以选择把上面的代码直接复制到树莓派里的Mu编译器里。然后点击运行。就可以看到舵机旋转了一定的角度。我下面录制的git则是使用的另外一种方式。
我利用本系列教程(一)里提到的filezila软件将我笔记本中之前编写好的代码直接传送到了树莓派的pi用户的根目录。然后用Mu打开。Mu在第一次打开的时候会弹出一个框要求你选择编程模式。选择最下面的python3点击OK就可以了。
成品展示

[1]: raspberry pca9685演示视频https://www.youtube.com/watch?v=9jcEwn7GzNs
转载地址:https://blog.csdn.net/happyjoey217/article/details/108947548 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2023年11月17日 19时55分08秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
AcWing 839 模拟堆
2019-03-25
AcWing 840 模拟散列表
2019-03-25
AcWing 841 字符串哈希
2019-03-25
AcWing 843 n-皇后问题
2019-03-25
AcWing 844 走迷宫
2019-03-25
AcWing 845 八数码
2019-03-25
AcWing 846 树的重心
2019-03-25
AcWing 847 图中点的层次
2019-03-25
AcWing 848 有向图的拓扑序列
2019-03-25
AcWing 849 Dijkstra求最短路 I
2019-03-25
AcWing 850 Dijkstra求最短路 II
2019-03-25
AcWing 853 有边数限制的最短路
2019-03-25
AcWing 852 spfa判断负环
2019-03-25
AcWing 854 Floyd求最短路
2019-03-25
AcWing 858 Prim算法求最小生成树
2019-03-25
AcWing 859 Kruskal算法求最小生成树
2019-03-25
AcWing 860 染色法判定二分图
2019-03-25
第一章:绪论
2019-03-25
第二章:向量
2019-03-25
第十章:优先级队列
2019-03-25