半年来一直在 DIY 辉光管、荧光管的时钟,其实算来,我最早DIY的时钟是LED点阵的。 时隔3年,再次汇集这段时间以来的想法,重新DIY了一款简洁、实用、功能完备的LED电子时钟。 老规矩,先上图。SHOW TIME: ![]() ![]() ![]() ![]() ![]() ![]() ============================================================================================== 具体的动态效果还要看视频: (由于摄像机同步的问题,拍出来的效果有点闪烁,实物看的时候没有任何闪烁感) http://www.tudou.com/v/DEuK7Y1tK88/&%3brpid=82079050/v.swf ============================================================================================== GPS校时的过程视频: http://www.tudou.com/v/mY0WCAH9ZMY/&%3brpid=82079050/v.swf ============================================================================================== 先简单介绍一下本次DIY的LED点阵时钟功能: ■ 6个5*7方点LED点阵模块显示小时、分钟等信息; ■ 红外线遥控操作,时钟上只有一个按键,整体外表简洁; ■ 3种风格各异的字体可供选择; ■ 4种不同的动画切换特效可供选择; ■ 采用DS3231做RTC,内置温补晶振,超高精度; ■ GPS校时接口功能,可连接GPS接收机快速校准日期和时间; ■ 定时GPS校时功能,每周一早8点钟自动进入GPS校时功能(如果检测到未连接GPS,3秒钟内自动退出); ■ 自动旋转屏幕,时钟无论正放倒放,均可正常显示(不用为电源线在左边还是右边烦恼)。 ■ 内置备份锂电池(CR1220),断电无需重新对时。 ■ 可使用DC3.5-1.35的标准5V直流电源,并且内置MiniUSB接口,可适用电脑USB供电; ■ 内置锂电池保护电路和锂电池充电管理电路,可脱离电源,用锂电池供电; ■ 8级亮度调节功能,内置光敏电阻,可自动根据环境光线调整亮度,也可以指定亮度; ■ 内置蜂鸣器,可实现操作提示音和闹钟响铃; ■ 日期显示功能; ■ 星期显示功能; ■ 秒显示功能; ■ 室内温度显示功能(内置DS18B20温度传感器); ■ 两组闹钟功能(可分别设置,并独立打开或关闭某组时钟); ■ 激光切割亚克力板外壳(进口亚克力板材); LED点阵的种类很多,常规的都是圆点、正方形,比如常见的8*8、16*16,这种可以用来显示任何图形、汉字、英文和符号。 还有一种常见的就是这次DIY用的类型,方点、长方形,5*7的点阵。 5*7的点阵其实也很常见,大多数电梯里都会用到,用它来显示楼层数字。 上次DIY的LED点阵时钟用的就是5*7的无缝方点点阵,个人认为用它来显示数字和英文字符效果非常好。 SHOW两张08年做的LED时钟的PP(目前一直是家里的最主要的时钟): ![]() ![]() 所以,这次专门向LED点阵厂家订做了一款大尺寸的无缝、方点、5*7的红色LED点阵。 方点、无缝、宽40mm、高55mm,台湾芯片的红色LED基板。 拿到LED点阵以后,感觉还不错,与我想象中一致; 但是说是无缝,其实两个点阵拼在一起的时候,边缘点之间的间隔还是大了一些,不像8*8或者16*16点阵一样,拼起来间距完美。 SHOW一下照片,高度跟信用卡高度差不多: ![]() ![]() 5*7的点阵与8*8、16*16的点阵还有些不同,比如8*8的点阵,会有8个阳极和8个阴极,不用分共阳还是共阴。但是5*7的点阵就要分共阳还是共阴了,因为要么是5个阳极7个阴极,或者5个阴极7个阳极。 在定做LED之前,做了一下大概规划,打算用HC595来做动态扫描,一共6个5*7点阵,组成30点一行,共7行的LED屏。 动态扫描行选用4953 MOS来做,行数据 用4片HC595来做,所以定制的5*7点阵是7个阳极,5个阴极的点阵模块。 电路原理也比较简单,选用STC12C56xxAD做MCU(虽然它只有2个定时器,而且还要完成串口波特率发生、动态扫描等等,但是用好了还是能够胜任的),74HC595做数据、4953做行选,DS3231来做时钟IC(自从放弃DS1302用上DS3231,才知道原来温补不是吹的,实在是准!),一个红外线接收头用来接收无线遥控数据,一个蜂鸣器,一个DS18B20来采集室内温度。 为了能使用锂电池供电,电路设计上还集成了锂电池保护电路、锂电池专用的充电管理电路。 电路图文件在最后,需要的朋友可以自己去下载; SHOW一下PCB板(这次PCB板依然采用了1.6板厚,黑色阻焊,沉金工艺): ![]() ![]() ![]() ![]() 这次回归了SMD,呵呵,几乎所有器件都采用了贴片封装。 而且电路板的高度与LED模块的高度一致,这样做出来的时钟没有臃肿的感觉。 电路比较简单,并不复杂,焊接过程20分钟搞定; 如果不打算安装锂电池的话,锂电池保护电路和充电管理电路不用装: ![]() ![]() 所有安装在背面的元器件高度都不超过3mm,当然电解电容和插接端子什么的,个子还是很高,所以它们被安排在了正面,LED点阵的两侧; 为了尽量使PCB板与6个LED点阵的尺寸保持一致,PCB在长度上仅仅比6个点阵加起来的长度没边长出了10几个毫米。 也就仅仅放下电源插孔、MiniUSB接口、蜂鸣器、一个电解电容、一个按键开关、光敏电阻、水银开关(回头会提到它是做什么用的)、GPS接口、红外线接收头等等。 SHOW一下: LED揭掉保护膜,效果很不错 ;) ![]() ![]() ![]() ![]() ![]() ![]() ![]() LED点阵的厚度是10mm,其他的插孔、蜂鸣器等等的高度不超过8mm,所以根据这些器件的外形,用CAD绘制了绕开这些器件的图纸,然后用激光切割出完全符合外形的亚克力板材; 一共3片4mm厚度的亚克力板,底下两片激光切割出相应的外形,包裹住插孔、按键等等,顶上一片完全盖住这些器件。 这样,就能够使LED点阵两侧的器件完美的被包裹起来。 先看一下全部的亚克力外壳全家福: ![]() ![]() 然后是前面两侧各三片4mm厚的亚克力板,外加4颗12mm高的铜柱; SHOW一下效果图: ![]() ![]() ![]() ![]() 这样被包裹以后,感觉是一个完美的整体了; 接下来是纠结的面板了: 面板直接决定了时钟的美观程度,纠结了好久,跑了几趟亚克力销售加工的作坊; 原本打算继续用透明的亚克力板做面板,后来试了试,感觉LED点阵前面黑白反差太大,而且两侧的元器件颜色各异,所以如果用透明的面板会显得有点杂乱,所以就开始考虑用带颜色的透明亚克力板材。 但是这种带颜色的透明亚克力板材很少见,很多加工商都没有。曾经询问过,如果要进货的话,一张板是2.44*1.22米,380RMB一张,汗...... 不过最后还是终于拿到了最适合做LED点阵酒红色透明亚克力板材。 上数控激光,切割完美: ![]() ![]() 接下来是背面....... 之所以被面所有的元器件高度不超过3mm,这样背面只需要一片亚克力板支撑,就可以完美的装上背部面板。 为了把焊点空出来,不影响亚克力安装,依然是使用CAD绘制好图纸,激光切割。 SHOW一下效果图: ![]() ![]() ![]() ![]() 这里不得不提的是进口的亚克力板材,相当给力。 原先做辉光钟的时候,用过一批国产亚克力板材,材质较差,激光切割时容易融化边缘,导致变形,还有就是厚度不均,如果这么叠放使用的话,很可能造成厚度不一,无法形成一个平面。还有一个重要的问题就是国产的亚克力板透光度较差,看起来不是那么高档; 还有一点要提,就是这个电镀的内六角螺丝,配合这个面板还是很搭的! ![]() ![]() ![]() ![]() ![]() ![]() ============================================================================================== 软件设计方面,我做了3种5*7的数字字体,然后用算法实现了任意点阵字模向任意字模转换的动画切换算法,动画切换效果有4种: 1、上下滚动; 2、随机点消隐; 3、单个字符翻页(跟我做得VFD点阵时钟效果相同); 4、旋转扫描; 还有一个功能也是比较实用的,原来DIY的时钟,总是纠结与电源插孔是放左边还是右边。现在,这款时钟由于外观完全对称,所以我就利用水银开关,做了一个时钟的正反方向的自动旋屏功能。 当然,这还需要软件算法#p#分页标题#e#方面的支持,不过这个功能还是很实用的,如果放置的地方正好适合电源线在右边,可以将时钟倒转过来放,显示的内容自动旋转过来。 这些效果还是看本文开头的视频吧,不大好描述; GPS校时不可少,我也录制了一段GPS校时的视频。开始时,将日期和时间均调成其他的日期和时间,启动GPS校时以后,几秒钟内,自动将时间更新为GPS接收机传来的卫星时间。 GPS校时时,得到的是GMT 0的时间,也就是格林尼治时间,关于格林尼治时间换算成当地时间有一个逻辑关系较复杂的算法,并不是加几个小时和减几个小时的问题,具体算法见我的这篇帖子:http://www.mydigit.net/read.php?tid=249841 当然,这个时钟拿到国外不同时区一样可以GPS校时,因为我做了GMT设置功能,默认设置为GMT +8,也就是北京时间的东八区。 ============================================================================================== 大致就介绍到这里吧,有喜欢DIY LED CLOCK的朋友欢迎大家一起交流。 下面是给力的图片秀: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() (责任编辑:admin) |