具有动作响应的呼吸式流水灯的制作方法

文档序号:2896324阅读:241来源:国知局
专利名称:具有动作响应的呼吸式流水灯的制作方法
技术领域
本发明涉及电子产品领域,尤其涉及手机的具有动作响应的呼吸式流水灯。
背景技术
传统的手机灯光多半是跑马灯一类的开关控制,单个灯的状态非关即开,状态很是单一,整个灯光系统的控制流程也比较单一。 呼吸灯芯片是最近才在手机上应用的控制灯光效果的器件,有了它,灯的状态将再也不是单一的开关亮灭,而是从熄灭到全亮或从全亮到熄灭的线性变化过程。真正实现了呼吸效果,它使整个灯光系统的播放显得更加平缓流畅,例如在MP3音乐播放的时候,当音乐节奏较慢的时候,可以把呼吸灯控制成均匀的呼吸效果,当音乐节奏较快的时候,可以把呼吸灯控制成急促的呼吸效果。所以有了呼吸灯,灯光的显示效果将大大改善。
加速度传感器芯片也是最近才应用在消费类电子产品上的新器件。它功耗低,灵敏度高,有了它,你可以检测物体的倾斜角度,运动方向,运动轨迹,受力情况等等与力学相关的物理量。在消费类产品中有着广泛的应用照相机防抖,硬盘跌落保护,计步器,倾角计,重力旋屏,页面翻滚,翻转静音,动作类游戏等等。这里我们把他应用于灯光控制,例如可以用他来控制流水灯的流动方向,流动速度,流动模式。这使得原本不受用户控制或仅受音乐节奏控制的灯光显示转变成用户可控,增加了一个人机交互的渠道。大大增加了用户的操控乐趣。

发明内容
针对已有技术存在的不足,本发明的目的在于提供具有动作响应的呼吸式流水灯,能使手机的灯光效果焕然一新。 本发明的发明目的是通过如下技术方案实现的 具有动作响应的呼吸式流水灯,包括手机面板、灯,所述的在手机面板上设置22颗led灯,上下各三颗,左右各六颗,四个角落各一颗,由该22颗灯构成一个矩形联通管。在联通管中设有一滴水珠,该水珠在管中的运动状态要完全模拟真实的物理环境比如无论水滴在哪个位置,他总要往地势低的地方流,同时坡度越陡峭,流动速度越快,坡度越平缓,流动速度越慢。 同时要求该水珠在运动的时候,后部要拖拽一条由三颗灯组成的尾巴,就犹如流星划过夜空时拖拽出慧尾一样的效果,而当该灯静止不动的时候,该尾巴又要慢慢地縮短并消失。单看每颗灯都要有呼吸灯中呼的效果,即从最亮渐渐变暗,直至熄灭的过程。
本发明的硬件条件八路可单独控制的呼吸灯芯片SC620 —片,M0SFET管4片,LED灯22颗,两轴加速度传感器MXC6202 —片。 本发明的难点带有尾巴的水珠从矩形管一边流到邻边的过程中,拐角处两边灯光无缝连接问题;水珠的动作引擎,即如何让水珠模拟真实的物理受力环境流动;尾巴的处理以及呼吸灯效果的实现。
本发明的实施及其工作原理 首先设计led灯显示接口函数kalj3ooldrip—state—display(kal—uint8 drip_site, kal_uint8 drip_dir, kal_uint8 drip—state, kal_uint8 drip_dim),该函数只根据形参要求负责具体的显示功能,与水珠应该怎么流(即motion sensor的控制无关)。我们把控制与显示分开,便于分析和代码的编写与阅读。


图1为本发明手机面板上布有22颗led灯示意 图2为本发明手机水滴式流水灯的状态效果 图3为本发明四个角落上的临界点示意 图4为本发明边条上的普通点示意图。
具体实施例方式
下面结合附图进一步说明本发明是如何实现的 如图1所示,形参"drip—site"是这22颗灯的ID号,我们给每颗灯都分配了一个ID号,分别从0到21,代表了这22颗灯。例如drip_site传进来是"3",那么就代表现在水珠位于三号灯的位置,这样水珠的任意位置就可以用drip_site来描述了。
如图2所示,再看形参"drip—dir",这个参数描述了现在水珠的运动方向或水珠静止前的运动方向。我们规定顺时针方向为负(O),逆时针方向为正(1),这个"drip—dir"其实是为了描述尾巴而设计的,举例来说当水珠处于"3"号位时,他如果正从上往下运动(此时逆时针,drip—dir等于l),那么这条尾巴就应该紧跟在水珠上方,如果正从下往上运动(此时顺时针,drip_dir等于0),那么这条尾巴就应该紧跟在水珠下方。
最后看一下"drip—state",该参数其实描述了水珠是处于运动状态还是渐渐熄灭的状态,我们规定当水珠处于运动状态时,尾巴最长,后面拖三颗尾灯(尾灯亮度依次变暗),此时"drip—state"为0 ;当水珠刚刚由运动转为静止时,尾巴縮短一点,后面拖两颗尾灯(尾灯亮度依次变暗,更暗了 ),此时"drip—state"为1 ;再接着尾巴继续縮短,后面拖一颗尾灯(尾灯亮度最暗了 ),此时"drip—state"为2 ;最后完全静止,后面一颗尾灯都没了,此时,,drip_state,,为3。 至于参数"drip—dim",在为每颗灯产生呼吸效果的时候,发挥了非常重要的作用,将在后面描述。 由此可见"drip—site", "drip_dir", "drip—state"这三个参数就可以把"水滴式流水灯"的每一种状态效果都描述出来。 我们知道驱动是和硬件密切相关的,所以下面我们来看看这22盏灯的硬件是如何连接的。 大家可能有疑问了 呼吸灯芯片SC620不是只有独立的八路控制吗?现在要独立控制22盏灯只用一块SC620,是怎么做到的? 为了节约成本,硬件上引入了 PMU上的RGB灯,该三颗灯是由PMU内部的P丽控制的。这样SC620的八颗灯加上三颗RGB灯也才11颗灯,怎么才能达到22颗等呢?此时我们硬件上又引入了 M0SFET对称控制。
如图2所示0号灯到7号灯这八颗灯由SC620控制,同时11号灯到18号灯这八颗灯也由SC620控制,这样不会有冲突的,我们给0到7号灯加个总开关M0SFET0,给11到18号灯也加一个总开关M0SFET2,这样就可以分开控制了,缺点是M0SFET0和M0SFET2不能同时打开,只能开其中一个。同理8到IO号灯由PMU的RGB 口控制,19到21也由该RGB 口控制,同时8到10号灯由M0SFET1总开关控制,19到21号灯由M0SFET3总开关控制。
这一硬件布局解决了"难点l":带有尾巴的水珠从矩形管一边流到邻边的过程中,拐角处两边灯光无缝连接问题。比如当水珠正从左向右运动至9号灯位置时,分别要把9,8 , 7 , 6这四颗灯点亮,其中9号是水珠,8 , 7 , 6尾灯。此时只要把MOSFETO和MOSFET1打开,分别控制相应的SC620和PMU即可。
代码编写 1、首先构建一个22维的数组"pipe—array [22]",次对应22颗灯,根据四个行参"drip—site", "drip_dir", "drip_state", "drip_dim"的要求把对应要点亮的灯的亮度填写进去。于是我们得到数组元素为0的表示熄灭,元素不为0的表示点亮,并且数值的大小反映了灯的亮度。这其实就是一个编码器。 2、有了编好的码(22维数组),下面就好办多了,首先检测a,b,c,d四边是否有亮灯(因为每边的驱动控制方法不一样)。 3 、没亮灯的边,直接M0SFET关掉,有亮灯的边,打开M0SFET,把该边在pipe_array [22]中对应的一段数据写入SC620或PMU的寄存器。 这里我们再次提到第四个行参"drip—dim",看他在呼吸效果中发挥的作用。假设有一条强度为{30,12,6,2}的水珠及其拖起的尾巴从3号灯由上往下流过,那么3号灯的亮度会由30降至12再降至6再降至2,最后降至0熄灭,可见由最亮至最暗也就四个等级,不是很连贯,呼的效果不明显,但如果再插入四个等级,形成八个等级的细分{30,12,8,6,4,2,1},呼的效果将好的多,于是我们把插入的数提取出来另成数组{30,8,4,1}由"drip—dim"控制,当drip_dim等于0的时候给对应的灯打入{30, 12, 6, 2},当drip_dim等于1的时候,给对应的灯打入{30, 8, 4, 1},两者交替进行,八个等级的细分亮度便出来了 。
控制模块 动作引擎主要是参考水珠上次的物理参数(落点位置,运动方向,运动速度)根据现在手机面板的倾斜角度及方向来推算出水珠这次的物理状态参数(落点位置,运动方向,运动速度,以及尾灯状态)。
(1)输入条件 水珠上次的落点位置(drip_last_site)运动方向(drip_last_dir)运动速度(drip_laSt_Speed)。面板的倾斜方向及倾斜程度是由实时采集加速度倌函数acc_tilt_scan()获取(accX_dir, accY_dir, accX_abs, accY_abs)。 (2)下面就是结合以上的输入条件进行分类判断了,我们把这22个点,分成两类四个角落上的临界点,和边条上的普通点。下面各举一个例子进行说明
假设该点正落在3号位,如图(3)所示,属于典型的竖边上的一个点,那么按物理常识也可知道,此时该点的运动只取决于Y轴的倾斜方向和程度(加速度值),而与X轴的大小方向无关。下面看一下具体情况若Y向上倾,则水珠向前运动,落点前移,从3变成2,顺时针方向;若Y下倾,则水珠向后运动,落点后移,从3变成4,逆时针方向。而加速度值的大小反映了倾斜程度,直接导致定时刷新时间的快慢;若Y轴水平,则水珠Y轴方向不受 力,保持原来位置不变。 若水珠正处于临界点0号位,如图(4)所示,那么下一时刻的判断更为复杂,因为 他处于两个邻边的交界处,同时受X轴和Y轴的影响。在这个临界点,y轴上倾,x轴左倾是 不会改变水珠落点位置的,只有相反方向的加速度才会使水珠离开原来的位置。最麻烦的 位置是如图4-1所示,x轴右倾,y轴下倾,两轴都有使水珠离开原位的趋势,那水珠到底是 流向a边呢,还是d边。这里需要定量判断一下,看看X轴的倾斜程度大,还是Y轴的倾斜 程度大,谁大就往谁那边流;再看另外的情况假设Y轴下倾,X轴只要不右倾(图4-2),那 么此时只有Y轴有使水珠离开原来位置的趋势,所以下一落点将是1,向a边流动,逆时针 方向,流动速度由Y轴倾斜程度决定;同理X轴右倾,Y轴只要不下倾(图4-3),水珠必向d 边流动,顺时针方向;若Y轴既不下倾,X轴也不右倾(图4-4),则两轴都没有使水珠离开原 来位置的趋势,水珠将保持原来位置不变。 由此可见,动作引擎其实就是一个找出具体运动规律(共同点),及分类讨论(不 同点)的功能函数。
(3)输出的结果 这一次水珠的落点位置(drip—curr—site),运动方向(drip_curr_dir),显示状 态(drip_repeat_time),运动速度(drip_curr_speed)。 前面三个参数大家不会陌生,非常类似于kal_booldrip_state_display(kal_ uint8 drip_site,kal_uint8 drip_dir,kal_uint8 drip—state,kal_uint8 drip_dim)显 示函数中前三个行参。确实如此,动作引擎输出的这三个参数正是做为行参传给显示函数 来刷新该时刻流水灯的状态的。 那么最后一个运动速度(drip_curr_Speed)是干嘛的呢?举个例子你就明白了 水珠从0号位流向7号位,途中要经过8盏灯位,如果相邻两个灯之间的过渡时间短了,视 觉上整个流动速度就快了,相反则慢。所以drip_curr_Speed其实就是这一次(流水灯) 系统刷新与上一次系统刷新之间的定时器设置的时间间隔。 呼吸灯光芯片与加速度传感器组合,往往可以给灯光显示带来意想不到的效果, 大大推进了手机以往传统的灯光效果。 设计者根据不同的应用场合,建立不同的算法模型和显示机制。可以做出水滴式 流水灯,水柱式流水灯,电量U型管,光影风车,猫捉老鼠,呼吸接力,智能弹球,小小毛虫, 闪信等等很炫的灯光效果。 这些个性十足的动作类灯光效果不光可以作为单一的功能性演示,还可以融入进 开机,关机,待机进入,待机退出,屏保前奏,铃声,短信,音乐播放等与日常应用密切相关的 场合。最大发挥出呼吸灯光芯片与加速度传感器的价值,使你每天都离不开它。
权利要求
一种具有动作响应的呼吸式流水灯,包括手机面板、灯,其特征在于所述的手机面板上设置有22颗led灯,上下各三颗,左右各六颗,四个角落各一颗,由22颗灯构成一个矩形连通管,在联同管中设有一滴水珠。
2. 根据权利要求1所述的具有动作响应的呼吸式流水灯,其特征在于所述的无论水滴在哪个位置,他总要往地势低的地方流,同时坡度越陡峭,流动速度越快;坡度越平缓,流动速度越慢。
3. 根据权利要求1所述的具有动作响应的呼吸式流水灯,其特征在于所述的控制灯光的呼吸灯芯片SC620,检测手机面板倾斜角度的传感器芯片MXC6202。
全文摘要
本发明公开了一种具有动作响应的呼吸式流水灯,包括手机面板、灯,所述的手机面板上设置有22颗led灯,上下各三颗,左右各六颗,四个角落各一颗,由22颗灯构成一个矩形连通管,连通管中有一滴水珠,这是一套全新的具备控制输入,灯光显示输出的控制系统。客户对手机在规定范围内的操控方式如摇晃,翻转,倾斜,点击,都将直接或间接地影响到灯光的显示输出如显示模式,刷显速度,显示方向,亮暗程度等等。与以往的灯光相比,主要进步在两方面1)呼吸灯的引入使得灯光显示效果更加丰富,绚烂,流畅;2)加速度传感器的应用给系统引入了灵活,可靠,新奇的操控输入。
文档编号F21V33/00GK101737764SQ20081020223
公开日2010年6月16日 申请日期2008年11月5日 优先权日2008年11月5日
发明者徐进, 薛佳元 申请人:龙旗科技(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1