PCA9685-16路舵机驱动模块
当你在一个项目中碰到了微控制器芯片的PWM输出引脚不够用的情况,那么这款PCA968516路舵机就能很快帮助您解决这个问题了。只要你的主控芯片具备了I2C通信,就能够让主控芯片和PCA9685通信,实现多个舵机的同时控制了。PCA9685 16路舵机是一个采用I2C通信,内置了PWM驱动器和一个时钟,这个意味着,这将和TLCG940系列有很大不同,你不需要不断发送信号占用你的单片机。它是5V的兼容,这意味你还可以用3.3V单片机控制并且安全地驱动到6V输出(当你想要控制白色或蓝色指示灯用3.4+正电压也是可以的)。地址选择引脚使你可以把62个驱动板挂在单个l2C总线上,总共有992路PWM输出,那将是非常庞大的资源,约1.6Khz可调频PWM输出,为步进电机准备输出12位分辨率,可配置的推拉输出或开路输出,输出使能引脚能够快速禁用所有输出。
模块来源
规格参数
输入电压:3.3V~5V
额定电流:15mA
控制方式:串口
尺寸: 21(长)*21(宽)[]
硬件接口
- 将PCA9685模块的SDA和SCL引脚分别连接到开发板的A4(SDA)、A5(SCL)引脚。
- 为PCA9685模块提供适当的电源供应。通常是5V,但确保与你的舵机兼容。
- 将舵机的信号线连接到PCA9685的PWM输出端,V+和地线也要对应接好。
使用方法
安装库
在arduino IDE的库管理中,搜索并安装 PCA9685 16-Channel PWM Driver Module Library
库。
编写代码
c
/******************************************************************************
* 测试硬件:ColorEasyDuino开发板
* 版 本 号: V1.0
* 修改作者: www.lckfb.com
* 修改日期: 2024年04月17日
* 功能介绍:
*****************************************************************************
* 开发板软硬件资料与相关项目软硬件资料官网全部开源
* 开发板官网:www.lckfb.com
* 关注bilibili账号:【立创开发板】,掌握我们的最新动态!
* 不靠卖板赚钱,以培养中国工程师为己任
******************************************************************************/
#include "PCA9685.h"
PCA9685 pwmController(Wire);
PCA9685_ServoEval pwmServo1;
void setup() {
Serial.begin(115200); // 初始化串口
Wire.begin(); // 初始化I2C接口
pwmController.resetDevices(); // 复位i2c线上所有PCA9685设备
pwmController.init(); // 初始化模块
pwmController.setPWMFreqServo(); // 设置频率为标准的舵机50Hz频率
pwmController.setChannelPWM(0, pwmServo1.pwmForAngle(-90));//设置第0号通道的舵机旋转到180度
}
void loop() {
pwmController.setChannelPWM(0, pwmServo1.pwmForAngle(90));//第0个通道的舵机旋转到90度
delay(1000);
pwmController.setChannelPWM(0, pwmServo1.pwmForAngle(0));///第0个通道的舵机旋转到0度
delay(1000);
pwmController.setChannelPWM(0, pwmServo1.pwmForAngle(-90));///第0个通道的舵机旋转到180度
delay(1000);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40