找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 35388|回复: 59
打印 上一主题 下一主题
收起左侧

DIY LEDCUBE 自制立方灯

  [复制链接]
跳转到指定楼层
楼主
这个是参考国外网站做的然后发布到51hei论坛来的,偶然在国外网站上看到老外做的LED光立方,看了视频后,觉得特别炫,于是准备自己也做一个,于是参照它的方案做出了下面大家看到的这个光立方,做工不是很精细,希望大家批评指教。今天发贴于此,与大家共同学习,共同进步。费话不多说,下面正式介绍我的这个LEDCUBE
视频:

1,准备材料
●512*LEDs(多买几个,以防止有的是坏的,最好是雾面的,如果买来的不是雾面LED,可以住LED上轻微喷些白漆以达到效果)
●细铁丝(用来焊接LED,如果买的LED引脚够长可以不用)
●64*电阻(510R左右的) 8*电阻(220R,三极管基极) 8*电阻(2.2K,三极管上拉)
●8*74HC574(锁存器,多路复用,也可采用595移位寄存器,本方案用574,595不再讨论)
●1*74ACT138(译码器,给574产生时钟信号)
●8*s8050三极管(用作开关管)
●电解电容(主要为电源电路部份用)
●USB母头
●开关
●DC接头
●一块MCU最小系统板(本方案采用飞思卡尔的XS128,有点奢侈,其实用51单片机就可以,比如12C5A就ok)
●两块20cm*20cm的铺铜板(本方案板子全部自己用Altium Designed画出来,然后用感光绿油曝光和腐蚀,也可用洞洞板自己搭,不过比较麻烦,工产打样同样也是忒贵,还是腐蚀板最为经济)
(如果采用腐蚀板,还需要准备以下东西)
●紫外灯(日光灯也可,不过爆光时间需要自己实验得出)
●显影剂
●感光绿油
●环保型腐蚀剂(或者三氯化铁)
●脱膜剂


2,什么是立方灯呢?
       立方灯就像是一个LED屏幕,但是它特殊在有第三维,使得它能够有3D效果。可以把它认为是透明且低分率的显示器。正常显示器是尽最大程度堆栈象素来使得显示出来的东西更加真实漂亮,但是在立方灯必须能看得到里面,同时在象素间需要更多空间。
       立方灯不需要遵循什么标准,它可做成7*8*9,甚至更加古怪的形状。




3,立方灯如何工作       这个立方体有512LED。很明显,每个LED有一个专用的IO端口是非常不切实际的。你需要一个有512IO端口的微控制器,通过该多维数据集运行512线。LED立方体依赖一个光学现象叫做持续幻象(POV)如果你led闪烁的非常快, led关掉前,图像将留在你的视网膜一小会儿。通过闪烁每一层多维数据集的一个接一个的反应非常快,它给人一种3 d图像的感觉,事实上你看到是一系列的二维图像堆积成的。有了这个这些,我们只需要64(为阳极)+ 8(每一层)IO端口控制LED多维数据集。




4,剖析立方灯       下面我们看一下LEDCUBE的立体结构。       一个LED有两个引脚,一个阳极和一个阴极,为了点亮LED,我们要使得阳极为高电平,而阴极为低电平。       LED立方灯由64列和8层组成,每一列也就是连线垂直地面的8LED,这8LED的阳极是连接在一起的;每一层是由平行地面的64LED组成的,这64LED的阴极是连在一起的。       在控制的时候,每次让其中一个面的选中(也就是让其中一个面的阴极为低电平,其它面仍然保持高电平),然后从锁存器读出这一层的数据输出到64列,这样就完成了一次层扫描,按照这样的方式依次扫描其它7层就可以完成一次LED扫描。LED立方的结构。




