|
發布時間: 2020-11-4 10:32
正文摘要:最近在寫RGB點燈的程序。 通過PWM三路,實現了RGB的調色。 電路大致是這種。 現在我想調節亮度,網上查了,一種方法是三種基色同時遞加或遞減來實現亮度的調節,但是會造成顏色發生偏移問題。 另一種方 ... |
| 測試了才會知道。有實物只管做實驗就好了。動動手來的更直觀 |
| 一直用STC15W系列驅動WS2812,一點問題都沒有。 |
老夫任我行 發表于 2020-11-4 17:27 WS2812沒用過, 用你的描述通信時序達到1us甚至ns級,并不是你想的那樣要控制它的MCU輸出時序必須達到這個等級;而指MCU輸出的控制時序不能超過這個極限參數,如果超過了WS2812就反應不過來了。 一句話,你說的通信時序達到1us甚至ns級是限制MCU輸出時序上限的,不是限制下限的!!!!!!! |
| WS2812方便,PWM調節占空比,頻率快點 |
本帖最后由 zhuls 于 2023-3-29 14:10 編輯 老夫任我行 發表于 2020-11-4 17:27 那怕是12T的51,當晶振提升到30M時,也是會驅動2812的。網上有你搜一下 |
| 我現在也是遇到這樣的問題,樓主解決了嗎?怎么在不改變它的色溫情況下,調節亮度。可以分享一下你的建議嗎?謝謝啦 |
老夫任我行 發表于 2020-11-4 17:27 51沒問題的,你可以看看這篇:http://m.raoushi.com/bbs/dpj-170852-1.html 8條腿的stc足夠用 |
| 我也在做這個實驗,樓主做出來了嗎?在色溫不變的情況下,去調節它的亮度。有什么好的建議嗎?求分享謝謝啦 |
| 我現在也在做這個實驗,樓主成功了嗎?再不改變色溫的情況下,去改變燈的亮度。能說說建議嗎?謝謝啦 |
| 我現在也是遇到這樣的問題,樓主解決了嗎?怎么在不改變它的色溫情況下,調節亮度。可以分享一下你的建議嗎?謝謝啦 |
| 我現在也在是 |
鄭漢松 發表于 2020-11-4 14:53 像WS2812這種芯片,據說通信時序是達到1微秒甚至是納秒級的,這種要求51單片機應該玩不轉吧? stm32主頻低的應該也有壓力 |
器車人 發表于 2020-11-4 17:11 你說的這種方法就是我題目里說到的方法一:三種基色同時遞加或遞減來實現亮度的調節。 但是網上的資料說這種方法會造成顏色偏移問題,所以我想問問還有沒有其它方法 |
老夫任我行 發表于 2020-11-4 17:02 比如,你的兩個燈都是100W,這里舉例白色和暖色。假如此時你的整個燈的亮度100w,白色和暖色各50w,這時亮度一定,你要改變燈的顏色,就是要調節這個100W中,白色燈和暖色燈的比例,比如一個30W,那么另外一個就是70w,以此類推,當要保持色溫不變,亮度變量或者變暗時,就要保持功率比例不變,兩個顏色的功率整體上升或者下降,但比例不變。 |
鄭漢松 發表于 2020-11-4 14:53 嗯,我也覺得是要用專用的驅動IC |
器車人 發表于 2020-11-4 16:46 調色溫和亮度這些,應該就是HSV,YUV這些吧,我知道RGB數值是可以轉成HSV的值,但是轉了之后還是用3路PWM輸出控制LED嗎? HSV取值范圍是百份比,PWM取值是用占空比,是一樣用法嗎?比如HSV中,S的值是30%,pwm用占空比30%輸出? |
老夫任我行 發表于 2020-11-4 16:42 這涉及到調節色溫和亮度的比例問題,關鍵在于三個顏色的燈的功率調節 |
wulin 發表于 2020-11-4 13:02 3路pwm控制亮度調出來是不同的顏色,要保持某種顏色,然后不同的亮度,這個要怎么做呢? 比如我想顯示粉紅色,然后有10級不同的亮度 |
| 用驅動IC吧,WS2812,很方便 |
| 這個電路已經是比較合理的設計,3路PWM驅動分別控制亮度,調整3個電阻比值確定白平衡。 |