光立方制作教程(PCB版)

合集下载

光立方设计文档

光立方设计文档

8*8*8光立方摘要本设计制作出一个三维立体显示图案的LED光立方。

不仅可以像发光二极管点阵一样显示平面的静态或动态画面,还可以显示立体的静态或动态画面,打破了传统的平面显示方案。

同时又增加了显示的花样和立体图案显示效果,可以广泛用于传媒信息显示和各种装饰显示,光立方显示比发光二极管点阵更具有视觉效果,而且画面图案更加非富多彩。

本设计是采用STC15W4K58S4单片机为核心控制器,74HC595扩展I/O口,完成硬件电路设计。

通过软件编程控制数据下载到单片机完成设计图案的显示。

软件采用自上而下的模块化设计思想,使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。

关键词STC15W4K58S4单片机; ULN2803驱动管;74HC595。

目录8*8*8光立方 (1)1、设计要求与方案 (1)1.1 设计目的 (1)1.2 设计思路 (1)2、工作原理 (1)2.1模块的简介 (1)2.2 8*8*8光立方工作原理 (1)3、方案选择 (2)3.1电源的选择 (2)3.23D显示核心控制芯片 (3)3.3I/O口扩展芯片的选择 (3)3.4LED发光显示二级管 (3)4、硬件整体设计概述及功能分析 (3)4.1系统概述 (4)4.2系列单片机简介 (5)4.3时钟电路设计 (5)4.4 复位电路设计 (5)4.5 74HC5795芯片连接电路图与介绍 (6)5、主程序设计思路 (7)5.1显示程序的设计 (7)6、硬件电路设计 (8)6.1焊接准备 (8)6.2 焊接步骤 (8)6.3 焊接技巧 (8)7、收获总结 (9)1、设计要求与方案1.1 设计目的在当今的信息化社会中,为追求逼真、清晰的3D视频显示,平面的二位显示早已不在是主流,为此制作出一个三维立体显示图案的LED光立方。

该设计方案将打破了传统的平面显示视频的方法,该方案设计的LED显示屏显示画面色彩鲜艳,立体感强,可以广泛应用于各种工场合的多种用途。

光立方制作+程序讲解

光立方制作+程序讲解

光立方教程今天,给大家带来光立方的制作教程,基于本人制作的经验,给各位想要做的朋友分享制作过程。

对于第一次制作的朋友,我们要先制作好一个日程表,如下图:我们要弄好一个计划,就好像单片机运行程序一样。

当然,废话少说。

接下来,我们需要一份购买材料的清单如上图所示,我们需要购买的万能板需要购买18*30的规格。

这样子才有足够的空间去安装我们的电子元件。

首先,我们需要用万能板作为骨架,每2cm*2cm就要焊接一个排针,上下左右间隔一样。

不过对于初学者来说,一次性焊接64颗排针有点困难,所以我们需要用胶布把每一颗排针固定好,然后上焊,当然这是一个快捷的方法,也适合所有的初学者当我们把排针固定好后,我们只需要把板子翻过来焊接就可以了。

接下来,我们要把每一颗led灯折弯后侧着放置在排针中。

从左到右,从上至下的安放,安放好后,我们只需要把他们的脚焊接即可。

折弯时记住使用镊子折弯。

效果图如下图所示显而易见,这是非常需要考焊功的活,各位制作时候要注意节点与节点之间的间距,并且注意焊点不要点太多的锡,会影响做出来的效果与美观。

接下来,我们把弄好的8排led插在万能板上,注意:我们要注意每排之间的间隔。

下一步,我们需要在把每排led的共阴极连接在一起,一共8层,每层都要连接好,当我们把每层连接好后,我们要在每层的末端或者初始端接一条输出线,作为共阴极连接UNL2803。

当然,我们连接UNL2803的前提是先把芯片接好。

小编我直接把芯片焊接在板子上,这种方法对于初学者来说不可取,需要弄芯片底座,不然芯片烧掉了就很难拆下来了。

接下来我们要按照电路图接线路了(是不是很开心,终于可以接线路了,好戏在后头),下面是74HC573集成电路的接法:首先我们先分析一下原理图:74HC573的1D~8D都连接在一起,然后再接到单片机的P0.0~P0.7端口;1Q~8Q分别连接每排的共阳里,就是焊接在电路板上的光立方引脚;至于LE要分别接到单片机的P2.0~P2.7。

光立方设计制作(全过程、带程序连接)

光立方设计制作(全过程、带程序连接)

摘要之前在网上看了一些光立方的演示视频,被它那些立体感吸引了。

想到自己学单片机也这么久了,于是乎就想做一个玩玩,同时可以复习一学期以来自己的编程能力和动手的能力,一举两得是一件很不错的事情。

向朋友要了一些资料,就开工了。

光立方顾名思义就是一个立方体,采用的是8*8*8的模式,整个立方大概是16cm*16cm*18cm(长.宽.高)的样子,主要分为三个模块:主控模块、驱动模块、显示模块;我所做的光立方,主控电路采用的主控芯片是STC12C5A60S2芯片,驱动电路是采用我们常用的74HC573数字芯片,以及ULN2803达林顿管。

关键字:光立方 74HC573 STC12C5A60S2 ULN2803电路原理图:图1.电路原理图元件的选择:(1)由于光立方的程序量比较大,而且要求相对比较高,因此经过考虑之后我们决定用51系列的增强型芯片STC12C5A60S2,选择的理由:1.无法解密,采用第六代加密技术;2.超强抗干扰;3.内部集成高可靠复位电路,外部复位可用可不用;4.速度快,比8051快8-12倍;(2)由于灯的个数比较多,因此所需要的电流相对也比较大,所以选择ULN2803,ULN2803是八重达林顿,1 至8脚为8路输入,18 到11脚为8路输出。

驱动能力500MA \50V。

应用时9脚接地,要是驱动感性负载,10脚接负载电源V+。

输入的电平信号为0,或5V。

输入0是,输出达林顿管截止。

输入为5V电平时,输出达林顿饱和。

输出负载加在电源V+和输出口上,当输入为高电平时,输出负载工作;(3)由于在刚刚接触锁存器的时候,就接触了74HC573,对它的使用也比较成熟,因此在驱动部分使用了熟悉的74HC573,其优点有:1.高阻态;就是输出既不是高电平,也不是低电平,而是高阻抗的状态;在这种状态下,可以多个芯片并联输出;2.数据锁存;当输入的数据消失时,在芯片的输出端,数据仍然保持;3.数据缓冲; 加强驱动能力;(4)LED灯的选择,出于外观和整体的形状美观,个人推荐雾面蓝光方型LED。

3d led光立方制作详解

3d led光立方制作详解

单片机采用stc90c516,最小系统部分电路板已经省略,相应的,单片机的P0口,接电路图中标示为“P2”的插头上,而单片机上P2口接到电路图中标示为“P1”的接口上有坛友说杜阳的东西,有点专业的都知道,硬件构架不同,至于动画,我使用另一套原理实现了和他相同的动画,至于动画这部分,看得懂代码的人,都知道如何去改动画,很随意。

我也承认,我以前见过杜阳的作品。

大家有兴趣先制作,如果制作好了,我再继续写如何编写属于自己的动画。

最近我要去定制电路板,如果有兴趣,可以以成本价给大家出几块原理部分很早以前,就有相关的视频资料,在国内各大视频网站出现,样式绚丽,也一直有很多玩家想放置,对于这个东西来说,本身技术不是很复杂,也不是很简单,更多的是需要耐心。

