diff --git a/README.md b/README.md index 8f70d75..cfa0fce 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,9 @@ `lib_rgb` 是一个用于控制RGB灯条的C语言库,提供了一系列功能,比如颜色渐变、呼吸灯效果和色调循环等。它支持通过RGB和HSV颜色空间来控制灯条的颜色输出。 ## 功能 + +- **响度可视化**:通过检测音频样本中的响度,实现RGB跟随音量大小跳动 + - **颜色渐变**:通过逐步调整RGB值来模拟呼吸灯效果。 - **色调循环**:在HSV颜色空间中循环改变色调以实现颜色渐变。 @@ -14,17 +17,12 @@ - **颜色填充**:将单一颜色填充到整个RGB条中,也可以将RGB条分组,同时输出不同的颜色或响应 -- **音量响应**:根据响度值(-xdB~0dB),获取音量等级,以实现响度可视化 - -- **RGB灯条驱动**:启动一个永久循环,持续更新RGB灯条的颜色。 - -- **HSV颜色循环驱动**:驱动HSV颜色空间中的颜色循环,以实现连续的颜色渐变效果。 - - +- **音量响应**:根据响度值(-xdB~0dB),获取音量等级 ## 使用方法 ### 包含头文件 + 在你的项目中包含`rgb_effect.h`文件。 ```c @@ -33,26 +31,30 @@ ### 快速开始 -如果你想要一个开箱即用的持续的颜色渐变效果,可以使用`cycleRGB_driver`或`cycleHSV_driver`函数。 +如果你想要尝试开箱即用的持续的颜色渐变效果,可以使用`examples/app_hsv_cycle_example/src/hsv_cycle_example.c`中的`hsv_cycle_example`函数,具体的用法可以参考该示例。 注意:当前用于驱动LED组的默认的IO,定义在`Tile[1]`的`4A3`端口上,因此你需要添加对tile的声明。 ```c -par -{ - // 启动RGB颜色渐变驱动 - on tile[1]: cycleRGB_driver(); -} -``` +#include // 包含对封装的定义,引用以使用 on tile[] 语法 -或者: - -```c -par +extern "C" { - // 启动HSV颜色循环驱动 - on tile[1]: cycleHSV_driver(); + void hsv_cycle_example(); } + +int main() // 定义主函数 +{ + par + { + on tile[1]: + { + hsv_cycle_example(); + } + } + return 0; // 返回0,表示程序正常结束 +} + ``` ### 初始化颜色和方向 @@ -93,8 +95,7 @@ output_rgb_array(rgb_array, 3); ## 路线图 -- [ ] 当RGB_MAX等值超限时,raise error -- [ ] 为绘制RGB的函数添加可合并选项,以减少资源占用 +- [x] 为绘制RGB的函数添加可合并选项,以减少资源占用 - [ ] 添加更多应用光效 - [x] RGB渐变 - [x] HSV渐变 @@ -104,6 +105,6 @@ output_rgb_array(rgb_array, 3); - [ ] 使用fp/s32以增加`HSV_to_RGB`的计算效率 ## 贡献 -如果你有任何改进意见或者发现了bug,请通过issues或pull requests来提交。 +如果你有任何改进意见或者发现了bug,请通过issues或pull requests来提交或贡献。 感谢使用`lib_rgb`! \ No newline at end of file