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

使用Arduino即可獲得準(zhǔn)確的時(shí)鐘,DIY一個(gè)精度高的時(shí)鐘

2021/03/03
610
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

原理圖.rar

共3個(gè)文件

僅使用Arduino,顯示屏和少量按鈕,在16x2 LCD上顯示日期的準(zhǔn)確時(shí)鐘。無(wú)需RTC模塊。

硬件部件

  • Arduino Nano R3    ×    1個(gè)    
  • 字母數(shù)字LCD,16 x 2    ×    1個(gè)    
  • 觸覺(jué)開(kāi)關(guān),頂部致動(dòng)    ×    3    
  • 微調(diào)電位器,10 kohm    ×    1個(gè)    
  • 跳線×    1個(gè)    

最后得到了一個(gè)非常準(zhǔn)確的時(shí)鐘。運(yùn)行5天后,它沒(méi)有問(wèn)題。

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

我的另一個(gè)擔(dān)心是Arduino時(shí)鐘是否始終不準(zhǔn)確,但是如前所述,我編寫(xiě)的時(shí)鐘在5天內(nèi)保持了非常準(zhǔn)確的時(shí)間,因此看來(lái)錯(cuò)誤是一致的。

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

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

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

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

相關(guān)推薦