下面我就来详解一下如何打造一个属于自己的光立方。

拿8*8*8的光立方来说:我们可以拆分为8个面每个面64个灯;我只要控制这64个灯使其能够自由变换,然后再通过控制每个层依次点亮即可,由于我们眼睛的视觉暂留,使我们感觉看到的东西是一起再亮的。

这样我们就看到了一个完整的个体。

理解了原理;我们来设计电路;大家都知道,如果要控制8*8点阵,需要16个引脚,那么有8个8*8点阵,我再用8个引脚来当充当各个8*8点阵的“开关”即可。

那么我们的电路设计的基本原理知道了。

如何让一个引脚来当64个灯的“总开关”呢?只要将64个灯阳极或阴极连在一起,在连到这个引脚上即可。

那么如何用16个引脚来控制这64个灯的另外64个引脚呢?我采用了hc573暂存的方法,来分别把64个灯的亮灭信息存到这个上面,然后再一起输出到灯上,这样我们通过查询相应芯片的型号可以确定基本电路。

电路部分573的64个输出引脚控制前面所述每一个面的64个灯;而uln2008控制的每一个层。

同时要注意每个573输出的引脚对应的按顺序的x轴的8个引脚。

这样做完全了后期编写程序方便。

因为我们的动画是实时运算的,而且我所采用的紧紧是stc89c52系列单片机,它本身的运算速度有限。

光立方教程(含HEX烧录文件)

光立方教程(含HEX烧录文件)

先上效果图首先,准备材料和工具。

材料:1, 雾面蓝色(喜欢其他色的随意)LED (3MM 或者5MM 都行),最好是雾面LED ,不懂得购买的时候跟老板说清楚就ok~2,STC12C5A60S2单片机一片3,DIP-40的插座一个4,22.1184MHZ晶振一个5,单排圆孔插针座20个(建议多准备些)6,单排插针4个7,USB母座一个8,0.3--0.8镀锡铜线一米左右,没有的也行,根据自己的焊接习惯。

个人比较喜欢镀锡铜线。

工具1,剪线钳2,尖嘴钳3,电烙铁4,焊丝5,松香6,镊子7,其他(总之就是焊接用的那些了,根据个人情况。

)———————————分割线———————————首先,电路图很简单了电路图很简单,稍微有点单片机基础都可以做。

然后呢,开动你灵活的小左和小右吧~准备绘制焊接图纸。

首先,确定你要做多大尺寸的光立方,4*4*4也就是64个灯,个人感觉做成7厘米见方左右就差不多了。

根据个人喜好调节吧~大小具体怎样确定呢,二少在这里简单说明一下,每一边是4个灯,也就是三个灯距,灯距的三倍加两个灯宽就是边长了。

灯距的确定,不是随便确定的,必须是2.54毫米的整数倍,为什么呢,因为洞洞板的孔距就是2.54,最后的灯是插在洞洞板上的。

本教程所定的灯距是4倍的孔距,也就是10毫米挂点,小误差这里就可以忽略了。

OK~根据灯的情况,确定洞洞板的大小,最少得是20孔,因为单片机用的是DIP40的,所以至少要保证单片机可以安装,当然高手还可以立式安装单片机,二少在这里就不多介绍了。

确定以上参数后,好了,开始制作吧~我这边手头有的洞洞板是19*23孔的,所以嘛~单片机就有俩引脚是悬空的,不过不影响。

焊接电路,(绘制软件,layout)然后,确定单片机和LED灯体的安装位置。

并做简单标注。

用尖嘴钳把插针掰成一个一个的,直接焊接于绿色的焊盘位置,4*4+4个。

如下图效果单片机最好安装在座子上,直接焊接死亡率较高。

4X4X4光立方C程序(含制作方法和电路图)

4X4X4光立方C程序(含制作方法和电路图)
{0x44,0xA0,0x25,0x50,0xA0,0x26,0x14,0x42},
{0x44,0xA0,0x25,0x50,0xA0,0x27,0x14,0x43},
{0x44,0xA0,0x25,0x50,0xA0,0x27,0x14,0x53},
{0x44,0xA0,0x65,0x50,0xA0,0x27,0x54,0x53},
unsigned char code tabP2[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F}; //扫描
unsigned char code PWMsz[8]={0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x00};//中间四个
/********************************************************************
*名称: Delay_1ms()
*功能:延时子程序,延时时间为1ms * x
*输入: x (延时一毫秒的个数)
*输出:无
****************************************************Hale Waihona Puke ******************/
{0xDE,0xFD,0xF7,0xFB,0xFF,0xF7,0xFF,0xFF},
{0xDE,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}
};
int j,k,i;
for(j=0;j<38;j++)
{0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xDF},

光立方制作步骤详解

光立方制作步骤详解

Cube光立方完全制作手册晴天电子工作室Cube 光立方完全制作手册套餐阅读版欢迎大家走进光立方的世界。

....................................................................................................... 硬件电路的焊接 ............................................................................................................................... 灯的选择........................................................................................................................................... 对灯的建议....................................................................................................................................... 制作模具........................................................................................................................................... 图形欣赏:..................................................................................................................................... 附录: ............................................................................................................................................http://80mcu.taobao.comÿÿÿÿ 欢迎大家走进光立方的世界。

444光立方制作过程

444光立方制作过程

梦想电子DIY444光立方制作说明一、硬方面1.LED:CUBE4光立方需要64个LED,LED的颜色可以自己随意挑选红黄蓝绿白,个人推荐雾状蓝色LED,夜晚效果超屌。

2.单片机:单片机上采用程序空间大的,运行速度快的STC15W1K24S单片机。

如4.上拉电阻:p0口为了提高LED亮度,选用10k的。

(可加可不加)5.电源:5V电源。

电脑USB口电源或手机适配器输出的即可,不需要太苛刻的要求!6.有驱动的套餐:74HC573作为驱动,你也可以用其他的,把753的1脚何10脚接一起接地。

把573的20脚何11脚接一起接vcc就可以。

IO口对应着就可以了,2-9脚为输入,12-19脚输出,别接反了。

二、电路连接很多人会在这里纠结,到底该怎么连接电路。

不用纠结了,接下来我给大家详细说说怎么连接LED。

本光立方采用的电路与LED点阵屏一样的。

接下来看图。

从正面看:红色是LED的正极,正极接下去,中间两列相连,外面两列相连接后面依次如此连接。

蓝色是LED负极相连,已经标出连接到的IO口号上了。

本光立方负极接到P2口上,所以按照上面的图,左边上面第一个连接到的应该是P2.0口。

从上面看:IO口号已标出,要注意的是中间两列相连的,如5和5是相连的。

外面两列相连,如0和0相连的。

本光立方在这里连的是P1口,0就连接到P1.0上 5就接到P1.5上说说上拉电阻:在IO口连接到LED正极的基础上再把电阻连接到VCC和IO口间。

好了,硬件就说到这里。

有什么不懂的可以加我QQ483301522.验证信息填光立方三、软方面本光立方有专用取模软件,如果你按上面电路连接,只需要在C语言程序中做一些小修改就可以使用了!C语言程序下面我会打包你可以不用上面的P1,P3口但是 0.1.2.3.4.5.6.7的顺序必须同上如果你改了,那就请看下面,怎么在程序中改。

