图在:http://hi.baidu.com/czjsky818/item/06977033440cd15b81f1a703
懒得把图转过来
光立方是由发光二极管做成的三维点阵。其原理相对简单,制作较为繁琐。有较强的观赏性,且可以自由编程显示图案。
实现原理:
光立方是由4*4*4的发光二极管组成的。分为4层,每层16个发光二极管的阳极连接在一起,并连接到ULN2003的输出端。每一竖4个发光二极管的阴极连接在一起,并连接到74HC573的输出端。由于每层有16个,所以用两片74HC753。573的片选端也接到单片机。这样,由573的数据引脚8个,片选2个,ULN2003输入引脚4个,构成了对64个发光二极管的控制。
在单片片端,采用与七段数据管显示数据一样的原理。在定时器中断中不断扫描显示每一层。当扫描速度高于80Hz的时候,人眼就看不出灯光的闪烁了。由此可以控制任意一个灯,显示任意图形。
难度主要在于,要编程显示图形,没有现成的字模图案提取,因为显示方式和各人的编的程序有关。
且由于LED个数较多,导致有可能发生短路或不亮的情况。
目前实现了的效果是贪吃蛇
2013/6/2:要使用雾面LED!才不会产生上下干扰!
注:ULN2003必须换成ULN2803。或者直接按单片机IO口,我用STC12C5A60S2竟然能直接驱动16个LED灯,而且是没开推挽模式。