zoukankan      html  css  js  c++  java
  • Telink BLE MESH PWM波的小结

      本本针对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 来微调整,将值放入上面表格即可
     
  • 相关阅读:
    FDR校正
    PHP base64 编码转化图片并进行指定路径的保存和上传处理(转自https://cloud.tencent.com/developer/article/1333877)
    google网页评测工具
    链接类型:预加载
    鼠标经过时显示、隐藏提示
    thinkphp5导入excel数据
    JS消息窗口滚动到底部
    datatable分页使用箭头
    Mysql基础
    php-MD5/sha1
  • 原文地址:https://www.cnblogs.com/jack-hzm/p/6102330.html
Copyright © 2011-2022 走看看