首先你需要头文件#include <STC15W1K24S>,如果没有不用担心我已经打包了,下载再放到keil头文件的文件夹里就OK,如果不会自己百~度。

光立方电路原理图及程序

光立方电路原理图及程序

74HC595 P E CK A GE =S OP 16
U10:D
b3 13 74HC04 12
C2 C1 C3
C4
220UF
1 2 3 4 5 6 7 8 +5V
P1.0/T2 P 1.1/T2E X P 1.2 P 1.3 P 1.4 P 1.5 P 1.6 P 1.7 AT89C52
U4
C1 f1 f2 11 14 C3 12 S H_CP DS S T_CP Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q 7' 15 1 2 3 4 5 6 7 9
R3
500
+5V 29 30 31 PSEN ALE EA
U10:D
b3 13 12 74HC04
R5
500
C4
220UF
b0 b1 b2 b3 b4 b5 b6 b7
U4
2 3 4 5 6 7 8 9 11 c2 1 D0 D1 D2 D3 D4 D5 D6 D7 LE OE 74HC573 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
U2
C1 C2 +5V C3 11 14 12 S H_CP DS S T_CP Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q 7' 15 1 2 3 4 5 6 7 9 C1 11 14 12 C3
U6
S H_CP DS S T_CP Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q 7' 15 1 2 3 4 5 6 7 9
1 2 3 4 5 6 7 8 +5V
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C52

光立方制作方法

光立方制作方法

光立方的制作01、LED灯珠,最好选择长脚5mm,雾状(乳状)蓝色的灯珠,效果更好。

记住,长脚的,不要短脚的,3mm的也可以,当然也能自己换喜欢的颜色,仅仅是推荐蓝色。

(话说我就是短脚的,结果效果很不好。

)价格在70-90元一包,一包1000个,店家不会散卖的。

02、74HC573,8个,记得要1-2元左右的,太便宜的可能是用过返新的,IC芯片都是一分钱一分货,便宜的全是旧的,别老想着贪便宜。

(建议买十个,多买两个以备特殊情况。

)03、UNL2803,1个,这个便宜,要0.5-1.5元的就行,同样建议买俩。

04、IC座,9个,不过一般商家不会单卖,一卖就得卖10或15个,这个可以多买点,记得买20P的。

一般0.2-0.6元一个。

05、焊接飞线,自己有导线也行,一定要结实耐用,准备10米,一定要多准备,我仅仅焊接一个9cm*12cm的驱动板就用了6米的飞线。

06、电阻,基本上100-500欧都可以,我用的是220欧的,用来接在UNL2803上,给LED 分压。

不过最好是100欧的,其实2803不加电阻也完全可以。

一般都是卖一包,很稍有单卖的,一包12-18元,买精度低的就行,精度低的便宜,12-15左右。

07、排针,用来焊接,这个就不多说了。

0.5元一排,40个。

08、杜邦线,8p的4个,2p的1个,建议多买点,以备不时之需。

0.25元一根,记得买30cm 的,短的不好使,8p的一般0.8-1.2元。

09、3节一体的电池盒,用于装3节5号南孚电池。

1.2-2元。

10、南孚电池,一板,5号的。

这个木有价格木有图。

11、洞洞板,初学者建议用面积比较大的,15cm*20cm的,别买太小的,不好焊接。

(话说我用的是9cm*12cm的,结果焊的时候那个纠结啊。

)稍微好点的8-16元,用单面覆铜的就行。

12、木板,用来做模具。

尽量找光滑的,容易打眼的,塑料板也行。

13、电烙铁,30W或40W的,如果有经济条件最好买防静电的,带焊台,手头不宽裕那就买十几块一个的普通电烙铁就行。

基于单片机的光立方设计

基于单片机的光立方设计

基于单片机的光立方设计一、前言光立方是一种利用LED灯组成的立方体,通过控制LED灯的亮灭来实现不同的效果。

在现代科技发展中,光立方已经成为了一种非常流行的DIY电子制作项目。

本文将介绍基于单片机的光立方设计。

二、材料准备1. 单片机:使用AT89C51或者AT89S52单片机2. 电容:1个16V 100uF电解电容,1个10V 100nF陶瓷电容3. 晶振:使用12MHz晶振4. LED灯:64颗RGB LED灯5. 面包板和杜邦线三、硬件设计1. 硬件连接图2. 硬件说明:(1)晶振连接:将晶振两端分别连接到单片机的XTAL1和XTAL2脚上,并且需要在晶振两端分别连接一个22pF陶瓷电容。

(2)复位电路连接:将复位开关连接到单片机的RST脚上,并且需要在RST脚上连接一个10KΩ上拉电阻。

(3)LED灯连接:将64颗RGB LED灯按照8*8的矩阵排列,并且需要将每个LED灯的正极连接到单片机的P0口,将每个LED灯的负极连接到GND上。

四、软件设计1. 软件流程图2. 软件说明:(1)初始化:在程序开始时,需要对单片机进行初始化操作,包括设置IO口方向、设置定时器等。

(2)显示模式:根据用户选择的不同模式,控制LED灯的亮灭来实现不同的效果。

(3)定时器中断:使用定时器中断来实现LED灯的闪烁效果。

五、总结基于单片机的光立方设计是一种非常有趣和有挑战性的DIY电子制作项目。

通过本文所介绍的硬件设计和软件设计,可以实现不同模式下LED灯的亮灭控制。

同时,这也是一个非常好的学习单片机编程和电子电路知识的机会。

光立方设计电路原理图

光立方设计电路原理图

光立方设计电路原理图7月的时候,做出了光立方,在杂志、网络发布以来,广受好评,这段时间来,收到很多网友的建议,因此决心把原有的光立方硬件升级,让电路更简单,程序更简洁,以前的设计是由16个IC驱动的,好处是有可切换的坐标系(详见《无线电》杂志第十期),但16个IC和128根连接线的工作量实在不小,虽然控制程序只有60多行,但硬件的复杂让很多初学者望而却步。

一直以来,我都在思考做什么样的设计给大家,就拿光立方来说,为了程序的简洁、易于理解,我的硬件电路不同于美国的原版设计,也因为8位单片机的局限性,这也是当时我能想到最好的解决方案。

程序的简化是硬件的复杂弥补的。

可是工作室的这种设计行吗?就效果而言是可行的,后来很多网友都仿做了出来,可我觉得不行。

美国原版的设计电路要比我的简单,那么有没有硬件更简单且程序更短的?抱着这种想法,我在11月初开始了设计,一周的时间,竟然完成了。

现在的光立方,硬件更简单,只有5个IC控制,不想用245的可以去掉,改为4个IC控制。

这样硬件电路焊接比起之前的设计,大为简化,连接线也由以前的128根改为72根(和美国原作一样)。

控制端口也有以前的三组改为2组16个。

程序不但没有加长,反而更加简短。

也不需要外接电源,USB供电即可。

我实物用的是手机充电器供电,5V500ma,效果很好。

这次的改进,唯一的缺点就是失去了可切换的坐标系,程序虽然简单,但需要一段时间理解。

接下来就是秉承工作室传统,开始图文解说。

因为改了硬件,动画代码应该也做修改的,以为工作繁忙,就没时间做这部分了,所以大家看到的图案是与之前比,是上下颠倒的,有耐心的同学自己可以修改动画字符,每行的动画字符左右对称调换位置即可。

