
DIYer: | ChromationSystems |
---|---|
制作时间: | 一星期 |
制作难度: | ★★★★☆ |
GEEK指数: | ★★★★☆ |
和你常见的无限魔镜有那么一点点的不一样,这个魔镜的背镜用的是一块压克力镜子,上面打了8*8阵列的孔,每个孔中都安上了LED灯,这些LED灯接在一起通过控制器控制。
我原来有做过用玻璃镜子做魔镜的背镜的,这一次做的和上次做的差不多,而且压克力板比玻璃的更好打孔,而且外面不需要装LED灯,所有的LED都装在背镜上,效果看起 来就像是一颗一颗的星星漂浮在背镜上。
这个的制作灵感来自我做的一个 八角形 的魔镜,里面有一圈LED灯,那个的悬浮的效果非常漂亮,所以我就打算做一个小一号的来展示一下。(有兴趣的同学可以去看看那个 八角形 的,也很赞!) 做框架在这里就不赘述了,有贴心的现成的文件哟,还是不太懂的同学可以参照我的 另外一个instructable 。
固件是为PIC18F1320单片机和TPIC6C596功率移位寄存器编写的,是一个很简单的程序,只有四个显示模式和两个改变显示模式和显示速度的开关。
1 工具和材料
工具
材料
电子部件
电路板
框架
2 制做框架

- 框架所需部件的说明图

- 如图,内壁是不用打孔的。框架是用四个梯形拼合起来的

- 内壁垂直于框架表面组装起来

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

- 打孔的钻头我用的是5mm的,这个不用太精确的,差不多就行。

- 买来的丙烯酸镜子上面的保护膜先不要急着撕掉,先在需要打孔的地方做好标记。

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

- 完工图先睹为快
8*8的LED阵列是通过多路复用控制的,主要就是每列上的LED的阴极是连在一起的,每行上的LED的阳极是连在一起的。这种接线方法中,一列接地一行供电就可以控制单个的LED了。更多有关这种的解释可以问谷歌或者电类行业的同学:)
如有爱钻研的同学可以查看 应用移位寄存器的LED矩阵 ,对LED阵列讲得很清楚

- 电路图

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

- 大家请看,左边的是阴极,右边的是阳极,仔细观察一下,这两条腿不是在一个长度弯的,这是为了方便下面的布线

- 大家就一行一行或者一列一列的来,不要急。竖着的那一列是阴极,横着的好几排是阳极

- 阴极的腿是列,阳极的腿是行,安装的时候注意一点不要让不应该碰到的地方相互碰到。

- 看,最后行和列都是要焊起来的

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

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

- 电路图

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


- 左边的是TPIC596,右边的是PIC


- 图上可以看到按钮开关接出两根线来,上面那个是接地的,下面那个是接在PIC上的。
6 控制器接到LED阵列上

- 对照原理图把电阻和LED的行接起来,把列接到TPIC6C596上(看大图吧同学们!)

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

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

- 镜子安装好了以后,用热胶枪把开关和直流电插孔胶在已经打好的那几个孔上。
- 用热胶枪再把电路板也粘到外壁上去。
7 固件

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