diff --git a/README.md b/README.md index d6efc3d..37aeefc 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,30 @@ # RGB灯条驱动库 -![_453de8b7-7edc-4efc-94c3-809a46000e66](https://img.pawpaw.cn:4430/assets/1699707514504RmN8t1mh.jpeg) +_453de8b7-7edc-4efc-94c3-809a46000e66 ## 简介 `lib_rgb` 是一个用于控制RGB灯条的C语言库,提供了一系列功能,比如颜色渐变、呼吸灯效果和色调循环等。它支持通过RGB和HSV颜色空间来控制灯条的颜色输出。 ## 功能 -- **响度可视化**:通过检测音频样本中的响度,实现RGB跟随音量大小跳动 +### 组件 -- **颜色渐变**:通过逐步调整RGB值来模拟呼吸灯效果。 +| 功能 | 示例 | 备注 | +| ------------ | ------------------------------------ | ------------------------------------------------------------ | +| **颜色渐变** | `app_rgb_cycle_breathing_example` | 通过逐步调整RGB值来模拟呼吸灯效果。 | +| **色调循环** | `app_hsv_cycle_example` | 在HSV颜色空间中循环改变色调以实现颜色渐变。 | +| **颜色转换** | `app_test_HSV_to_RGB` | 将HSV颜色值转换为RGB颜色值。 | +| **颜色填充** | `app_test_fill_gradient_with_groups` | 将单一颜色填充到整个RGB条中,也可以将RGB条分组,同时输出不同的颜色或响应。 | +| **幻彩渐变** | `app_hsv_cycle_per_rgb_example` | 每个灯珠独立的HSV渐变,以获得颜色流动的效果。 | -- **色调循环**:在HSV颜色空间中循环改变色调以实现颜色渐变。 +### 高级应用 -- **颜色转换**:将HSV颜色值转换为RGB颜色值。 - -- **颜色填充**:将单一颜色填充到整个RGB条中,也可以将RGB条分组,同时输出不同的颜色或响应 - -- **音量响应**:根据响度值(-xdB~0dB),获取音量等级 +| 功能 | 示例 | 备注 | +| -------------------------- | --------------------------------------- | ----------------------------------------------------- | +| **响度可视化** | 待补充 | 通过检测音频样本中的响度,实现RGB跟随音量大小跳动 | +| **色调循环&音量响应** | `app_cycleHSV_vol_level_example` | 根据响度值(-xdB~0dB),获取音量等级。 | +| **平滑&音量响应** | `app_vol_level_smooth_example` | 一种过渡效果,当响度下降时,逐级熄灭RGB,而不是突变。 | +| **平滑&色调循环&音量响应** | `app_cycleHSV_vol_level_smooth_example` | 结合了HSV颜色渐变,平滑过渡,以及音量响应 | ## 使用方法 @@ -104,10 +111,10 @@ output_rgb_array(rgb_array, 3); ## 路线图 - [x] 为绘制RGB的函数添加可合并选项,以减少资源占用 -- [ ] 添加更多应用光效 +- [x] 添加更多应用光效 - [x] RGB渐变 - [x] HSV渐变 - - [ ] 每个灯珠独立的HSV渐变 + - [x] 每个灯珠独立的HSV渐变 - [x] 音频响度响应 - [ ] 使用fp/s32以增加`HSV_to_RGB`的计算效率 - [ ] 提供音频响度响应的例程与说明