这次的视频里,我特意修改的动画切换时间,而且这次也用的是非增强型单片机,就是想证明下,8位非增强型单片机,一样可以有这种效果,之前有网友评论说速度不够快,估计是没看程序就这么说了。

先是原理图(点击看高清源图):。

LED光立方制作

LED光立方制作

组装部分一,灯珠焊接最开始的金字塔,我给大家的方案是泡沫板,现在我把焊接灯珠的方式改进了,焊接速度更快、质量更好,方法如图:就是这个,用一张18X30CM的万能板,上面焊接上间距2.54的排针,用法如下图:横向的孔数是7个,纵向孔数是8个,这样焊接出来的灯珠间距就都是8个了一目了然,这样就把灯珠固定好了,如果管脚的弯折方法和我图片一样的话(朝下的是正极),那么最优的方法是从右到左,从上到下排放。

焊接我就不多说了,这个是最讲究的,虽然有这个模板焊接起来很方便,但焊锡一定要上好,否则开焊后还是很难搞的。

温度要适当,免得烧毁灯珠,一般情况下,能把焊锡刚好溶化时的温度即可。

用这种方法焊接出的点阵,要比用泡沫做模板的点阵质量更好,很少有开焊点,取下的点阵横平竖直,效率上也有了极大的提高。

焊接好的平面如图:二,灯珠组装在组装之前,先准备2张18X30cm的万能板,喷上黑色的喷漆,比较常用的那种,价格不贵,如图:再拿出个8×8的点阵,比划一下,量好裁剪的尺寸,用斜口钳剪切还是很方便的。

然后就需要给底板和侧板焊接弯排针,间距都是8个孔,朝向请自己把握,下面是我做的图:我想看了图后,大家都应该明白了,除了弯排针,还要给每个面的管脚都焊接上2.54的冷压端子,很容易的,东西也很便宜。

这样做的好处就是非常容易拆装,第一次的时候我用的是直排针,结果就很难组装,弯排针不会影响美观。

在组装之前,先要焊接底板和侧板焊接上连接线,如图:每个面都是有64根线,我用的是以前零散、没了头子的杜邦线,长度刚刚好够的,读者可以自己做线或者买成品,买成品我觉得也不贵,成品线的好处是,一端是8P的插座,另一端是裸线,直接焊接就好。

这个过程还是相当漫长的,我焊接512个灯珠用了三个下午,底板的焊接和接线同样是三个下午,可以说,老老实实的焊接的话,还是需要一周的时间的,我希望喜欢DIY的朋友们要有耐心,过程肯定是枯燥乏味的,但成功的喜悦也是难以言喻的。

光立方硬件详解

光立方硬件详解

3D cube 光立方制作详解原理部分很早以前,就有相关的视频资料,在国内各大视频网站出现,样式绚丽,也一直有很多玩家想放置,对于这个东西来说,本身技术不是很复杂,也不是很简单,更多的是需要耐心。

下面我就来详解一下如何打造一个属于自己的光立方。

拿8*8*8的光立方来说:我们可以拆分为8个面每个面64个灯;我只要控制这64个灯使其能够自由变换,然后再通过控制每个层依次点亮即可,由于我们眼睛的视觉暂留,使我们感觉看到的东西是一起再亮的。

这样我们就看到了一个完整的个体。

理解了原理;我们来设计电路;大家都知道,如果要控制8*8点阵,需要16个引脚,那么有8个8*8点阵,我再用8个引脚来当充当各个8*8点阵的“开关”即可。

那么我们的电路设计的基本原理知道了。

如何让一个引脚来当64个灯的“总开关”呢?只要将64个灯阳极或阴极连在一起,在连到这个引脚上即可。

那么如何用16个引脚来控制这64个灯的另外64个引脚呢?我采用了hc573暂存的方法,来分别把64个灯的亮灭信息存到这个上面,然后再一起输出到灯上,这样我们通过查询相应芯片的型号可以确定基本电路。

电路部分573的64个输出引脚控制前面所述每一个面的64个灯;而uln2008控制的每一个层。

同时要注意每个573输出的引脚对应的按顺序的x轴的8个引脚。

这样做完全了后期编写程序方便。

因为我们的动画是实时运算的,而且我所采用的紧紧是stc89c52系列单片机,它本身的运算速度有限。

焊接部分这里需要说的是,一定注意每个灯的焊接时间,和焊接整齐度,焊接整齐度直接影响整个制作效果。

每一层的二极管是共阴的。

如图所示,连在一起的是阴极,这样焊接起来。

我的方法是用一个木头板按照规则,扎64个孔然后把灯放到上面,一个一个焊接起来这样可以保障每一层的灯位置都是一样的而且各个灯之间排列是规则的。

最后通过架设支撑架的方式把各个层架起来,然后用电烙铁焊接起来。

Pcb板这里不过多说明,按照你焊接设计的规格设计pcb板。

4X4X4光立方完整制作过程

4X4X4光立方完整制作过程

第一步第一步、、根据原理原根据原理原、、元件清单和实物图片购买元器件元件清单和实物图片购买元器件,,单片机要安装管座单片机要安装管座。

名称参数名称参数 流水号流水号数量玻纤双面万能板5X7 WBS1 1 6X6X7轻触按键 S1, S22 红色F5二极管短脚 LED1~LED64 64 22.1184M 晶振 Y1 1 DC005电源座J16 1 CON4弯插单排插针 J15 1 IC 插座-DIP-40 IC11CON1直插单排圆孔排母J1, J2, J3, J4, J5, J7, J8, J9, J10, J11, J12, J13, J14, J17,J18, J19, J20, J21, J22, J23, J24 21STC12C5A60S-35I U1 1 3.5mm 立体声带开关耳机座J61 雾状蓝色F5二极管LED41, LED42, LED51, LED604第二步、根据图片焊接LED 矩阵2-折弯好灯3-直接按照距离插在万能板上面焊接3-全部焊接完在上下焊接正极5-然后把一排按照距离焊接好左右的负极每一层的负极连接在一起6-焊接出来的效果就是16个正极引到下面每一行的负极连接在一起然后负极引线到下面的四个接线柱第三步、根据正面装配图安装元器件1-先把背面的灯插好按照弧形线折弯引脚折弯在顶层插到弧形的另外一个孔2-插好并焊接固定好顶层的元器件第四步、根据反面焊接图进行走线。

将程序编译并下载到单片机中。

