RGB彩色照明LED灯怎么调明暗亮度?

[复制链接]
14425|18
 楼主| 无为之益 发表于 2014-9-1 11:24 | 显示全部楼层 |阅读模式
本帖最后由 无为之益 于 2014-9-1 11:27 编辑

RGB彩色LED灯,当R\G\B的值都确定的情况下(即3路PWM占空值确定),某种对应的颜色就出来了.可是,我该按什么规律,调节这个颜色的不同亮度呢?即:使灯渐亮或渐暗,但是颜色不变.
我试了下,按统一比例同时缩小或倍增R\G\B的值(改变三路PWM占空比),调R\G\B三单色,效果还可以,但是别的颜色也按这方法调的话,则在渐变过程中,颜色会变.
请教各位路过的大侠,望能多多指教俺,先谢过了!(各种颜色的变换我已经做出来了,就是亮度调节不知道概念)

(只剩11分了,不好意思!)
manbo789 发表于 2014-9-1 11:29 | 显示全部楼层
就是按统一比例调啊,颜色会变你得找找是什么原因了,具体颜色怎么个变化?
 楼主| 无为之益 发表于 2014-9-1 13:52 | 显示全部楼层
本帖最后由 无为之益 于 2014-9-1 15:54 编辑
manbo789 发表于 2014-9-1 11:29
就是按统一比例调啊,颜色会变你得找找是什么原因了,具体颜色怎么个变化? ...


不对啊,比如RGB颜色240 240 240和颜色 120 120 120 本来就是两种颜色吧?要不然256x256x256=16777216,号称1678万种颜色怎么算来的?:dizzy:
keasy 发表于 2014-9-1 14:07 | 显示全部楼层
调节时不能按RGB比例调的,而要按照HSB调色板上的亮度来调的。
manbo789 发表于 2014-9-1 14:38 | 显示全部楼层
本帖最后由 manbo789 于 2014-9-1 14:46 编辑
无为之益 发表于 2014-9-1 13:52
不对啊,比如RGB颜色240 240 240和颜色 120 120 120 本来就是两种颜色吧?要不然256x256x256=16777216,号称 ...


首先,你如何定义“一种颜色”?如果你认为240 240 240和120 120 120不是同一种颜色的话,那么你永远无法得到亮度不同而颜色不变的效果,

至于楼上说的,分两种情况,
一种是变暗,调节方法是按RGB值比例统一调,这时饱和度不变,色相不变,只有亮度变化,
一种是变白,调节方法是按(255-RGB)值比例统一调,这时饱和度变化,色相不变,亮度变化,
 楼主| 无为之益 发表于 2014-9-1 15:51 | 显示全部楼层
本帖最后由 无为之益 于 2014-9-1 15:54 编辑
manbo789 发表于 2014-9-1 14:38
首先,你如何定义“一种颜色”?如果你认为240 240 240和120 120 120不是同一种颜色的话,那么你永远无法 ...


比如我弄了个简单的测试程序:
取 秋麒麟GoldEnrod(218,165,32)
隔1s后,除以8,得RGB值27,20,4
再隔1s后,除以4,得RGB值6,5,1
再隔1s后,除以2,得RGB值3,2,0
再隔1s后,除以1,得RGB值3,2,0

再隔1s后,恢复秋麒麟GoldEnrod(218,165,32)
循环上面的操作,我看到灯的颜色是日光灯似的白黄->兰色->淡兰色那样的变化(由白到蓝变化太大)
 楼主| 无为之益 发表于 2014-9-1 15:52 | 显示全部楼层
keasy 发表于 2014-9-1 14:07
调节时不能按RGB比例调的,而要按照HSB调色板上的亮度来调的。

非常感谢,我先了解下HSB调色板知识,到时候不懂再来请教你。
keasy 发表于 2014-9-1 15:57 | 显示全部楼层
无为之益 发表于 2014-9-1 15:52
非常感谢,我先了解下HSB调色板知识,到时候不懂再来请教你。

请教就免了,共同探讨吧
keasy 发表于 2014-9-1 15:59 | 显示全部楼层
无为之益 发表于 2014-9-1 15:52
非常感谢,我先了解下HSB调色板知识,到时候不懂再来请教你。

貌似你是个神棍?如果是的话,就没必要找我共同探讨了,你可以去请教“特异功能人士”
 楼主| 无为之益 发表于 2014-9-1 16:13 | 显示全部楼层
keasy 发表于 2014-9-1 15:59
貌似你是个神棍?如果是的话,就没必要找我共同探讨了,你可以去请教“特异功能人士” ...

嘿嘿,最早原本以为你是来捣乱的,既然你认真回复我的问题,我就认真请教你。你要在这技术版块讨论非技术问题,我也就不麻烦你了。
谢谢
manbo789 发表于 2014-9-1 16:24 | 显示全部楼层
无为之益 发表于 2014-9-1 15:51
比如我弄了个简单的测试程序:
取 秋麒麟GoldEnrod(218,165,32)
隔1s后,除以8,得RGB值27,20,4

那只能说明是你的系统有问题,
 楼主| 无为之益 发表于 2014-9-2 08:59 | 显示全部楼层
manbo789 发表于 2014-9-1 16:24
那只能说明是你的系统有问题,

谢谢,我找找看是什么原因。
 楼主| 无为之益 发表于 2014-9-2 09:47 | 显示全部楼层
manbo789 发表于 2014-9-1 16:24
那只能说明是你的系统有问题,

非常感谢,果然是我一个倒计时括错了行:lol
现在一切OK!
真是太谢谢你了,我一直以为我的思路是错的。还用了什么19场原理另外写了个程序:L
hwh123 发表于 2015-1-4 20:35 | 显示全部楼层
请教下用pwm做rgb调色的问题?就是rgb的一个色的R的值是0xff,但是那个timer的pwm值的设置是0xffff 是16位的,怎么从8位的变成16位的pwm值呢
wujh 发表于 2015-1-5 23:38 | 显示全部楼层
楼主能说下最后是按照什么规律实现了你的需求。
hwh123 发表于 2015-1-7 20:46 | 显示全部楼层
求解答RGB调试的问题?
578896817fyt 发表于 2015-1-25 16:15 | 显示全部楼层
楼主可以把最好的调试结果和方法给出来吗?谢谢
迷失的野郎 发表于 2015-4-24 09:55 | 显示全部楼层
lin20 发表于 2016-8-8 11:24 | 显示全部楼层
可以分享一下思路吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

237

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部