2421
需用时 04:50
让LED魔镜告诉你什么是“无限”
/gkimage/ij/r1/7s/ijr17s.png
DIYer:ChromationSystems
制作时间:一星期
制作难度:★★★★☆
GEEK指数:★★★★☆

和你常见的无限魔镜有那么一点点的不一样,这个魔镜的背镜用的是一块压克力镜子,上面打了8*8阵列的孔,每个孔中都安上了LED灯,这些LED灯接在一起通过控制器控制。

我原来有做过用玻璃镜子做魔镜的背镜的,这一次做的和上次做的差不多,而且压克力板比玻璃的更好打孔,而且外面不需要装LED灯,所有的LED都装在背镜上,效果看起 来就像是一颗一颗的星星漂浮在背镜上。

这个的制作灵感来自我做的一个 八角形 的魔镜,里面有一圈LED灯,那个的悬浮的效果非常漂亮,所以我就打算做一个小一号的来展示一下。(有兴趣的同学可以去看看那个 八角形 的,也很赞!) 做框架在这里就不赘述了,有贴心的现成的文件哟,还是不太懂的同学可以参照我的 另外一个instructable

固件是为PIC18F1320单片机和TPIC6C596功率移位寄存器编写的,是一个很简单的程序,只有四个显示模式和两个改变显示模式和显示速度的开关。



1   工具和材料

工具

● 烙铁
● 热胶枪
● 电钻
● 5mm钻头,钻LED的孔
● 美工刀

材料


电子部件

○ PIC18F1320
○ 18针插座
○ TPIC6C596移位寄存器
○ 16针插座
○ 5mm LED,64个,颜色无所谓,我用的是白色
○ 10kΩ,1/4w电阻3个
○ 220Ω电阻,8个,不同颜色的LED需要的阻值不一样(用大阻值电阻是为了限制LED的电流,魔镜里面的LED不能太亮。)
○ 1 uF电容
○ 0.1uF电容
○ x2按钮
○ 5v,1A直流电源

电路板

○ 单芯绞线
○ 万能电路板

框架


○ 制作这个且看下一步分解,或者请 参照这里
○ 我用的是100mil的聚苯乙烯板, 不过亚克力(Acrylic)板和Masonite纤维板也不错

2   制做框架

/gkimage/qo/od/94/qood94.png
  • 框架所需部件的说明图

/gkimage/r6/vh/9j/r6vh9j.png
  • 如图,内壁是不用打孔的。框架是用四个梯形拼合起来的

/gkimage/39/5d/4o/395d4o.png
  • 内壁垂直于框架表面组装起来

/gkimage/eu/eq/fv/eueqfv.png
  • 最上面的那个孔是过直流电源线的,下面两个孔是放按钮的
  • 这里就不赘述框架的制作过程了,大家看图就能搞定。注意第一张图是当时做另外一个LED魔镜的,这个的外壁需要宽上个1/4-1/2英寸以便安装LED。
  • 找一个地方安装直流电插座和开关,我一般都是放在角上。把两个按钮开关焊在万能电路板上,然后安装到外壁上打的孔里。如果大家对美观要求高,可以做之前先好好的进行一下外观设计。
  • 为开关钻孔我用的是5/16英寸钻头,然后用美工刀把孔加工得接近方形,最后涂上黑色的颜料,这样开关就比较隐蔽啦。

3   在背镜上打孔

/gkimage/6p/59/di/6p59di.png
  • 打孔的钻头我用的是5mm的,这个不用太精确的,差不多就行。

/gkimage/7x/c7/w1/7xc7w1.png
  • 买来的丙烯酸镜子上面的保护膜先不要急着撕掉,先在需要打孔的地方做好标记。

/gkimage/j1/a4/vn/j1a4vn.png
  • 像CAD的阵列功能一样,标记阵列成8*8的,然后在丙烯酸镜子的背面也标记上(怎么在背面标记呢?可以用不易干的记号笔,正面标记完了以后,用一张纸在上面贴一下,然后贴 到背面就OK了)。
  • 找个平一点的地方或者工作台开始打孔,打孔之前需要稍微注意点,确保不会有颗粒或者其他什么的会把你的镜面给划花了。
  • 如果各位同学有钻台当然最好啦,没有也没什么关系,咱只是DIY不是?反正涉及到钻孔操作还请小心谨慎为好,安全第一,慢工出细活。

4   安LED灯

接下来就是要在丙烯酸镜子上安上LED灯阵列啦。

/gkimage/tk/0b/4t/tk0b4t.png
  • 完工图先睹为快

8*8的LED阵列是通过多路复用控制的,主要就是每列上的LED的阴极是连在一起的,每行上的LED的阳极是连在一起的。这种接线方法中,一列接地一行供电就可以控制单个的LED了。更多有关这种的解释可以问谷歌或者电类行业的同学:)

如有爱钻研的同学可以查看 应用移位寄存器的LED矩阵 ,对LED阵列讲得很清楚

/gkimage/wy/8f/i1/wy8fi1.png
  • 电路图

/gkimage/q8/s5/au/q8s5au.png
  • 如图所示,用尖嘴钳把LED的两个腿掰弯(好吧,我XE了,我想歪了,我真的不知道除了掰弯还有什么词可以形容这个……)