第五步、将程序编译并下载到单片机中#include "STC12C5A.H"#include <INTRINS.H> //包含延时头文件#define uint unsigned int#define uchar unsigned char#define nop() _nop_();_nop_();sbit AD=P1^0; //定义音频输入接口sbit K1=P1^2; //定义功能按键接口sbit K2=P1^4; //定义功能按键接口sbit K3=P3^5; //定义功能按键接口sbit K4=P3^6; //定义功能按键接口sbit VCC1=P1^5; //定义电源功能接口必须为高电平sbit VCC2=P1^7; //定义电源功能接口必须为高电平sbit VCC3=P3^2; //定义电源功能接口必须为高电平sbit VCC4=P3^4; //定义电源功能接口必须为高电平sbit L1=P0^3; sbit L2=P4^5; sbit L3=P2^4; sbit L4=P2^2; sbit H1=P0^5; sbit L5=P0^1; sbit L6=P4^6; sbit L7=P2^7; sbit L8=P2^0; sbit H2=P0^6; sbit L9=P0^0; sbit L10=P0^7; sbit L11=P2^6; sbit L12=P1^6; sbit H3=P4^4; sbit L13=P1^3; sbit L14=P0^4; sbit L15=P2^5; sbit L16=P3^3; sbit H4=P2^3;sbit LED3=P3^7; sbit LED4=P1^1;//定义脚底下4个受控制的LED灯-右下角高电平有效其余低电平有效unsigned char bdata dzzc0;sbit dzzc07=dzzc0^7;sbit dzzc06=dzzc0^6;sbit dzzc05=dzzc0^5;sbit dzzc04=dzzc0^4;sbit dzzc03=dzzc0^3;sbit dzzc02=dzzc0^2;sbit dzzc01=dzzc0^1;sbit dzzc00=dzzc0^0;unsigned char bdata dzzc1;sbit dzzc17=dzzc1^7;sbit dzzc16=dzzc1^6;sbit dzzc15=dzzc1^5;sbit dzzc14=dzzc1^4;sbit dzzc13=dzzc1^3;sbit dzzc12=dzzc1^2;sbit dzzc11=dzzc1^1;sbit dzzc10=dzzc1^0;unsigned char bdata dzzc2;sbit dzzc27=dzzc2^7;sbit dzzc26=dzzc2^6;sbit dzzc25=dzzc2^5;sbit dzzc24=dzzc2^4;sbit dzzc23=dzzc2^3;sbit dzzc22=dzzc2^2;sbit dzzc21=dzzc2^1;sbit dzzc20=dzzc2^0;unsigned char bdata dzzc3;sbit dzzc37=dzzc3^7;sbit dzzc36=dzzc3^6;sbit dzzc35=dzzc3^5;sbit dzzc34=dzzc3^4;sbit dzzc33=dzzc3^3;sbit dzzc32=dzzc3^2;sbit dzzc31=dzzc3^1;sbit dzzc30=dzzc3^0;//调整数字显示的数据用分别为变的1234// 4 dzzc6//3 2 dzzc7 dzzc5// 1 dzzc4unsigned char bdata dzzc4;sbit dzzc47=dzzc4^7;sbit dzzc46=dzzc4^6;sbit dzzc45=dzzc4^5;sbit dzzc44=dzzc4^4;sbit dzzc40=dzzc4^0;unsigned char bdata dzzc5;sbit dzzc57=dzzc5^7;sbit dzzc56=dzzc5^6;sbit dzzc55=dzzc5^5;sbit dzzc54=dzzc5^4;sbit dzzc53=dzzc5^3;sbit dzzc52=dzzc5^2;sbit dzzc51=dzzc5^1;sbit dzzc50=dzzc5^0;unsigned char bdata dzzc6;sbit dzzc67=dzzc6^7;sbit dzzc66=dzzc6^6;sbit dzzc65=dzzc6^5;sbit dzzc64=dzzc6^4;sbit dzzc63=dzzc6^3;sbit dzzc62=dzzc6^2;sbit dzzc61=dzzc6^1;sbit dzzc60=dzzc6^0;unsigned char bdata dzzc7;sbit dzzc77=dzzc7^7;sbit dzzc76=dzzc7^6;sbit dzzc75=dzzc7^5;sbit dzzc74=dzzc7^4;sbit dzzc73=dzzc7^3;sbit dzzc72=dzzc7^2;sbit dzzc71=dzzc7^1;sbit dzzc70=dzzc7^0;unsigned int CYCLE=100,PWM_LOW=1110,shan=0,saom=0,shuzi1=0,shuzi2=0,shuzi3=0,shuzi4=0;//定义周期并赋值unsigned char YL1=0,YL2=0,YL3=0,YL4=0,YL5=0,YL6=0,YL7=0,YL8=0,YL9=0,YL10=0,YL11=0,YL12=0,YL13=0,YL1 4=0,YL15=0,YL16=0;//高度值unsigned char lie=0,hang=0,ceng=0;unsigned char yinyue4X4[]= //定义4X4X4整个屏幕的显示数据,高电平有效,没有音乐的时候默认不亮{0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,};unsigned char code shuzu4X4[]= //定义4X4X4整个屏幕的显示数据,根据取字模软件进行提取高电平有效{0X00,0X00,//0帧0X00,0XFF,0X00,0X00,0X00,0X00,0XFF,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//1帧0X00,0XFF,0X00,0X00,0X00,0X00,0XFF,0X00,0X00,0X00,0X00,0XFF,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//2帧0X00,0XFF,0X00,0X00,0X00,0X00,0XFF,0X00,0X00,0X00,0X00,0XFF,0X00,0X00,0X00,0X00,0XFF,0X00, 0X00,0X00,//3帧0X00,0XFF,0XFF,0X00,0X00,0X00,0XFF,0XFF,0X00,0X00,0X00,0XFF,0XFF,0X00,0X00,0X00,0XFF,0XFF, 0X00,0X00,//4帧0X00,0XFF,0XFF,0XFF,0X00,0X00,0XFF,0XFF,0XFF,0X00,0X00,0XFF,0XFF,0XFF,0X00,0X00,0XFF,0XFF, 0XFF,0X00,//5帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0XFF ,0XFF,0XFF,//6帧0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//7帧0X00,0X00,0X00,0X4F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//8帧0X00,0X00,0X00,0X2F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//9帧0X00,0X00,0X2F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//10帧0X00,0X00,0X4F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//11帧0X00,0X00,0X8F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//12帧0X00,0X00,0X0F,0X8F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//13帧0X00,0X00,0X0F,0X0F,0X8F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//14帧0X00,0X00,0X0F,0X0F,0X4F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//15帧0X00,0X00,0X0F,0X0F,0X2F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//16帧0X00,0X00,0X0F,0X0F,0X1F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//17帧0X00,0X00,0X0F,0X1F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//18帧0X00,0X00,0X1F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//19帧0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//20帧0X00,0X2F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//21帧0X00,0X4F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//22帧0X00,0X8F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X8F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//25帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X8F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//26帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X8F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//27帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X4F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//28帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X2F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//29帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X1F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//30帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X1F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//31帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X1F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//32帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//33帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X2F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//34帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X4F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//35帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X4F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//36帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X4F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//37帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X2F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//38帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X2F,0X0F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//39帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X2F,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//40帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X4F,0X00,0X00,0X00,0X00,0X00,0 X00,0X00,//41帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X0F,0X4F,0X00,0X00,0X00,0X00,0 X00,0X00,//42帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X0F,0X2F,0X00,0X00,0X00,0X00,0 X00,0X00,//43帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X0F,0X1F,0X00,0X00,0X00,0X00,0 X00,0X00,//44帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X1F,0X0F,0X00,0X00,0X00,0X00,0 X00,0X00,//45帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X1F,0X0F,0X0F,0X00,0X00,0X00,0X00,0 X00,0X00,//46帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X2F,0X0F,0X0F,0X00,0X00,0X00,0X00,0 X00,0X00,//47帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X4F,0X0F,0X0F,0X00,0X00,0X00,0X00,00X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X8F,0X00,0X00,0X00,0 X00,0X00,//52帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X4F,0X00,0X00,0X00,0 X00,0X00,//53帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X2F,0X00,0X00,0X00,0 X00,0X00,//54帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X1F,0X00,0X00,0X00,0 X00,0X00,//55帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X1F,0X0F,0X00,0X00,0X00,0 X00,0X00,//56帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X00,0 X1F,0X00,//57帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X00,0X1F,0 X0F,0X00,//58帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X1F,0X0F,0 X0F,0X00,//59帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X2F,0X0F,0 X0F,0X00,//60帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X4F,0X0F,0 X0F,0X00,//61帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X8F,0X0F,0 X0F,0X00,//62帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X8F,0 X0F,0X00,//63帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X8F,0X00,//64帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X8F,0X00,//65帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X8F,//66帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X4F,//67帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X2F,//68帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X1F,//69帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X1F,0X0F,//70帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X1F,0 X0F,0X0F,//71帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X2F,0 X0F,0X0F,//72帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X6F,00X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//77帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0XEF,0XEF,0X0F,0X00,0X0F,0XEF,0XEF,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//78帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0XFF,0XFF,0X0F,0X00,0X0F,0XFF,0XFF,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//79帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X0F,0XFF,0XFF,0X0F,0X00,0X0F,0XFF,0XFF,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//80帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X0F,0XFF,0XFF,0X0F,0X00,0X0F,0XFF,0XFF,0X0F,0X00,0X0F,0X6F, 0X6F,0X0F,//81帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X0F,0XFF,0XFF,0X6F,0X00,0X0F,0XFF,0XFF,0X6F,0X00,0X0F,0X6F, 0X6F,0X0F,//82帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X0F,0X6F, 0X6F,0X0F,//83帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X0F,0X6F, 0X6F,0X0F,//84帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X0F,0X6F, 0X6F,0X0F,//85帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X0F,0X6F, 0X6F,0X0F,//86帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X0F,0X6F, 0X6F,0X0F,//87帧0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X6F,0XFF,0XFF,0X6F,0X00,0X0F,0X6F, 0X6F,0X0F,//88帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X0F,0X6F,0X6F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//89帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0XCF,0XCF,0X0F,0X00,0X0F,0XCF,0XCF,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//90帧0X00,0X0F,0XCF,0XCF,0X0F,0X00,0X0F,0XCF,0XCF,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//91帧0X00,0X0F,0X0F,0XCF,0XCF,0X00,0X0F,0X0F,0XCF,0XCF,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//92帧0X00,0X0F,0X0F,0X6F,0X6F,0X00,0X0F,0X0F,0X6F,0X6F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//93帧0X00,0X0F,0X0F,0X3F,0X3F,0X00,0X0F,0X0F,0X3F,0X3F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//94帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X3F,0X3F,0X00,0X0F,0X0F,0X3F,0X3F,0X00,0X0F,0X0F,0 X0F,0X0F,//95帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X3F,0X3F,0X00,0X0F,0X0F,0 X3F,0X3F,//96帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X3F,0X3F,0X0F,0X00,0X0F,0X3F,0 X3F,0X0F,//97帧0X0F,0X0F,//101帧0X00,0XCF,0XCF,0X0F,0X0F,0X00,0XCF,0XCF,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//102帧0X00,0X6F,0X6F,0X0F,0X0F,0X00,0X6F,0X6F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//103帧0X00,0X3F,0X3F,0X0F,0X0F,0X00,0X3F,0X3F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//104帧0X00,0X0F,0X3F,0X3F,0X0F,0X00,0X0F,0X3F,0X3F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//105帧0X00,0X0F,0X0F,0X3F,0X3F,0X00,0X0F,0X0F,0X3F,0X3F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//106帧0X00,0X0F,0X0F,0X6F,0X6F,0X00,0X0F,0X0F,0X6F,0X6F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//107帧0X00,0X0F,0X0F,0XCF,0XCF,0X00,0X0F,0X0F,0XCF,0XCF,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//108帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0XCF,0XCF,0X00,0X0F,0X0F,0XCF,0XCF,0X00,0X0F,0X0F, 0X0F,0X0F,//109帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0XCF,0XCF,0X00,0X0F,0X0F, 0XCF,0XCF,//110帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0XEF,0XEF,0XEF,0X00,0X0F,0XEF, 0XEF,0XEF,//111帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0XEF,0XEF,0XEF,0X00,0X0F,0XEF,0XEF,0XEF,0X00,0X0F,0XEF ,0XEF,0XEF,//112帧0X00,0XFF,0X1F,0X1F,0X1F,0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X1F,0X0F,0 X0F,0X0F,//113帧0X00,0X7F,0X1F,0X1F,0X0F,0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//114帧0X00,0X3F,0X1F,0X0F,0X0F,0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//115帧0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//116帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//117帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0XFF,0XFF,0 XFF,0XFF,//118帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0XFF,0XFF,0XFF,0XFF,0X00,0X0F,0X0F, 0X0F,0X0F,//119帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0XFF,0XFF,0XFF,0XFF,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//120帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//121帧0X1F,0X1F,//125帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0X1F,0X1F,0X1F,0XFF,0X00,0X1F,0X1F,0X1F,0XFF,0X00,0X1F,0X1F, 0X1F,0XFF,//126帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0X1F,0X1F,0XFF,0X1F,0X00,0X1F,0X1F,0XFF,0X1F,0X00,0X1F,0X1F, 0XFF,0X1F,//127帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0X1F,0XFF,0X1F,0X1F,0X00,0X1F,0XFF,0X1F,0X1F,0X00,0X1F,0XFF, 0X1F,0X1F,//128帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F, 0X1F,0X1F,//129帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F, 0X1F,0X1F,//130帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F, 0X1F,0X1F,//131帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F, 0X1F,0X1F,//132帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F, 0X1F,0X1F,//133帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0XFF,0X5F,0X1F,0X00,0XFF,0X1F, 0X1F,0X1F,//134帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X5F,0X1F,0X1F,0X00,0XFF,0X5F,0X5F,0X1F,0X00,0XFF,0X5F, 0X1F,0X1F,//135帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0XFF,0X5F,0X1F,0X00,0XFF,0X1F, 0X1F,0X1F,//136帧0X00,0XFF,0XFF,0XFF,0X7F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0X7F,0X1F, 0X1F,0X0F,//137帧0X00,0XFF,0XFF,0X7F,0X3F,0X00,0XFF,0X1F,0X1F,0X1F,0X00,0X7F,0X1F,0X1F,0X0F,0X00,0X3F,0X1F,0 X0F,0X0F,//138帧0X00,0XFF,0X7F,0X3F,0X1F,0X00,0XFF,0X1F,0X1F,0X0F,0X00,0X7F,0X1F,0X0F,0X0F,0X00,0X3F,0X0F,0 X0F,0X0F,//139帧0X00,0XFF,0X7F,0X3F,0X1F,0X00,0X7F,0X1F,0X1F,0X0F,0X00,0X3F,0X1F,0X0F,0X0F,0X00,0X1F,0X0F,0 X0F,0X0F,//140帧0X00,0X3F,0X3F,0X1F,0X0F,0X00,0X3F,0X1F,0X0F,0X0F,0X00,0X1F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//141帧0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F,0 X0F,0X0F,//142帧0X00,0XFF,0X0F,0X0F,0X0F,0X00,0XFF,0X0F,0X0F,0X0F,0X00,0XFF,0X0F,0X0F,0X0F,0X00,0XFF,0X0F, 0X0F,0X0F,//143帧0X00,0XFF,0XFF,0X0F,0X0F,0X00,0XFF,0XFF,0X0F,0X0F,0X00,0XFF,0XFF,0X0F,0X0F,0X00,0XFF,0X0F, 0X0F,0X0F,//144帧0X00,0XFF,0XFF,0XFF,0X0F,0X00,0XFF,0XFF,0XFF,0X0F,0X00,0XFF,0XFF,0X0F,0X0F,0X00,0XFF,0X0F, 0X0F,0X0F,//145帧0X0F,0X0F,//149帧0X00,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0XFF,0XFF,0X0F,0X00,0XFF,0XFF,0X0F,0X0F,0X00,0XFF,0X0F, 0X0F,0X0F,//150帧0X00,0XCF,0XCF,0X0F,0X0F,0X00,0XCF,0XCF,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//151帧0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0X0F,0X0 F,0X0F,0X0F,//152帧0X00,0XFF,0X9F,0X9F,0XFF,0X00,0XFF,0X9F,0X9F,0XFF,0X00,0XFF,0X9F,0X9F,0XFF,0X00,0XFF,0X9F, 0X9F,0XFF,//153帧0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0X0F,0X0 F,0X0F,0X0F,//154帧0X00,0XCF,0XCF,0X0F,0X0F,0X00,0XCF,0XCF,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//155帧0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0X0F,0X0 F,0X0F,0X0F,//156帧0X00,0XFF,0X9F,0X9F,0XFF,0X00,0XFF,0X9F,0X9F,0XFF,0X00,0XFF,0X9F,0X9F,0XFF,0X00,0XFF,0X9F, 0X9F,0XFF,//157帧0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0XEF,0XAF,0XEF,0X0F,0X00,0X0F,0X0 F,0X0F,0X0F,//158帧0X00,0XCF,0XCF,0X0F,0X0F,0X00,0XCF,0XCF,0X0F,0X0F,0X00,0X0F,0X0F,0X0F,0X0F,0X00,0X0F,0X0F, 0X0F,0X0F,//159帧0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,//160帧};void Delay(unsigned int t){while(--t);}void init(){P4SW=0xff; //定义P4口为I/O口P0M1=0x00; //I/O口0模式控制器0 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0P0M0=0xff; //定义P0为强上拉输出.P1M1=0x01;P1M0=0xfe; //定义P1为强上拉输出. P.14作为AD此时不能作为强上蜡P2M1=0x00;P2M0=0xff; //定义P2为强上拉输出.P4M0=0xff; //定义P4为强上拉输出.}void hansao(unsigned char hs,unsigned char shangxia){if(shangxia==0){if(hs<5) //判断hs的值是否在行扫描的值范围内,不在范围内不执行任何操作{if(hs==0) //选通第1行//作为控制显示高度的时候调用{H1=1;H2=1;H3=1;H4=1;H5=0; return;}if(hs==1) //选通第2行{H1=1;H2=1;H3=1;H4=0;H5=1; return;}if(hs==2) //选通第3行{H1=1;H2=1;H3=0;H4=1;H5=1; return;}if(hs==3) //选通第4行{H1=1;H2=0;H3=1;H4=1;H5=1; return;}if(hs==4) //选通第5行{H1=0;H2=1;H3=1;H4=1;H5=1; return;}}}else if(shangxia==1){if(hs<5) //判断hs的值是否在行扫描的值范围内,不在范围内不执行任何操作{if(hs==0) //选通第1行//平时的时候调用这个显示其他图形和变化{H1=0;H2=1;H3=1;H4=1;H5=1; return;}if(hs==1) //选通第2行{H1=1;H2=0;H3=1;H4=1;H5=1; return;}if(hs==2) //选通第3行{H1=1;H2=1;H3=0;H4=1;H5=1; return;}}if(hs==4) //选通第5行{H1=1;H2=1;H3=1;H4=1;H5=0; return;}}}}void main(){unsigned int donghua=0;init(); //初始化IO口为强上蜡输出状态VCC1=1;VCC2=1;VCC3=1;VCC4=1;LED4=1; //关闭开机时候的状态使单片机没有任何反应LED4通电不初始化会亮可以作为电源指示灯while (1){//26//////////////////////////////////上位机生成动画数据控制光立方LED灯显示////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////数据直接利用上位机去摸取好之后赋值到定义的数组里面shuzu4X4//8421的数据分别为L1L2L3L4,然后第一行的数据分别为数组的第一个数据从上面到下面数0-5//H1-H2-H2-H4-H5//H6-H7-H8-H9-H10//H11-H12-H13-H14-H15//H16-H17-H18-H19-H20for(CYCLE=0;CYCLE<3000;CYCLE++){for(saom=0;saom<5;saom++){dzzc0=shuzu4X4[saom+donghua*20]; //将第一个需要分配的数据赋值个为变量进行分配给L1-L4 L1=dzzc07;L2=dzzc06;L3=dzzc05;L4=dzzc04;dzzc1=shuzu4X4[saom+donghua*20+5]; //将第一个需要分配的数据赋值个为变量进行分配给L5-L8 L5=dzzc17;L6=dzzc16;L7=dzzc15;L8=dzzc14;dzzc2=shuzu4X4[saom+donghua*20+10]; //将第一个需要分配的数据赋值个为变量进行分配给L9-L12 L9=dzzc27;L10=dzzc26;L11=dzzc25;L12=dzzc24;dzzc3=shuzu4X4[saom+donghua*20+15]; //将第一个需要分配的数据赋值个为变量进行分配给L13-L16L13=dzzc37;L14=dzzc36;L15=dzzc35;L16=dzzc34;hansao(saom,0);Delay(2);H1=1;H2=1;H3=1;H4=1;H5=1;}}{donghua=0;}////////////////////////////////////////////////////////////////////////////////////////////////////////////// }}。

