RGB灯颜色的渐变算法
发布时间:2020/10/17 9:33:00 来源:永阜康科技
在血压计项目中,要实现呼吸灯效果,就是让灯在某种颜色下,逐步从暗到亮,然后在逐步变暗直到熄灭。在实际项目中使用了STM32的PWM功能,通过逐步调整驱动信号的占空比来实现这种渐变效果。
首先假设初始颜色值为RGBi,终止颜色值为RGBe,三色灯的步长分别为STEPr,STEPg,STEPb。
于是
STEPr = (Re-Ri)/4
STEPg = (Ge-Gi)/4
STEPb = (Be-Bi)/4
那么在中断中每次设置CCR的值为Ri+STEPr×i,每发生一次PWM中断,i的值加1,到Re时,STEPr变为负值,递减到Ri时,熄灭R灯,其它的两个灯以此类推。
实验效果证明,这种算法效果不错
|
|
|
您可能对以下产品感兴趣 |
|
|
|
产品型号 |
功能介绍 |
兼容型号 |
封装形式 |
工作电压 |
备注 |
HTR3316 |
HTR3316是一款16路多功能LED驱动器和 GPIO控制器。16个I/O端口中的任何一个都可以配置为LED驱动器模式或GPIO模式。此外任何GPIO都可以单独配置为输入或输出。 |
AW9523 |
QFN4×4-24L |
2.5V-5.5V |
16路LED驱动器和GPIO控制器 |
HTR3212 |
HTR3212是一款12路LED PWM驱动器,PWM频率可固定为3kHz或22kHz。每一路最大输出电流可通过外置电阻REXT调节,最大38mA,并可独立控制4档可选。 |
|
QFN-20 |
2.5V-5.5V |
12路LED PWM驱动器 |
HTR3236 |
HTR3236是一款36路LED PWM驱动器,PWM频率可固定为3kHz或22kHz。每一路最大输出电流可通过外置电阻REXT调节,最大38mA,并
可独立控制4档可选。每一路可通过I2C单独控制256级细腻亮度调节。 |
IS31FL3236/SN3218 |
QFN-44 |
2.5V-5.5V |
36路LED PWM驱动器 |
HTR3218 |
HTR3218是一款18路LED PWM驱动器,PWM频率可固定为3kHz或22kHz。每一路最大输出电流可通过外置电阻REXT调节,最大38mA,并可独立控制4档可选。每一路可通过I2C单独控制256级细腻亮度调节。 |
IS31FL3218/SN3218 |
QFN-24 |
2.5V-5.5V |
18路LED PWM驱动器 |
|
|