本本針對Telink BLE MESH SDK 燈控的使用進行說明。
1、調整燈光的頻率
默認情況下 SDK PWM波的頻率是 600HZ的,有時我們需要將它調整頻率,例如調整為4K,只需要更改參數 PMW_MAX_TICK_MULTI 為31 就好了。
計算 PWM 頻率公式
freq = CLOCK_SYS_CLOCK_HZ / (PMW_MAX_TICK)
PMW_MAX_TICK=PMW_MAX_TICK_BASE*PMW_MAX_TICK_MULTI
PMW_MAX_TICK_BASE=255 為常量 不變化。
2、調整燈光的亮度,
SDK中,燈光的亮度范圍5%~100%,但是發現設置亮度為50%, 實際亮度卻不是50%,實際上對應的表格如下。你設置的亮度百分比只是一個 索引號,例如設置亮度為50%, 實際PWM頻率為
rgb_lumen_map[50]=(75*256)/255=29.4%;設置亮度為10%,實際PWM頻率為rgb_lumen_map[10]=(7*256)/255=2.75%;

以下為邏輯分析儀抓圖。設置亮度為50%,

PWM波頻率為4K,設置亮度為50%波形


PWM波頻率為4K,設置亮度為10%波形

實際測試,某些燈具設置占空比太小時,會出現閃爍的情況,因此SDK中做了限制,亮度值設置為0~4時,認為是無效值。
3、色度與亮度的關系
有時為了渲染效果需要改變燈的顏色,本質其實是調整Red Green Blue 3路PWM波達到一個效果,每個燈廠商的燈珠的RGB與色溫 都有對應的表格。具體可以去網上查找“
常用色溫對應RGB顏色表”
http://blog.csdn.net/vrix/article/details/44037737
色溫的定義:以絕對溫度K來表示。是將一標准黑體加熱,溫度升高至某一程度時,顏色開始由紅—淺紅-橙黃-白-藍白-藍,逐漸變化,利用這種光色變化的特性,某光源的光色與黑體在某一溫度下呈現的光色相同時,我們將黑體當時的絕對溫度稱為該光源的相關色溫。
3000K 黃色光,強穿透力
4200K 白中帶黃,原車配氙氣燈
5000K 光全白,歐規最高色溫
6000K 光全白,略帶藍色
6500K 陽光下的白天
7000??8000K白中明顯帶藍
8000K以上藍光,穿透力極差推薦6000K左右的色溫正好是最白略微開始轉藍的色溫,人眼容易接受,不易疲勞,提高安全性,而鹵素燈則較差。


4、色溫的實現
為了方便測試,先將亮度百分比設置為100%,發送 指令 LGT_CMD_LIGHT_RC_SET_RGB,也是對應的索引值,例如說1,那么 R G B對應的占空比即為 ((8/255 )*lum)、((8/252 )*lum)、((8/132 )*lum),

因此如果需要微調整燈的顏色,只需修改這個表格即可。

前期調試也可以通過命令LGT_CMD_SET_RGB_VALUE 來微調整,將值放入上面表格即可