8阶光立方的制作

8阶光立方的制作

8阶光立方的制作摘要光立方是一个电子工程方面DIY的绝好实例,不管国内国外都有非常多的爱好者。

它同时要求制作者具有软硬件设计及手工制作等多方面的能力,目前youtube上最大的DIY光立方是32阶全彩光立光,引脚数多达131,072个,这对于个人来说绝对算是个大型的工程了。

要制作出一个漂亮的光立方,除了电路设计与程序设计,辅助工具设计也很重要,缺少它甚至是无法完成整个制作的。

另一方面,很多验证性工作也属于辅助设计,理论往往与实际会有很大的出入,这时就需要一步步去验证原始设计。

网络上大多参考资料都只是一个制作记录,并没有详细分析为什么要这么做,是否还有其它的实现方法等等。

因此,在遇到不同的实际环境的时候,出了问题却往往找不到原因在哪里,这就造成很多的困惑。

本文试着从设计原理的角度来分析如何做一个8阶单色光立方,以及记录在制作过程当中遇到的各种问题与解决办法。

控制芯片采用STC MCU,输出为串口转并口,驱动芯片选用东芝16位移位寄存器,3个级联达48位并口输出,512个LED使用16*32矩阵接法。

目录1 准备篇1.1设计框架1.2 主芯片选型1.3 所需工具材料2设计篇2.1 电路设计2.2 程序设计2.3辅助工具设计3 完善篇3.1 迭代3.2 功能扩展1 准备篇光立方,由若干个LED以立方体的形式搭建而成。

