光立方自己文件.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

原理部分

很早以前,就有相关的视频资料,在国内各大视频网站出现,样式绚丽,也一直有很多玩家想放置,对于这个东西来说,本身技术不是很复杂,也不是很简单,更多的是需要耐心。下面我就来详解一下如何打造一个属于自己的光立方。

拿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板。最后灯要能正好插入每一个孔即可:

有耐心可以用洞洞板按照电路图焊接:

代码部分

因为代码过长不适合直接贴到论坛,所以放到附件上,大家可以下载也可以留邮箱,发站内信,都可以。

下面我只粘贴主函数部分代码,有点搞笑~~~

voidmain()

{

sinter();

clear(0);

/*playlist*/

flash_1();

clear(0);

flash_2();

flash_3();

flash_4();

flash_4();

flash_5();

//flash_5();

//flash_6();

//flash_7();

//flash_8();

//flash_9();

//flash_10();

//clear(0);

//flash_11();

//flash_9();

//flash_5();

//flash_7();

//flash_5();

//flash_6();

//flash_8();

//flash_9();

//flash_10();

while(1);

文档评论(0)

专职从事安全评价,应急预案,安全生产标准化,涉路安全评价,管道跨越专项安全评价,社会稳定风险分析,安全咨询等。

1亿VIP精品文档

相关文档