数码之家

 找回密码
 立即注册
搜索
查看: 2101|回复: 29

[工仪] 跟着坛友抄了个作业系列三 DIY 51单片机指针时钟。

[复制链接]
发表于 2022-4-17 22:04:33 | 显示全部楼层 |阅读模式
相必各位坛友学习单片机的时候做个各种时钟,数码管的,1602的,12864的,点阵屏……
俺也一样,记得还做过二进制时钟,一眼绝对看不出来是几点那种。
直到疫情期间看到老站坛友的作品
用51单片机驱动指针电压表做的时钟(开源)感谢作者开源。
我又觉得我行了,而且作者说了欢迎山寨,咱就不客气了,疫情在家无事,原样抄了一个
单片机STC12C2052AD手里正好有两片。
最大的缺点就是用了DS1302这个时钟芯片,不知是外置晶振精度问题还是芯片问题,做过的各种时钟没有一个准的。

这是原作者的成果:


这是我做的:


还是人家做的好,表盘我用普通A4纸打印的,没光泽,不好,家里有喷墨打印机的用相纸打会好很多,盒子随便找了一个,略大点,本来下面打算增加点啥,但又不知道增加点啥。就还是空着了。

引用一下原文
DIY过程
1、原理还是很简单的,就是用单片机读取实时时钟芯片产生的时间数据,并根据时间数据调制成对应的电压,通过指针电压表显示出来就行了。
但是要用时间来产生可控的电压,会用到D/A(数字-模拟转换),但家里没有D/A芯片,就一直没有动手。直到偶然发现STC手册上有用PMW(脉冲宽度调制)做D/A的说明,就简单地搭了实验电路试了一下,觉得可行就匆忙“开工”了。时钟芯片选用了单片机爱好者常用的DS1302,表头是2个5V量程的指针电压表,主控用的是STC12C2052AD,正好2路PWM对应小时和分钟。
STC12C2052AD单片机是STC生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速A/D转换,20脚封装。

原作者这段话比较重要:
调零:单片机PWM输出0,调整电压表的调零螺丝让指针指在0的位置。
调高端:表头里的色环电阻换成了3296可调电阻,PWM输出高,调节3296电阻让指针指向满刻度
调线性:想要指针指在9点整的位置,输入理论值后发现会指到9点10分左右,只好逐个刻度在程序里面调整,这应该叫做“线性补偿”吧!

操作说明
6、如何操作?
正常的时间显示状态下,编码器不起作用,LED全灭。
按下编码器,红色LED亮起,表示为小时调节模式,左右旋转调整到正确的位置。再次按下编码器,红色LED熄灭,绿色LED点亮,进入分钟设置状态,同样左右旋转调整到当前的分钟数,每加减一分钟,就把秒归零。这样在标准时间为X时X分0秒时调一下就达到了分秒同时对好的目的。再按一下,LED全灭,回到正常显示状态。



编码器调时间手感非常棒,指针反馈速度给人很舒服的感觉。



实话实说,并没有太用心,外面效果马马虎虎还凑合。

内部就不那么凑合了:



表头经过改造,里面应该是串联了电阻,作者所谓的物理调零。



为了得到稳定的5V电压,USB进来先升压到7V,然后LDO到5V。否则换不同电压的适配器会导致指针偏离。






1302不准比较遗憾,做好了本想升级一下加个8266,变成互联网自动对时,没成想做好后摆桌子上看了几天新鲜劲就过去了。。。因为以前流行GPS串口对时导致思维定势,现在看来用8266的话还要啥单片机。。啥都能搞了

电路图也搬过来


原作者还转印了板,我太懒了,直接洞洞板,放在盒内也看不见。


有想抄作业的还请看一下老帖,我这就是搬运一下。

程序和表盘也搬运一下:原作者附件,一点没改。




楼主还有个小计划,把它改为ESP8266核心,网络对时,增加功能,可以显示时间,也可以两个表分别显示实时CPU负载和内存使用率(B 站已有UP主有类似作品)。
但是最近没时间了,欢迎坛友们发挥DIY精神,一起玩起来

本帖子中包含更多资源

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

x

打赏

参与人数 3家元 +220 收起 理由
梦怡之骋 + 120 優秀文章
家睦 + 80
aqxgm + 20 歡迎探討

查看全部打赏

 楼主| 发表于 2022-4-17 22:06:40 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2022-4-17 22:35:19 | 显示全部楼层
这个很有意思, 但感觉不太实用
回复 支持 1 反对 0

使用道具 举报