最常见的为8*8*8(512个LED),8阶光立方,也叫cube8。

当灯按照一定的规则依次变换点亮的时候,可以产生十分唯美的灯光效果图,现在大多随着动感的音乐节奏一起变化,声色交错,让人赏心悦目。

1-1光立方(蓝光)——cube8效果图1.1 设计框架第一个需要思考的问题是:如何连接这512个灯?有个前提条件需要满足:每个灯都必须可以单独点亮。

那么,任何两个灯都不可以串联。

最直接的办法是并联这512个灯,共阳或者共阴,然后提供512个输出。

但这样做至少有两个非常大的缺点:首先,一般情况下无论是MCU、ARM、FPGA都无法提供这么多输出位,即使是使用多个16位移位寄存器,那么也需要32个,这无论在成本还是在实际焊接都十分不划算;其次,就算512个输出位不是问题,因为是立方体形式,线路之间会存在互相遮挡,所以,必须要求连接线路最少,显然,直接并联是最傻的情况。

3D16光立方DIY教程

3D16光立方DIY教程

史上最牛逼16x16x16光立方3D16的DIY教程首先解析一下标题,对比一下3D16跟普通光立方的区别:1,目前市面上买得到的套件或者自行DIY都只有8*8*8,这个光立方是16*16*16,而且底板是一整块40cm*40cm的PCB板,绝对是最大的。

