数码之家

 找回密码
 立即注册
搜索
查看: 10556|回复: 41

[C51] DIY一个精准又好看的2507点阵时钟

  [复制链接]
发表于 2021-3-15 15:46:45 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
楼主是一位业余的单片机爱好者,从入门以来,做过好多的时钟。软件计时、DS1302、DS3231、WIFI、GPS授时啥的都玩过,显示部分用过各种尺寸的数码管、1602、12864液晶、8x8点阵等等,一直以为再也不会做这玩意了。不过前些日子网购时偶然看到了大尺寸的5*7方形点阵模块,感觉用来做个时钟应该很漂亮,一冲动就买了一些回来,那就再折腾一把呗。


买回来的点阵,个头挺大的         
P90825-094442.jpg

本次制作的目的是做一个颜值高、简洁、精准又实用的时钟,摒弃秒显、闹钟、遥控等不怎么用的着的功能,只做时分显示。大体上比划了一下,确定用5片点阵。使用个人认为最好看的5*7字体,时钟的显示格式为12:38。没错,就是这么简单。


主控MCU还是常用的51单片机,型号选择了STC15F2K60S2,QFP32封装,免晶振,免复位电路。因为芯片支持8路A/D,就用其中一路配合光敏电阻做了自动亮度控制。
MCU.png


作为一个计时工具来说,最重要的一点就是时间的准确性了,所以时钟芯片选用只有± 5ppm误差的DS3231MZ,最大年误差只有2分多钟,家用完全OK。并且SOP-8的封装占用面积更小,布线也更方便。
ds3231m.png
DS3231MZ简介:
DS3231MZ是低成本、高精度I2C实时时钟(RTC)。该器件包含电池输入端,断开主电源时仍可保持精确计时。集成微机电系统(MEMS)提高了器件的长期精确度,并减少了生产线的元件数量。DS3231MZ采用SOP-8器件封装。RTC保存秒、分、时、星期、日期、月和年信息。少于31天的月份,将自动调整月末的日期,包括闰年修正。时钟格式可以是24小时或带AM/PM指示的12小时格式。提供两个可设置的日历闹钟和一个1Hz输出。地址与数据通过I2C双向总线串行传输。精密的、经过温度补偿的电压基准和比较器电路用来监视VCC状态,检测电源故障,提供复位输出,并在必要时自动切换到备份电源。另外,RST监测引脚可以作为产生微处理器复位的按键输入。
特性
  -40°C至+85°C温度范围内, 计时精度保持在±5ppm(±0.432秒/天)
为连续计时提供电池备份
低功耗
  完整的时钟日历功能包括秒、 分、 时、 星期、 日期、 月和年计时, 并提供有效期到2100年的闰年补偿
两个日历闹钟
  1Hz和32.768kHz输出
  复位输出和按钮去抖输入
  高速(400kHz) I2C串行总线
+2.3V至+5.5V电源电压
精度为±3°C的数字温度传感器
-40°C至+85°C工作温度范围
SOP- 8封装
  通过美国保险商实验室协会(UL)认证

后来想到做个室温显示貌似挺有用,冬天测量下供暖温度什么的,就把DS18b20加了上去。
DS18b20简介:
独特的单线接口仅需一个端口引脚进行通讯
 每个器件有唯一的 64 位的序列号存储在内部存储器中
简单的多点分布式测温应用
 无需外部器件
 可通过数据线供电。供电范围为 3.0V到 5.5V。
 测温范围为-55~+125℃(-67~+257℉)
 在-10~+85℃范围内精确度为±5℃
 温度计分辨率可以被使用者选择为9~12 位
 最多在 750ms 内将温度转换为 12 位数字
 用户可定义的非易失性温度报警设置
 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件
 与 DS1822 兼容的软件
 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统

点阵的驱动是常用的方案,行驱动为APM4953双P沟道MOS管,列驱动为74HC595。74HC595是具有三态输出功能(即具有高电平、低电平和高阻抗三种输出状态)的门电路。输出寄存器可以直接清除。具有100MHz的移位频率。
这里有一个问题:5片5*7点阵是25列,而一片74HC595驱动8列,这样如果用4片的话,最后一片74HC595只用到一列,3片的话又不够用,直接逼死强迫症,思来想去无法解决,后来有一天晚上夜观天花板冥思苦想,终于悟出了一个方案,把第25列拿出来用三极管单独驱动不就行了?就用搭了个电路简单的试了下,发现完全可行。
595.png