5,驱动电路       我们的LED立方灯为8*8*8的,这样需要有至少64+8IO口进行控制,如果用超过64个引脚的单片来控制,这会大大增加我们的成本,一般的51单片机又没这么多的引脚,为了解决这个问题,我们采用74HC574锁存器多路利用。       74HC574:    8个输入●8个输出●1个时钟信号●1个输出使端    锁存器最终要完成的工作就像一个简单的缓存,锁存器能保持8位数据,当输出使能有效时,数据将送到输出引脚。当时钟发生上升沿的时候,锁存器数据被刷新一次。为了能够刷新到8个锁存器,我们将8个锁存器的8个个输入分别接在一起,构成8bit数据总线,然后能过8个使能端的控制分别刷新8个锁存器。    下面的代码实现刷新锁存器的功能。

// PORT A = data bus
// PORT B = address bus (74HC138)
// char buffer[8] holds 64 bits of data for the latch array
PORTB = 0x00; // This pulls CP on latch 1 low.
for (i=0; i <8; i++)
{
PORTA= buffer;
PORTB = i+1;
}




6,主板电路  
我们采用的主板上面主要是由主控核心板组成,还有一个三管开关电路组成,没有什么多的东西,不再细说。下图为主板控制电路。     




8,制作过程图集
********PCB制作图集********











***************************

********LED搭建图集********










**************************

********整体效果********





***********************

电路图资料.rar (47.1 KB, 下载次数: 232)
DIY电路板.pdf (1.9 MB, 下载次数: 271)
代码.rar (107.75 KB, 下载次数: 178)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏17 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:55996 发表于 2013-10-16 21:33 | 只看该作者
下面再补充一点关于程序的问题,其实整个程序的结构框架很简单,无非就是在中断里不断的扫描,然后在main()函数里不断向锁存器buffer里面写数据。在调中断的时候需要注意的一个问题是,要不断调试多长时间进行一次中断,当调至扫描的时候灯最亮为佳。下图附件为程序流程图。


/*****************************************************************************/
程序中各文件说明:
main.c  //这个地球人都知道,就不多说了
main.h  //对接口及状态量进行宏定义,方便使用
cube.h  //同样进行宏定义

Draw.c      //效果函数的底层,定义基本函数为实现各种动态效果做铺垫
              //函数举例:
             //setvoxel(int x, int y, int z)为点亮坐标(x,y,z)处的led
            //line(int x1, int y1, int z1, int x2, int y2, int z2)为点亮(x1,y1,z1)和(x2,y2,z2)之间的led
           //shift (char axis, int direction);将led所有象素沿着axis轴的direction方向平移

font.c //字库,显示字母用得到

effect.c //调用Draw.c中的基本函数实现动态效果

Launch_effect.h  //其实里面只是一个switch函数,就是切换效果的作用,这样在main里就不用大段的调用效果函数
/*****************************************************************************/

从上面分析知道,要移值这个程序也是相当简单的,只要把你采用的单片机的中断调好,很实现基本的扫描,那么基本成功了,最后要做的就是把效果函数移植进去。
回复

使用道具 举报

板凳
ID:60432 发表于 2014-4-7 19:22 来自手机 | 只看该作者
不错的,51黑有你更精彩。
回复

使用道具 举报

地板
ID:60529 发表于 2014-4-10 13:11 | 只看该作者
不错啊
回复

使用道具 举报

5#
ID:61343 发表于 2014-5-14 17:43 | 只看该作者
好,谢谢分享
回复

使用道具 举报

6#
ID:61963 发表于 2014-5-17 19:44 | 只看该作者
第二步  准备工具       基本的电子制作工具: 1、电烙铁一个。 2、焊锡丝若干。 3、松香少许,助焊剂也可以。 4、镊子(有更好,没有也行)。
回复

使用道具 举报

7#
ID:63587 发表于 2014-7-4 22:54 | 只看该作者
真心好东西
回复

使用道具 举报

8#
ID:63587 发表于 2014-7-4 22:55 | 只看该作者
求M币下载
回复

使用道具 举报

9#
ID:63587 发表于 2014-7-4 22:56 | 只看该作者
给力。。。。。。
回复

使用道具 举报

10#
ID:63696 发表于 2014-7-7 13:36 来自手机 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

11#
ID:66820 发表于 2014-10-8 16:58 | 只看该作者
谢谢分享。。。
回复

