• 方案介紹
  • 附件下載
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

使用Arduino即可獲得準確的時鐘,DIY一個精度高的時鐘

2021/03/03
576
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

原理圖.rar

共3個文件

僅使用Arduino顯示屏和少量按鈕,在16x2 LCD上顯示日期的準確時鐘。無需RTC模塊。

硬件部件

  • Arduino Nano R3    ×    1個    
  • 字母數(shù)字LCD,16 x 2    ×    1個    
  • 觸覺開關,頂部致動    ×    3    
  • 微調電位器,10 kohm    ×    1個    
  • 跳線×    1個    

最后得到了一個非常準確的時鐘。運行5天后,它沒有問題。

僅使用Arduino的主要問題是其內部時鐘速度并非100%準確。因此,如果僅依賴于此,那么經(jīng)過的毫秒數(shù)將減少一小部分,并且您正在創(chuàng)建的時鐘將丟失或浪費時間。我的方法是測試我使用的Arduino的準確性,并確定每小時損失或獲得多少毫秒。然后,所需要做的只是對速度調整進行編程,以每小時從內部跟蹤的毫秒中增加或減去這種差異。

我的另一個擔心是Arduino時鐘是否始終不準確,但是如前所述,我編寫的時鐘在5天內保持了非常準確的時間,因此看來錯誤是一致的。

第二個問題是內部millis()函數(shù)每隔50天左右會重置一次,因此您無法操縱毫秒計數(shù)。因此,答案是使用我可以操縱的計數(shù)器替換millis()中斷,該計數(shù)器將計算從午夜起的毫秒數(shù),每天重置一次,以消除任何運行時限制。

為了評估不準確性,我假設我的計算機時鐘以及因此Processing中的millis()是準確的。因此,我為Arduino創(chuàng)建了一個程序,每隔2秒將一次握手后經(jīng)過的毫秒數(shù)發(fā)送給Processing,并編寫了一個腳本供Processing處理以讀取它并將其與經(jīng)過的毫秒數(shù)進行比較,以顯示實時結果,以及一個小時后的差值。過去。這給出了在一小時內丟失或獲得的毫秒數(shù),因此給出了時鐘程序中用于速度調整的值。

附件提供了Arduino程序的代碼和Processing腳本。

  • 原理圖.rar
    下載
    描述:原理圖截圖
  • 源碼.rar
    下載
    描述:源碼
  • 項目詳情.pdf
    下載
    描述:項目細節(jié)

相關推薦