在这篇文章中,我们将构建一个数字时钟使用7段LED显示与Arduino控制设计。
电路是如何工作的
所提出的7段时钟电路价格低廉,即使是初学者在Arduino中也可以轻松完成。这个时钟由四个7段显示组成,两个显示小时,两个显示分钟。
该显示器与IC 4026配对,设计用于驱动7段显示器。每个IC 4026由Arduino控制。
这个钟有“哔哔提醒”功能,每一小时开始都会发出“哔哔”声,不用看钟就能大致知道时间。这个闹钟没有闹钟功能。
Arduino代码不需要任何特殊的库来编译程序。时钟的设计非常简约,只有四个显示屏和两个led AM/PM指示,除了每小时发出哔哔声外,没有其他花哨的功能。
作者的原型:
以下是一个使用纸板和废弃材料的完整原型:
设计:
该电路由4块控制7段显示的IC 4026芯片和时钟的大脑arduino组成。2个下拉电阻连接到IC 4026的复位引脚上,以避免因静电引起的意外复位。AM/PM指示灯连接arduino与330欧姆限流电阻。
注:220欧姆至330欧姆的电阻应连接每段显示。
IC 4026的引脚配置:
蜂鸣器电路:
寻呼机电路是利用IC555设计的单稳态多谐振荡器。当一个负脉冲被馈送到IC555的引脚2号,它哔哔大约一秒钟。这个音频提醒可以帮助用户大致了解时间。IC555的2号脚应该连接到arduino的10号脚。
程序代码:
//--------- 项目由R.Girish ---------------//
int薄荷= 13;
int小时= 11;
int beep = 10;
int rst = 8;//重置为铸币ic。
int rsth = 9;//重置为HRS ic。
int是= 7;
int点= 6;
int y = 0;
int t = 0;
int x = 0;
无效的设置()
{
pinMode (beep、输出);
pinMode(小时、输出);
pinMode(点、输出);
pinMode(点、输出);
pinMode(薄荷、输出);
pinMode (rst、输出);
pinMode (rsth、输出);
}
无效循环()
{
digitalWrite(哔哔声,1);
digitalWrite (13,0);
延迟(10000);
延迟(10000);
延迟(10000);
延迟(10000);
延迟(10000);
延迟(10000);
digitalWrite (13 - 1);
t = t + 1;
如果(t = = 60)
{
digitalWrite (rst, 1);
digitalWrite (rst 0);
digitalWrite(1小时);
digitalWrite(小时,0);
digitalWrite(哔哔声,0);
digitalWrite(哔哔声,1);
x = x + 1;
y = y + 1;
t = 0;
延迟(2000);//错误修正(随温度变化)
}
if(x==13) //在12'O时钟后显示1'O时钟。
{
digitalWrite (rsth, 1);
digitalWrite (rsth 0);
digitalWrite(1小时);
digitalWrite(小时,0);
x = 1;
}
如果(y < 12)
{
digitalWrite (, 1);
digitalWrite (pm, 0);
}
如果(y > = 12)
{
digitalWrite(点,1);
digitalWrite(点,0);
}
如果(y = = 24) y = 0;
}
//--------- 项目由R.Girish ---------------//
如何设置时间:
作为极简设计,“重置按钮”可以用来设置时间。但是用户必须借助参考时钟来设置时间。用户必须在12点整重置arduino。一是这个完成了,时钟自己更新时间。
注意:由于上面所解释的使用Arduino的7段数字时钟没有“实时时钟芯片”,为了保持时间的准确性,有可能由于环境温度的变化导致时间的lead/lag。
纠正这个问题的步骤如下:
•如果您的时钟领先参考时钟的时间几秒,它需要慢下来,记下差异,并在程序中输入以毫秒为单位的值。
延迟(2000);这将会每小时慢几秒。
•用您的值替换2000。
•如果你的时钟滞后设置“延迟(0);//错误修正(随时间变化)",并在程序中做以下更改:
延迟(10000);
延迟(10000);
延迟(10000);
延迟(10000);
延迟(10000);
延迟(10000);
来
延迟(10000);
延迟(10000);
延迟(10000);
延迟(10000);
延迟(10000);
延迟(9700);
用你的价值来代替“delay(9700);”来加快每分钟的时间。
这些步骤并不能保证时间总是准确的,但它有助于保持时间的最小误差。设计方案为12小时时钟。
太好了,德文达尔先生,很高兴你喜欢!
祝你一切顺利!!
我如何写arduino的输出到任何txt文件在我的电脑只有…
使用哪种7 segg显示,CA或CC类型,我可以使用1英寸大小的7 segg显示
普通阴极,图中已经给出了
对于普通的阳极式显示器,如果尺寸稍大一点,比如1.5英寸的显示器,需要什么修改的硬件和软件呢
在我看来,同样的设计也可以用于上述的显示!
啊,你会做闹钟吗?
闹钟,就像7段LED一样。
如果可能的话,我会尽快更新设计
好的,希望你这周能来。
谢谢. .
长官,IC不是4026,而是4511。我们是否可以使用这个IC而不是4026?
谢谢^ _ ^
Kwintoy,这是可能的,但电路配置将不同
我们可以使用相同的代码吗?
不,这行不通……