2,一般DIY8*8*8只需要512个LED,而16*16*16需要4096个LED,绝对是LED最多最大的立方。

3,普通立方只能显示数字,或者字母,3D16可以显示汉字,可以把你心中想表达的任何语言通过立方显示出来。

4,还有很多,但最牛逼的不是这些。

5,最牛逼的是,普通立方如果需要修改动画或者显示的字幕,需要通过字幕软件做好字幕,然后修改代码,这个3D16只需要在电脑动画仿真软件上做好字幕,并可以电脑仿真,然后将仿真结果导出到光立方实体,就可以让实体显示跟仿真一模一样的动画,从此告别修改程序,让玩转光立方变得更加简单。

只要将它DIY出来,从此将不再被超越。

来吧,一起见证他有多牛逼,,,,,,,,仿真软件已开放,请到QQ群187644297文件共享里面下载。

乐涛工作室3D16光立方初步演示视频地址如下:/v_show/id_XNjU5Mzg4NzY0.html乐涛工作室3D16光立方仿真软件演示视频地址如下:/v_show/id_XNjU5NDE2NTY4.html先秀一下牛逼的实体,一起16*16*16=4096个灯,绝对一个都不少,绝对一个一个焊接,焊接完那一天好激动,好激动,这绝对是我有史以来干过在伟大的一件事,我搞过高档功放,搞过单片机,搞过arm平台,甚至开发过平板电脑画过8层的PCB,但从来没这么激动,,,活生生的把4096个LED的腿折弯,在把它焊接成一排一排,再焊接成一层一层,再,,,就over了,,,然后看一下牛逼的的光立方仿真软件仿真出来的效果:再来看看实际效果。

只需要通过电脑仿真软件做好动画,再导出数据文件,就得到了hex文件,然后下载到光立方,,,,一切就ok了,,,,完事了,,,各种happy,各种惊喜,,各种快乐,,,永远的快乐,,,,,,,,,,,,,,这时候对比一下8*8*8与16*16*16的区别,绝对没有鄙视8*8*8的意思,只是焊完的时候放到一起觉得很happy,传说中那句弱爆了的感觉,,终于体会到了,,,,,,下面还是先介绍怎么制作,毕竟所有的快乐都是基于先有光立方实体,,所以还是先短暂的痛苦一会,,但我相信绝对是痛并快乐着,,,,,,这个大家都认识,绝对是很普通的木板,,一起是16*16=256个洞,,,,,,下面是底板,整块的底板,尺寸约40cm*40cm然后是数不清的灯,不用数了,反正一会是焊不完的,,,,,然后还是跟以前一样,把短的那个脚折90度,一定要是那个短的脚,负极,如果搞错了,那么,,,恭喜你00,,望着哭吧,,,,,,然后就这样copy一堆灯,,搞完需要四包多一点的灯,,慢慢折,,,,然后,把灯照这样插进去,,,,插成一排,,两排,,,,,,然后很多排,,数不清的排,,,,,,,,,直到整个木板插满,,,,,,,然后开始焊接,,就这样一个一个搭着焊接,,,,,,,直到整个木板每一条都焊完,,一起也才256个点,,,,,,,然后用一个2mm后的亚克力条,或者尺子也可以,尽量2mm后,,,。

光立方 (2)

光立方 (2)

电子课程设计——光立方学院:电子信息工程学院专业、班级:姓名:学号:指导教师:李小松2013年12月一:设计任务和要求 (2)二:总体框图和所用到的器件 (9)三:器件选择 (11)四:功能模块 (13)五:总体pcb图: (15)六:实物图及心得体会 (16)一:设计任务和要求光立方顾名思义是一个立方体,我采用的是8*8*8的模式,主要分为三个都是纯手工焊接。

采用的主控芯片STC15F2K60S2芯片,驱动电路是采用我们常用的74HC573数字芯片。

利用512个LED组成的8x8x8的立方体结构,每层共64个LED采用共阴的接法,一共8层,利用锁存器74HC573与驱动器ULN2803的硬件组合而成。

用控制器控制焊接好的8*8*8光立方是之显示不同的图案,具体步骤如下:1.将8*8*8个发光二极管焊接好。

焊接方法如下:1.先将二极管弯曲成如图1-1-1所示形状阳极,先弯曲90度,在弯曲90度。

这样做是为了和上面的二极管连接时做到无缝隙。

阴极,直接弯曲90度。

这样做为了和横排的二极管相连接。

进行八次上诉焊接后接下来就是将8束的LED焊接起来。

在从点到线时是将所有LED的阴极连在一起,而这次则是将所有LED阳极弯折并依次连接,焊接好的二极管示意图如图1-1-1所示。

注意:由于焊接过程中将产生静电容易将LED烧坏,因此本项工作完成后请认真检查每个灯的好坏,可以用万用笔等工具检测。

图1-1-1 二极管的弯曲示意图2.将八个一组的二极管阴极连到一起,依次焊接。

焊接时最好放在模板上。

这样可以保证灯之间的距离。

否则在进行搭焊时,容易不匹配进行八次上诉焊接后接下来就是将8束的LED焊接起来。

在从点到线时是将所有LED的阴极连在一起,而这次则是将所有LED 阳极弯折并依次连接,连接好的二极管如图1-1-2所示,注意:由于焊接过程中将产生静电容易将LED烧坏,因此本项工作完成后请认真检查每个灯的好坏,可以用万用笔等工具检测。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

你首先拿到套件:
先上四个柱子固定,平衡。

焊接瓷片电容和晶振
/**聚强电子**
**淘宝店铺http://juqiang.taobao.com **
**淘宝店铺http://shop65395757.taobao.com **智能小车系列 各种电子模块 竞赛模块多种DIY资料 单片机 电子学习资料电子学习 竞赛 爱好者的家园*/
焊接单片机的座子和复位电容
焊接复位电路的电阻
注意用万用表测一下阻值
焊接指示灯和开关
焊接好按键
焊插针和电源座
剪去多余的引脚
插针,剪出来。

焊插针
剪出来的
焊完插针。

不错哦,还蛮整齐的。

小小自恋一下。

还算整齐吧。

背面图。

上电测试。

呼吸灯正常,测试通过。

下面就是焊灯的部分了。

然后,然后焊接好了8层。

最后就是叠起来了。

所有的正极要焊接一起的哦。

今天先发这么多、接着搭
搭第一层
其实有个人搭把手会方便点。

如果没人搭把手,DIY达人自己搭一个架子吧。

中间各种艰辛。

搭建完成了。

相关文档
最新文档