从一师兄那拿来的,东西是师兄自己做的,觉得特有才一人,只是进了互联网公司,感觉做嵌入式更适合他~~~
Powered by lihui & Liusheng @2012, Shenyang

太过技术了,写给自己留着看的,不懂的可绕行,确实有些头大。^_^
      在对最陌生的模电部分进行完仿真测试之后,8X8X8光立方的软硬件方案终于最终定了下来,开始进行下一阶段的工作了:焊接调试以及最后的软件编写:硬件部分的工作仅占整个工作量的20%,大量的工作主要集中在软件部分。
       该方案是在国外一牛人基础上改进得来的,网址是:http://www.instructables.com/id/Led-Cube-8x8x8/,文档非常长,pdf版的需要注册付费(一年几十美元貌似),我就一页页的带图全给整理了下来,改进主要集中在一下几个方面:首先是LED IO驱动上,该网站上的作法是采用574锁存器、AVR灌电流直接驱动LED,最大电流只有400mA,而我全部改为AVR控制三极管驱动,最大电流可以达到1200mA,亮度会大大提高;其次是硬件上有所改进,比如采用PVC板材代替木板底座,最后封装起来乱七八糟的线路,最后做出来的是一个简洁、漂亮的艺术品,而不仅仅是一件布满导线的电子怪物,还比如我使用了雾面代替了草帽型的LED灯珠,前者光线更柔和,散光性更好,自然也更漂亮;

还有就是增加音乐立方这一功能,就是将电脑或者MP3播放器播放的音乐频谱给显示出来,类似于千千静听的音频显示:
                                               

 如下为光立方的整体框架图:
                  
 
        光立方硬件部分分为基础单元和扩展单元,当前主要工作集中在基础单元,包括ATmega16以及ATmega128可插拔MCU最小系统控制板、音频输入放大部分、光立方驱动电路板和LED光立方主体。在基础单元上留出串口和相应的IO口,可以通过电脑或者adruino直接控制光立方显示,因为如果想显示出更绚丽的图案,需要浮点计算神马的,AVR单片机无法胜任而且空间也有限,只有借助PC机的强大威力了。
         在功能上,光立方应至少有以下四种模式:夜灯、图像播放、音乐立方、PC机外接控制模式;在接口及按键上,遵循简洁实用的原则,一个电源按钮(小红帽)、一个模式选择按键,若干个插槽:USB、音频、AVR SPI编程、电源口。
                               NO1 8X8X8光立方LED主体


 
    共512个LED灯珠,加上支撑钢丝共约有1500个焊点,绝对是个挑战,好在刘博的鼎力支持,为我减少不少负担,在此表示感谢。最后差不多用完了大半卷焊锡,花了将近一天多的时间。
                                           NO2 IO驱动单元
      基本元件是电阻、三极管、74HC574锁存器、74HC138三八译码器,通过锁存、译码实现多路复用实现8个IO口控制64个输出端口。
         电路图入下:

         考虑到焊点太多以及散热性要求,准备在下面这块硕大的洞洞板上完成IO驱动板的焊接。
                             

                                               
                                           NO3 MCU单元
       为提高整个系统的可扩展性,计划单独做一个AVR单片机的最小系统,分为ATmega16和ATmega128两个版本的,两者的差别就在于内存大小分别是16K和128K,另外128版的是贴片的64引脚,这一部分不采用洞洞板,而是热转印自制电路板,这一部分工作主要有刘博完成,也跟着刘博学习下热转印法自制电路板^_^,这里顺带记录一下详细步骤,备以后参考。
1.用Altium Designer软件绘制出PCB板

2.将电路图用激光打印机打印到热转印纸上
                          

3.准备好电熨斗(刘博30块钱包邮的电熨斗很给力啊^_^)
                                     

4.将打印出的电路图放置于覆铜板上,用电烙铁反复烫熨,直至油墨全部转移到铜板上
                                    

5.15分钟烫好后,撕掉转印纸:油墨全部被烫到了铜板上!
                   

6.将某些断线用油性笔补齐
                    

7.准备好饭盒、开水、腐蚀剂,开始腐蚀电路板
                            

8.腐蚀完毕,取出,看,多漂亮!  
                       

9.再来一张,awesome ^_^!
                         

10.除去附着在铜上的油墨
                         

11.最后一块DIY的电路板终于完成了,感谢刘博的辛勤努力,这里有掌声^_^
                     
                                     
                                                NO4 音乐立方的实现
      如何将音乐的频谱给提取出来然后在光立方上显示出来,这个问题我想了很久,也在网上搜了不少资料,最终得到两套可行的方案:
     我们都知道,人的声音频率范围是20HZ-20KHZ,因此第一种可以使用放大器配合电阻电容组合而成的带通滤波器将音频各个频段的电压信号给分离出来送MCU处理控制光立方的显示,缺点是涉及模电的知识较多,而我模电那点儿东西早还给老师了,而且需要的器件较多(若是64路则需要16个LM324放大器),故对此法不是最优。 
       

第二种是先将声音放大(音频输出的电压信号通常只有0~0.5V左右),送入AVR进行AD转换,转换后的若干个数据再在AVR单片机中用软件进行FFT快速傅里叶变换以实现波形的时域表示到频域表示的变换,得到期望的各个频段的值输出显示,主要难点是快速傅里叶变换需要大量浮点计算,AVR恐难以胜任,不过还是有解决方案的,就是将频繁用到的sin和cos的值作为数组存入内存,使用时只需按下标查找即可,这个我在国外开源网站http://sourceforge.net/网站上找到了AVR可用的相关源码,所以软件部分应该不是问题。
       声音除杂、滤波这块工作设计模电的知识,没办法,还是躲不过,只好把本科模电学过的集成运放的知识又给温习了下,准备把0.5V的音频输出放大到5V,即放大10倍,使用LM324,配合电阻电容组成闭环反向放大器,如下图,只需选取Rf=10K, Rin=1K,即可实现10倍放大目标。
                                  
                                                      运放的反相闭环基本放大电路
 
        模电的东西心里总是没谱,手边没有示波器,只好硬着头皮临时学了下Multisim,使用Multisim仿真了下看自己规划的电路能否实现除杂、放大的功能,毕竟一旦焊到电路板上可就不好改了:
 
