项目简介
本项目提供了用于Particle设备的LP5562 I2C LED驱动库,能借助I2C总线驱动TI LP5562芯片,实现对RGB及独立LED的控制。与直接PWM连接和使用NeoPixels等方式相比,该驱动运行电压低、节省引脚资源且无需限流电阻。
项目的主要特性和功能
特性
- 工作电压3.3V,适配多数Particle设备。
- 可使用廉价通用RGB LED。
- 支持在I2C总线上连接多达4个LP5562芯片。
- 具备可编程恒流驱动,无需额外限流电阻。
- 拥有可编程智能控制器,可在无需MCU干预的情况下实现多种LED模式。
功能
- 提供设置恒定颜色、闪烁、交替闪烁和呼吸灯等多种LED控制方法。
- 支持指示器模式,可独立控制4个LED,每个LED可设置为开、暗、关或特定模式(如闪烁、呼吸)。
- 可通过不同的I2C地址连接多个LP5562芯片。
安装使用步骤
安装
假设已下载本项目的源码文件,只需将该库添加到项目中即可。
使用
- 在代码中引入库文件: ```cpp
include "LP5562-RK.h"
2. 通常将驱动对象声明为全局对象:
cpp
LP5562 ledDriver;
3. 在`setup()`函数中初始化对象,并可通过链式调用配置选项,然后调用`begin()`方法:
cpp
void setup() {
ledDriver.withLEDCurrent(5.0).begin();
// 例如设置呼吸灯效果
ledDriver.setBreathe(false, true, true, 20, 0, 255);
}
4. 在`loop()`函数中可根据需求添加其他逻辑,若仅设置静态效果,此函数可以为空:
cpp
void loop() {
}
```
指示器模式使用
若要使用指示器模式,可按以下步骤操作:
1. 设置不同颜色LED的电流:
cpp
ledDriver.withLEDCurrent(20.0, 20.0, 20.0, 10.0).begin();
2. 开启指示器模式:
cpp
ledDriver.setIndicatorMode();
3. 设置LED映射:
cpp
ledDriver.setLedMappingR(LP5562::REG_LED_MAP_DIRECT, 0);
ledDriver.setLedMappingG(LP5562::REG_LED_MAP_ENGINE_1);
ledDriver.setLedMappingB(LP5562::REG_LED_MAP_ENGINE_2);
ledDriver.setLedMappingW(LP5562::REG_LED_MAP_ENGINE_3);
I2C地址设置
LP5562有两个地址选择线,允许在单个I2C总线上连接四个设备,地址范围为0x30至0x33。具体地址配置可参考项目文档中的图示。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】