所有的元件、电路都已选好,开搞。画好的原理图如下:用2个按键实现简单的控制,并预留了红外遥控,后续可以升级。一个蜂鸣器可以做操作提示和整点报时,OK,确定没有落下什么。
578CH}[KPL$$~%NWOWFIQ.png


画好的PCB,3D视图下看着还挺漂亮的。画的过程各种烧脑还费烟。
pcb1.png
pcb2.png



画完后看了下PCB打样的报价,因为超出了10*10的尺寸,价格高了不少,不过也不是太贵。提交后三五天就收到了制作完成的PCB。
P90825-094254.jpg


可以愉快的装配了,焊锡丝,锡膏,烙铁风枪轮着上,很快就搞好了,就是那一堆0603封装的电阻手工焊接有点烦。
P90825-145329.jpg


左侧,蜂鸣器、红外、DS18B20依次排列
P90825-145027.jpg

右侧:TYPE-C供电插座、按键和光敏电阻。
P90825-145036.jpg

撕掉保护膜
P90825-143327.jpg


定做的透明亚克力到货,特意做了黑茶、灰、红三种颜色,看看哪种看着好看就用哪种。
P90825-145228.jpg


比较了一下,还是黑茶色的顺眼
P90825-153355 - 副本.jpg

最终成品就是这样了,看着还是非常漂亮的是吧!
P90825-153343 - 副本.jpg

P90825-153413.jpg

开始调试,就是发现各种坑然后又各种填坑的过程。比如把点阵的顺序弄反了:列顺序本来是01234,56789……这样的,因为把封装弄错了,顺序成了56789,01234,折腾了好久总算补救好。终于可以正常的显示了,开心……
IMG20190816151841.jpg

wx_camera_1566211995455.jpg
wx_camera_1566218725674.jpg

趁着正常显示的高兴劲,又焊了一片。零乱的调试现场
P90825-151150.jpg


又花了好几天的业余时间,总算把水平的流动显示写好,流动显示内容为日期-时间-温度,上下滚动及其他花样的显示实在是不想折腾了,太费脑子。最后完善下,把年月日及时间的调整写出来,界面做的很简单。

nEO_IMG_menu.jpg
nEO_IMG_IMG_2793.jpg
nEO_IMG_IMG_2794.jpg

nEO_IMG_IMG_2795.jpg

nEO_IMG_IMG_2796.jpg


做了3种字体,可以用按键在Fnt中选择
字体1:标准的5*7字体,直接从LCD1602字符手册上抄的。
nEO_IMG_IMG_2853.jpg

字体2:来自@yanzeyuan 大神。
nEO_IMG_IMG_2922.jpg

字体3:4*7点阵字体,和常见的数码管有点类似。
nEO_IMG_IMG_2875.jpg

再焊一片,3种字体拍个全家福吧
nEO_IMG_P90930-215322.jpg


一些美图:
nEO_IMG_IMG_2812.jpg
nEO_IMG_IMG_2857.jpg

nEO_IMG_IMG_2868.jpg

nEO_IMG_IMG_2869.jpg

nEO_IMG_IMG_2906.jpg

nEO_IMG_P90917-181310.jpg

nEO_IMG_P90816-172121.jpg
P90917-181340.jpg

把所有能发现的BUG解决掉,可以正常的投入“战斗值班”了。
nEO_IMG_P90922-211905.jpg


后记:在消耗掉大量的业余的时间、耗费了也不算少的金钱、并历经各种痛并快乐着的“折磨”后,总算完成了这次制作。得益于DS3231芯片的高精度,试过半个月1秒不差,自动亮度功能也很实用。外观也是个人做过的各种时钟里面最漂亮的,没有之一。每天起床、洗漱、吃饭、上班、回家、发呆、听广播、听音乐、打游戏、DIY、睡觉,无论何时,只要一抬头,就看见他在那里默默地守侯着,陪伴着,温暖着,感动着。

很多设计参考了nixieclock.org网站的LED点阵时钟,向@yanzeyuan 大神致敬!



打赏

参与人数 11家元 +161 收起 理由
hfsp + 20 謝謝分享
Ω囿圉Ω + 5 謝謝分享
geek云中漫步 + 10 原創內容
vicdoo + 20 優秀文章
超级女生 + 20 歡迎探討
jf201006 + 20 原創內容
hongo + 20 原創內容
zhongyidiy + 10 原創內容,想来一套,
kkdkj + 20 謝謝分享
jialishoushi + 10 不错不错 赏心悦目 诈一看 还以为严兄做的.

查看全部打赏

 楼主| 发表于 2021-3-15 15:49:28 | 显示全部楼层
上传图片失败,提示Upload Failed,
等会看看能不能恢复
回复 支持 反对

使用道具 举报

发表于 2021-3-15 16:05:57 | 显示全部楼层
aqxgm 发表于 2021-3-15 15:49
上传图片失败,提示Upload Failed,
等会看看能不能恢复

https://www.mydigit.cn/forum.php?mod=viewthread&tid=241897
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-15 16:26:59 | 显示全部楼层
听雨亭 发表于 2021-3-15 16:05
https://www.mydigit.cn/forum.php?mod=viewthread&tid=241897

收到,谢谢回复,调整下试试看
回复 支持 反对

使用道具 举报

发表于 2021-3-15 16:29:27 | 显示全部楼层
感觉字符的显示方式还可以再调调,看着有点怪,都改成单点的呢?
回复 支持 反对

使用道具 举报

发表于 2021-3-15 17:06:35 | 显示全部楼层
有没有PCB分享一下?
回复 支持 反对

使用道具 举报

发表于 2021-3-15 17:47:27 | 显示全部楼层
能自己设计电路的都是大神
回复 支持 反对

使用道具 举报

发表于 2021-3-15 17:54:08 | 显示全部楼层
努力挣M币,攒M币娶媳妇:shy:
回复 支持 1 反对 0

使用道具 举报

发表于 2021-3-16 15:34:24 | 显示全部楼层
把程序和PCB一起分享上传一下吧,方便大家学习
回复 支持 反对

使用道具 举报

发表于 2021-3-16 21:48:02 来自手机浏览器 | 显示全部楼层
很漂亮,很赞,做一套大概多少钱?
回复 支持 反对

使用道具 举报

发表于 2021-3-16 22:44:34 | 显示全部楼层
本帖最后由 lyy-cy 于 2021-3-16 22:58 编辑

我以前也做过,现在还在用。楼主可以考虑  NTP。


                               
登录/注册后可看大图

打赏

参与人数 1家元 +6 收起 理由
aqxgm + 6 謝謝分享

查看全部打赏

回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2021-3-17 15:39:48 | 显示全部楼层
99520 发表于 2021-3-16 21:48
很漂亮,很赞,做一套大概多少钱?

DIY爱好者,东买一点西买一点,东西贵,运费也贵,算了下物料成本大约为70块钱,如果批量的话成本会小不少
回复 支持 反对

使用道具 举报

发表于 2021-3-19 22:49:16 | 显示全部楼层

这厚度的黑茶亚克力,正常开孔后,用沉头倒角钻头加工下。然后用沉头螺丝比较----

222.jpg
回复 支持 反对

使用道具 举报

发表于 2021-3-20 08:41:13 | 显示全部楼层
非常漂亮。
我也想做个类似的,但是不想用LED,想看看是否有这种大颗粒的LCD段码屏幕。
回复 支持 反对

使用道具 举报

发表于 2021-3-20 17:13:26 | 显示全部楼层
顺便把后面也做一块压克力板啊, 那样就更好看.
回复 支持 反对

使用道具 举报

发表于 2021-3-23 08:59:09 | 显示全部楼层
颜值高、简洁、精准又实用的时钟:praise:
回复 支持 反对

使用道具 举报

发表于 2021-3-23 09:45:26 | 显示全部楼层
3797 发表于 2021-3-19 22:49
这厚度的黑茶亚克力,正常开孔后,用沉头倒角钻头加工下。然后用沉头螺丝比较----

...

你这个看起来是翻页钟
回复 支持 反对

使用道具 举报

发表于 2021-3-23 13:21:39 | 显示全部楼层
赞,挺漂亮的!
20年前用8字管做的现在都还在用,通电久老化了,换过一批新的8字管
回复 支持 1 反对 0

使用道具 举报

发表于 2021-3-25 19:29:26 | 显示全部楼层
看起来很不错,不知道能分享一下代码吗?
回复 支持 反对

使用道具 举报

发表于 2021-3-25 20:21:20 | 显示全部楼层
顶一个,高手。做的真漂亮
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-3-29 22:12 , Processed in 0.249600 second(s), 17 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表