使用道具 举报

12#
ID:67123 发表于 2014-10-9 09:09 | 只看该作者
高手啊!!!!!!!!!!!!!!!!!!
回复

使用道具 举报

13#
ID:67214 发表于 2014-10-10 23:41 | 只看该作者
呼呼,终于找到完美的资料了。谢了撒
回复

使用道具 举报

14#
ID:67281 发表于 2014-10-13 19:20 | 只看该作者
学习了,,,,,,,
回复

使用道具 举报

15#
ID:67336 发表于 2014-10-13 19:27 | 只看该作者
高手高手高高手
回复

使用道具 举报

16#
ID:66060 发表于 2014-11-16 13:51 | 只看该作者
奥会分解为
回复

使用道具 举报

17#
ID:66060 发表于 2014-11-16 13:51 | 只看该作者
谢谢楼主谢谢
回复

使用道具 举报

18#
ID:66060 发表于 2014-11-16 13:53 | 只看该作者
真的很好用唉
回复

使用道具 举报

19#
ID:66060 发表于 2014-11-16 13:53 | 只看该作者
真的大开眼界
回复

使用道具 举报

20#
ID:69614 发表于 2014-11-29 03:24 | 只看该作者
看了挺久才看懂,不过能看懂就好,谢谢lz
回复

使用道具 举报

21#
ID:69009 发表于 2014-11-29 23:10 | 只看该作者
美 很美 非常美
回复

使用道具 举报

22#
ID:27400 发表于 2014-11-30 00:59 | 只看该作者
没有M币下不了啊
回复

使用道具 举报

23#
ID:70172 发表于 2014-12-9 10:32 | 只看该作者
真心好东西
回复

使用道具 举报

24#
ID:69912 发表于 2014-12-9 23:03 | 只看该作者
漂亮。。。。。
回复

使用道具 举报

25#
ID:70104 发表于 2014-12-19 22:05 | 只看该作者
还是值得收藏
回复

使用道具 举报

26#
ID:70104 发表于 2014-12-19 22:05 | 只看该作者
谢谢了让
回复

使用道具 举报

27#
ID:70104 发表于 2014-12-19 22:06 | 只看该作者
太好了
回复

使用道具 举报

28#
ID:70104 发表于 2014-12-19 22:07 | 只看该作者
学习中。不简单
回复

使用道具 举报

29#
ID:70675 发表于 2014-12-19 23:13 来自手机 | 只看该作者
求PCB工程
回复

使用道具 举报

30#
ID:70769 发表于 2014-12-20 02:51 | 只看该作者
很好,正需要
回复

使用道具 举报

31#
ID:71697 发表于 2015-1-7 22:28 | 只看该作者
谢谢分享
回复

使用道具 举报

32#
ID:69240 发表于 2015-1-22 13:25 | 只看该作者
有打算做一个,好资料,谢谢
回复

使用道具 举报

33#
ID:72778 发表于 2015-1-25 22:14 | 只看该作者
谢谢分享
回复

使用道具 举报

34#
ID:61343 发表于 2015-2-5 13:59 | 只看该作者
谢谢分享
回复

使用道具 举报

35#
ID:76273 发表于 2015-4-24 20:58 | 只看该作者
真不错谢谢谢谢
回复

使用道具 举报

36#
ID:79544 发表于 2015-5-11 08:00 | 只看该作者
牛气,真正的DIY值得分享!赞
回复

使用道具 举报

37#
ID:44267 发表于 2015-9-7 13:40 | 只看该作者
有打算做一个,好资料,谢谢
回复

使用道具 举报

38#
ID:91242 发表于 2015-9-28 18:18 | 只看该作者
楼主这是8*8*8的吗
回复

使用道具 举报

39#
ID:92227 发表于 2015-10-12 13:57 | 只看该作者
锡怎么捍在铁丝上的?
回复

使用道具 举报

40#
ID:92804 发表于 2015-10-18 19:42 | 只看该作者
感觉楼主好可爱!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表