×

arduino数字LED时钟

消耗积分:2 | 格式:zip | 大小:0.39 MB | 2022-10-20

洪茗苞

分享资料个

描述

这是我在 2004 年制作的第一个时钟。我用数字 ic 制作了时钟。

我使用了 4 个移位寄存器,所以我不得不使用其中的 33 个。为了消除 4 个开关的抖动,我使用了 NAND 门来完成这项工作。为了制作 1 Hz 时钟,我使用了几个分频器 ic 来减慢 1 MHz 晶体的速度。我的岳父刻在前面。

但是时钟去了阁楼。

现在我退休了,我用 arduino 重建它。原始时钟如下图所示。

poYBAGNQxdqAJNoUAAPdbSWW_50981.jpg
原始时钟
 

我重建了时钟并使用了所有 60 + 12 个 LED 连接,所以现在我需要 9 个移位寄存器(8 位)。不知何故,我将 MM5451 35 位移位寄存器安装在带有 5 个显示器(7 段 LED)的印刷板上。我在前面开了一个洞,把显示器放在里面。见下图。

 
 
 
pYYBAGNQxeGANeeSAA1Mllh8VZk069.jpg
 
1 / 4
 

我制作了自己的例程来读取和设置 RTC,因此无需加载 RTC 库。我正在通过 arduino 上的中断引脚 2 使用 RTC 1 Hz SQW 脉冲。在主循环中,程序正在检查 4 个开关的状态。4 个开关有 16 种功能。

这 16 个功能是:

功能 1111:

显示:空白

指示灯:时间

功能 1110:

显示:时间

Leds:时间和月光(见下面的视频)。

闪烁的 LED 位于位置 46。将其除以 2 = 23。月亮的年龄为 23 天

闪烁的 LED 每天移动两个 LED 位置。

所以月亮的四个阶段是:

led闪烁为零时,表示:新月

15 点(除以二 = 7.5 天)= 第一季度

30 岁(除以二 = 15 天)= 满月

45(除以二 = 22.5 天)= 上一季度

从新月到下一个新月是29.5天。

 

LED 的所有下一个功能是:时间和月度。(功能 1011 除外)所以我只在下一个功能中提及显示屏指示的内容。

功能 1101:

日期

功能 1100

太阳的最大高度(这取决于纬度)

功能 1011:

功能 1010:

自一月一日以来的天数

功能 1001:

太阳升起(这取决于纬度)

功能 1000:

星期几

功能 0111:

功能 0110:

一天的长度(以小时为单位)

功能 0101:

地球倾斜

功能 0100:

调整(RTC的时间、日期、省时和老化寄存器)

功能 0011:

以天计的月度

功能 0010:

自午夜以来的秒数(最大值 = 86400)

功能 0001:

太阳落山(这取决于纬度)

功能 0000:

太阳的实际高度(这取决于纬度)


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !