当前位置:文档之家› 光立方设计原理

光立方设计原理

黎明途电子
一.光立方原理
你的思维有多宽,光立方的动画就有多多。

我猜想大家做光立方都是为了能
随性所欲的控制每一个灯珠,来实现自己想的一些精美动画。

那么,让我们从光立
方的原理开始入手。

一讲到原理,估计很多同学就头痛了。

这里借鉴在网上找的
一些资料来帮助大家理解光立方的原理。

先从点阵的点亮原理说吧,如图所示
这是一张led 的点阵图,如果我们想要点亮任意位置的led,我们只要在该位置
led所使用的列线接地,行线接上+V即可。

学过单片机的朋友,都知道数码管是怎么点亮的,其中有位选和段选之分,
通过扫描来实现所有数码管能正常工作以实现我们想要的数字。

点阵也一样,尽管是8*8的点阵,如果我们让整体能随意显示图案,那也需
要用动态扫描的方式来实现,否则无法实现对其精准的控制。

所谓动态扫描,就是说我们一次只能让一行排或者一竖排的灯亮。

每次只能这么点亮,8次为一个周期,从
左至右依次点一次,那么循环起来,我们看到的就是完整的图像了。

在这里,一共有8层。

想必大家对光立方的连接已经有了一定的了解,纵向一束的负极性引脚是要连在一起,
而横向一层的正极性角连在一起。

从扫描的角度去说,那一次也只能够点亮一层。

这里光立方的一层有64个灯,我们想成之前那个8*8的平面点阵。

光立方的每一层虽然有64个灯,但是我们会有64跟线分别连接到这些灯上,从而实现一次性的对64个灯进行控制。

我们将一个立体画面从下往上分为8层,每次扫面一层这样一副画面就完成了。

通常单片机引脚较少,我们采用74hc595芯片进行拓展(74hc595原理请参考595用户手册)。

下面来一张电路图,此图是用595进行拓展的。

(这张图是模块原理图的截图,接线不是很清晰,可以参考原理图)
在图中,数据通过串行的方式,分别传送到每一个
74hc595中,再内部控制器储存这些数据,从而实现一层64个灯同时的点亮。

描述一个固定画面的显示,需要硬件执行8次扫描的过程。

1.将第一层64个点的数据传入8个74hc595中,控制uln2803层控制芯片打开第
一层开关,使第一层点亮,这个时候,其他层是灭的。

2.等待时间t。

3.熄灭第一层,开始向74hc595中传输第二层的数据,锁存,开启第二层总控制
开关,点亮第二层。

4.等待时间t。

.......
熄灭第七层,将第八层的的数据传入所有74hc595中,锁存,开启第八层总开关,
点亮第八层。

再回到第一步,循环下去....
这样,便实现了一个侦画面的显示,由于人眼的视觉暂留的特性,只要刷新的
够快,我们看到的就是光立方整体一起点亮的。

便实现了我们想
要的效果。

为了画面的稳定,上面间隔点亮t要保持一致,否则会出现亮度不均
的情况。

上面是传统单色光立方的成像原理。

在此基础上我们又开发了双彩色和RGB全彩光立方。

画面的成像和单色是一样的,在配色上加了一些改动。

我们称它为混色。

就红蓝两种颜色而言,红色和蓝色同时点亮就会出现紫色。

利用软件控制多种颜色的灯在不同或相同时间点亮就会出现很多彩色图案。

硬件部分考虑到单片机的IO口的限制,所以彩色光立的层驱动我们将2803换成了74Hc595。

通过控制74Hc5953的使能控制端口切换相应颜色的LED灯的选择。

下面用RGB光立方举例说明
RGB灯有红绿蓝三种颜色,我们需要用3个74hc595来控制选择,每一个控制一种颜色。

需要某一种颜色时就控制相应的74hc595使能打开。

需要混色时就同时打开需要混色的Led灯对应的74hc595即可。

然而随着这套电路的使用我们又发现了一些需要改进的地方。

比如亮度低的问题,这使得光立方在白天光线充足的时候动画显示不够清晰。

我们又增加了电流控制电路。

如下
这套电路我们用在MT10的主板上,称之为“ABL”电路。

原理很简单利用二极管和MOS管控制其工作电压已达到调整电流的目的。

然而这些电路的增设只是饭后的小甜点。

早在上一代MT9我们就为其主板搭载了一块蓝呀模块和一块音乐解码芯片。

这使得用手机制作动画成为了光立方的主流功能。

并且可以通过手App 控制保存在光立方TF卡内的音乐。

因为这一功能的火爆我们不得不将他继承给MT10。

并且在MT10版本APP上实现了WIFi链接。

音乐解码采用的蓝牙4.0音乐解码芯片。

通过对软件的整合实现了一部手机双蓝牙同时链接,这一项看似不可能的顶级配置。

相关主题