/gkimage/h5/ch/u7/h5chu7.png
  • 大家请看,左边的是阴极,右边的是阳极,仔细观察一下,这两条腿不是在一个长度弯的,这是为了方便下面的布线

/gkimage/tz/hc/od/tzhcod.png
  • 大家就一行一行或者一列一列的来,不要急。竖着的那一列是阴极,横着的好几排是阳极

/gkimage/o9/r3/u3/o9r3u3.png
  • 阴极的腿是列,阳极的腿是行,安装的时候注意一点不要让不应该碰到的地方相互碰到。

/gkimage/9a/e1/n4/9ae1n4.png
  • 看,最后行和列都是要焊起来的

/gkimage/yq/vy/20/yqvy20.png
  • 最后完工的LED背面就是这样的
  • 通常在魔镜中用的LED灯是漫射光的那种(通称草帽LED),但是我手头只有普通的,所以最后安装完了以后,在把保护膜撕掉之前用毛玻璃喷漆喷在LED灯表面来制造散射光的效果(所以说不要先撕掉保护膜)。

5   控制器

/gkimage/oc/km/8f/ockm8f.png
  • 在下载的压缩文件里面的第一步里就有控制器的原理图和固件。这里就不详细说明电路是怎么接的了,我的是接在现成的电路板上的,为了省钱省事,也没有用任何的终端或 者连接器而是直接把LED的接线焊在控制电路上的。电路不复杂,相信各位看电路图就能搞定!

/gkimage/od/jv/rq/odjvrq.png
  • 电路图

/gkimage/sn/ly/f7/snlyf7.png
  • 有些图上的ICSP有五针接头,这个随意,可有可没有。
  • 电路焊好了以后,先不要急着接上芯片,用电压表试试没有哪儿短路或者断路啥的。
  • 把下载的压缩文件中的HEX文件写入到PIC里面,或者用里面那个.c文件在MPLAB里自己编辑也行。
  • 最后一步是把按钮开关接到电路板上去,还记得前面在外壁上给开关打了孔的么?要确保开关能够对得上外壁上的孔。开关的一端接地,一端接再PIC上,具体的可以看电路图。
  • PS:照照片的时候忘记把电容和有关开关的东西焊上去就照了,所以图上没有,不过电路图和压缩文件里面的原理图上都是有的:)

/gkimage/rl/3w/54/rl3w54.png

/gkimage/oi/90/t4/oi90t4.png
  • 左边的是TPIC596,右边的是PIC

/gkimage/it/tt/xx/itttxx.png

/gkimage/az/ot/mo/azotmo.png
  • 图上可以看到按钮开关接出两根线来,上面那个是接地的,下面那个是接在PIC上的。

6   控制器接到LED阵列上

/gkimage/og/re/7q/ogre7q.png
  • 对照原理图把电阻和LED的行接起来,把列接到TPIC6C596上(看大图吧同学们!)

/gkimage/0g/hg/zu/0ghgzu.png
  • 线什么的都焊好了以后,先接电源看看能正常运行吧,如果有哪个不亮就要检查电路了。如果工作正常的话,恭喜各位,可以继续啦。
  • 首先用擦窗器或者其他的什么把镜子两面都擦干净,任何手指印或者脏东西都不要留下。

/gkimage/rq/6b/f0/rq6bf0.png
  • 已经装好LED阵列的镜子安装到内壁里面去。
  • 用没弹力的胶带把内壁和镜子贴起来,中间不要留任何孔隙。
  • 镜子的四边都用胶带和内壁贴在一起。

/gkimage/9a/qi/99/9aqi99.png
  • 镜子安装好了以后,用热胶枪把开关和直流电插孔胶在已经打好的那几个孔上。
  • 用热胶枪再把电路板也粘到外壁上去。

7   固件

/gkimage/tb/qk/cz/tbqkcz.png

  • 固件应该是在第五步就写入到PIC里面去的,然后才能把PIC装到电路板上。
  • 压缩文件里面有固件的编码,有注释的,一点儿都不难懂的:)
  • 基本上,每一个显示模式都是一帧一帧的画面来组成的,每一帧又是由一个数组来控制的,比如说GraphicA1是GraphicA的第一帧。一个数组有9个元素,第一个元素GraphicA1[0],值为0*00,每一个元素都是要写入到列中的数据。
  • 每一次只有一列是接通的,也只有一个行的元素是接通的。每一行的显示会比上一个显示有一点点的延迟,这样就会产生“无限”的视觉效果。在FrameCounter = FrameCounterMax之前会重复的显示同一帧,当FrameCounter = FrameCounterMax之后就会显示下一帧,然后不断的继续、再循环。
  • 压缩文件中有四个显示模式,三个比较简单的只有不到6帧,有一个比较复杂的有70帧。
  • 有编程基础的同学可以自己再往上加,很简单的,只需要在函数里面再加上case X:语句就行了,我已经在可以加语句的地方做了注释了。

8   完工



9   DIYer签到处


资料来源

编辑:小蜂

果壳DIY站QQ群:132647923(加入时请报上你在果壳的个人主页地址,以防广告ID)

果壳DIY站微博: http://t.sina.com.cn/guokrdiy

The End

发布于2011-07-06, 本文版权属于果壳网(guokr.com),禁止转载。如有需要,请联系果壳

举报这篇文章

JourneyWoo

工程热物理硕士生,DIY爱好者

pic