littlebot
Published on 2025-04-13 / 0 Visits
0

【源码】基于Particle设备的LP5562 I2C LED驱动系统

项目简介

本项目提供了用于Particle设备的LP5562 I2C LED驱动库,能借助I2C总线驱动TI LP5562芯片,实现对RGB及独立LED的控制。与直接PWM连接和使用NeoPixels等方式相比,该驱动运行电压低、节省引脚资源且无需限流电阻。

项目的主要特性和功能

特性

  1. 工作电压3.3V,适配多数Particle设备。
  2. 可使用廉价通用RGB LED。
  3. 支持在I2C总线上连接多达4个LP5562芯片。
  4. 具备可编程恒流驱动,无需额外限流电阻。
  5. 拥有可编程智能控制器,可在无需MCU干预的情况下实现多种LED模式。

功能

  1. 提供设置恒定颜色、闪烁、交替闪烁和呼吸灯等多种LED控制方法。
  2. 支持指示器模式,可独立控制4个LED,每个LED可设置为开、暗、关或特定模式(如闪烁、呼吸)。
  3. 可通过不同的I2C地址连接多个LP5562芯片。

安装使用步骤

安装

假设已下载本项目的源码文件,只需将该库添加到项目中即可。

使用

  1. 在代码中引入库文件: ```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】