仿真结果:当输入20MHZ的高频(模拟高频噪声)正弦波信号时,输出衰减了很多倍(图中中线附近很平的细红线),符合预期


仿真结果:当输入200HZ低频(模拟正常声音),输出信号被放大了10倍(图中高幅度的为输出信号,有90度的相移),That’s what I want!

8X8X8光立方整体框架设计技术细节相关推荐

  1. Dubbo 框架设计与源码解读(配置解析优先级、线程分配、负载均衡、容错方案)

    整体框架设计 图例说明: 图中左边淡蓝背景的为服务消费⽅使⽤的接⼝,右边淡绿⾊背景的为服务提供⽅使⽤的接⼝,位于中轴线上的为双⽅都⽤到的接⼝. 图中从下⾄上分为⼗层,各层均为单向依赖,右边的⿊⾊箭头代 ...

  2. 框架设计的局部与整体

    框架设计的局部与整体 second60  20180417 1. 例子引出 在框架设计中,很多总和分的问题需要处理,即局部与整体的问题.所以要有很好的扩展性.是框架设计中的重点之一. 举个例子 1.1 ...

  3. recv返回的数据过大 易语言_高性能数据传输系统的框架设计

    1 引言 随着互联网和物联网的高速发展,使用网络的人数和电子设备的数量急剧增长,其也对互联网后台服务程序提出了更高的性能和并发要求.本文的主要目的是阐述在单机上如何进行高并发.高性能消息传输系统的框架 ...

  4. 高性能数据传输系统的框架设计

    1 引言 随着互联网和物联网的高速发展,使用网络的人数和电子设备的数量急剧增长,其也对互联网后台服务程序提出了更高的性能和并发要求.本文的主要目的是阐述在单机上如何进行高并发.高性能消息传输系统的框架 ...

  5. 基于Hadoop的大数据平台实施记——整体架构设计[转]

    http://blog.csdn.net/jacktan/article/details/9200979 大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底 ...

  6. 《精通自动化测试框架设计》—第2章 2.3节测试数据交互基本方法

    本节书摘来自异步社区<精通自动化测试框架设计>一书中的第2章,第2.3节测试数据交互基本方法,作者陈冬严 , 邵杰明 , 王东刚 , 蒋涛,更多章节内容可以访问云栖社区"异步社区 ...

  7. 对接接口文档_接口自动化测试框架设计思路

    接口自动化测试--框架设计思路 1 前言 之前文章跟大家分享了一下自己在接口自动化测试中进行测试准备的一些相关知识点,接下来本篇文章详细分享一下接口自动化框架设计的思路总结,希望能对初次探索接口自动化 ...

  8. V4L2 driver(一). 整体框架

    1.1 从字符设备说起 熟悉v4l2用户空间编程的都知道, v4l2编程主要是调用一系列的ioctl函数去对v4l2设备进行打开, 关闭, 查询, 设置等操作. v4l2设备是一个字符设备, 而且其驱 ...

  9. Dubbo框架设计原理

    框架设计 参考文档 http://dubbo.apache.org/zh-cn/docs/dev/design.html 整体分为三层 Business 业务逻辑层,只有一层Service 面向接口编 ...

最新文章

  1. PyTorch 51.BatchNorm和Dropout层的不协调现象
  2. GitHub 致歉:请再爱我们一次!
  3. sortable vue 排序_VUE +element el-table运用sortable 拖拽table排序,实现行排序,列排序...
  4. idea怎么提交到dev分支_IDEA设置git提交分支
  5. response.sendRedirect使用注意事项 .
  6. Visual C# 2005 - 如何于DataGridView控件中以跨数据行方式显示数据
  7. ijkplayer之.so文件编译过程
  8. 系统学习机器学习之增强学习(五)--马尔可夫决策过程策略TD求解(SARSA)
  9. Android服务器django,从ANDROID-STUDIO客户端与DJANGO服务器交谈
  10. windows7所有版本迅雷地址下载集合(含32位和64位)
  11. 通用点阵字库生成工具
  12. 每日学点python之六(列表与元组)
  13. 固态硬盘数据丢失能恢复吗?含泪分享:固态硬盘数据恢复方法
  14. 在mudbuilder上的胡扯3
  15. 关闭伽卡他卡电子教室自动启动项
  16. 【问题解决方案】cc1plus: error: unrecognized command line option ‘-fdump-class-hierarchy’
  17. 转:九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题)
  18. MVC项目文件夹说明和创建MVC
  19. Java面试题仅供自己学习
  20. Android 系统属性读取和设置详解

热门文章

  1. ApacheDoris入门操作和BE启动失败问题解决
  2. 有关猴子吃桃(Java)
  3. A002-185-2526(期末作业)
  4. 2022年社区工作人员民政协理员考试精选套卷及答案
  5. kurento 6.14.0文档翻译 第一章 关于kurento与webrtc
  6. FFmpeg[19] - ffmpeg: Unable to find a suitable output format for ‘–i‘
  7. Linux改装windows的弊端,厌倦了Windows?知道这些,你改用Linux很轻松
  8. Python神经网络编程(TR) (3)
  9. 电脑怎么连接手机wifi
  10. json-bigint