×

使用Arduino即可获得准确的时钟

消耗积分:0 | 格式:rar | 大小:0.39 MB | 2022-12-30

香香技术员

分享资料个

方案介绍

仅使用Arduino,显示屏和少量按钮,在16x2 LCD上显示日期的准确时钟。无需RTC模块。

硬件部件

  • Arduino Nano R3    ×    1个    
  • 字母数字LCD,16 x 2    ×    1个    
  • 触觉开关,顶部致动    ×    3    
  • 微调电位器,10 kohm    ×    1个    
  • 跳线×    1个    

最后得到了一个非常准确的时钟。运行5天后,它没有问题。

仅使用Arduino的主要问题是其内部时钟速度并非100%准确。因此,如果仅依赖于此,那么经过的毫秒数将减少一小部分,并且您正在创建的时钟将丢失或浪费时间。我的方法是测试我使用的Arduino的准确性,并确定每小时损失或获得多少毫秒。然后,所需要做的只是对速度调整进行编程,以每小时从内部跟踪的毫秒中增加或减去这种差异。

我的另一个担心是Arduino时钟是否始终不准确,但是如前所述,我编写的时钟在5天内保持了非常准确的时间,因此看来错误是一致的。

第二个问题是内部millis()函数每隔50天左右会重置一次,因此您无法操纵毫秒计数。因此,答案是使用我可以操纵的计数器替换millis()中断,该计数器将计算从午夜起的毫秒数,每天重置一次,以消除任何运行时限制。

为了评估不准确性,我假设我的计算机时钟以及因此Processing中的millis()是准确的。因此,我为Arduino创建了一个程序,每隔2秒将一次握手后经过的毫秒数发送给Processing,并编写了一个脚本供Processing处理以读取它并将其与经过的毫秒数进行比较,以显示实时结果,以及一个小时后的差值。过去。这给出了在一小时内丢失或获得的毫秒数,因此给出了时钟程序中用于速度调整的值。

附件提供了Arduino程序的代码和Processing脚本。

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

评论(0)
发评论

下载排行榜

全部0条评论

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