发表于 2022-4-17 22:58:54 | 显示全部楼层
扇形的而不是圆周的钟面,脑洞要大开才能反应过来。创意不错
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-17 23:10:30 来自手机浏览器 | 显示全部楼层
sumandigit 发表于 2022-4-17 22:35
这个很有意思, 但感觉不太实用

就是为了好玩,以前还做过二进制时钟,那才真是看不懂
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-17 23:14:41 来自手机浏览器 | 显示全部楼层
st911 发表于 2022-4-17 22:58
扇形的而不是圆周的钟面,脑洞要大开才能反应过来。创意不错

人家的创意,我也觉得不错,主要是数字转模拟很有意思
回复 支持 反对

使用道具 举报

发表于 2022-4-17 23:43:48 | 显示全部楼层
二进制时钟是开源的吗?或者有相关的做法很想做个4X4 或者8x8单个大的点阵管的,除了焊接,烧录,其他不会
回复 支持 反对

使用道具 举报

发表于 2022-4-18 06:56:23 | 显示全部楼层
这创意不错!一看就是玩电子的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-18 07:49:09 来自手机浏览器 | 显示全部楼层
3797 发表于 2022-4-17 23:43
二进制时钟是开源的吗?或者有相关的做法很想做个4X4 或者8x8单个大的点阵管的,除了焊接,烧录,其 ...

那个是真找不到了,因为做的粗糙,而且真的毫无实用价值…玩一下就扔了
回复 支持 反对

使用道具 举报

发表于 2022-4-18 08:04:05 | 显示全部楼层
很有创意,代码最好放到百度网盘上,或者合成一个附件,这里下载消耗M币了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-18 08:18:39 来自手机浏览器 | 显示全部楼层
mengfc 发表于 2022-4-18 08:04
很有创意,代码最好放到百度网盘上,或者合成一个附件,这里下载消耗M币了 ...

稍后吧,晚上传个百度网盘
回复 支持 反对

使用道具 举报

发表于 2022-4-18 14:18:36 | 显示全部楼层
本帖最后由 aqxgm 于 2022-4-18 14:20 编辑

悄悄告诉楼主,后来我把时钟芯片换成了更精准的DS3231,MCU也更换成了低电压型号,省去了升压再降压的步骤,但一直在吃灰,看个时间得反应一会儿,确实不够实用
回复 支持 反对

使用道具 举报

发表于 2022-4-18 14:27:47 来自手机浏览器 | 显示全部楼层
创意很好,就是看时间费点功夫
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-18 14:30:02 来自手机浏览器 | 显示全部楼层
aqxgm 发表于 2022-4-18 14:18
悄悄告诉楼主,后来我把时钟芯片换成了更精准的DS3231,MCU也更换成了低电压型号,省去了升压再降压的步骤 ...

啊啊啊啊,作者来了,热烈欢迎,当时我也是想怎么不用ds3231,这个准确多了。我的也吃灰了…但是我想废物利用改为电脑的cpu内存使用率指示,用esp32或者8266,看能否改变吃灰的命运
回复 支持 反对

使用道具 举报

发表于 2022-4-18 14:32:46 | 显示全部楼层
mrmay 发表于 2022-4-18 14:30
啊啊啊啊,作者来了,热烈欢迎,当时我也是想怎么不用ds3231,这个准确多了。我的也吃灰了…但是我想废物 ...

用51应该也可以实现你说的CPU占用指示
串口输入数据,单片机处理后以模拟的方式输出,不知是否可行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-18 15:46:07 来自手机浏览器 | 显示全部楼层
aqxgm 发表于 2022-4-18 14:32
用51应该也可以实现你说的CPU占用指示
串口输入数据,单片机处理后以模拟的方式输出,不知是否可行 ...

可行,电脑通过usb转ttl不断发送串口数据就行,esp可以走wifi
回复 支持 反对

使用道具 举报

发表于 2022-4-19 10:11:11 | 显示全部楼层
再加一个秒针就好玩了
回复 支持 反对

使用道具 举报

发表于 2022-4-19 14:20:43 | 显示全部楼层
时钟还是指针的更好

没想到,进来一看,居然是仪表形式的,奇特
回复 支持 反对

使用道具 举报

发表于 2022-4-19 14:52:06 | 显示全部楼层
这个会让外行人一时间摸不出头脑啊!
回复 支持 反对

使用道具 举报

发表于 2022-4-29 10:41:13 | 显示全部楼层
用来指示CPU和内存占用有意思,一跳一跳想想就很带感
回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-8 06:24 , Processed in 0.374400 second(s), 14 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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