用DS1302計(jì)時(shí):Arduino上的實(shí)時(shí)時(shí)鐘
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在Arduino和微控制器的迷人世界中,保持時(shí)間是關(guān)鍵。
在Arduino和微控制器的迷人世界中,保持時(shí)間是關(guān)鍵。你可能需要建一個(gè)數(shù)字時(shí)鐘,計(jì)時(shí)器,或者更復(fù)雜的東西,比如自動(dòng)植物澆水系統(tǒng)。這就是DS1302模塊發(fā)揮作用的地方。這是一個(gè)方便的小設(shè)備,可以幫助你在Arduino項(xiàng)目中準(zhǔn)確地保持時(shí)間。在本文中,我們將仔細(xì)研究DS1302模塊,了解它的工作原理,并探索它的應(yīng)用程序。
DS1302模塊
DS1302是一個(gè)實(shí)時(shí)時(shí)鐘(RTC)模塊。這是什么意思?它就像你的Arduino的一個(gè)微型數(shù)字手表。它很好地保持時(shí)間,不需要繞組或更換電池,因?yàn)樗\(yùn)行時(shí)耗電量很少。該模塊通過(guò)簡(jiǎn)單的界面與Arduino連接,使其超級(jí)友好。
DS1302使用32.768 kHz晶體振蕩器非常精確地跟蹤時(shí)間。它甚至還有備用電池,所以如果你的Arduino沒(méi)電了,它不會(huì)忘記時(shí)間。這使得它非常適合精確度至關(guān)重要的情況。
連接模式
將DS1302模塊與Arduino連接起來(lái)非常簡(jiǎn)單。你需要連接幾根電線,比如數(shù)據(jù)、時(shí)鐘和復(fù)位引腳,到Arduino上的正確位置。電源和備用電池對(duì)于不間斷計(jì)時(shí)是必不可少的。
好消息是有很多庫(kù)和示例代碼可以簡(jiǎn)化這個(gè)過(guò)程。所以,即使你不是專家,你也可以讓它運(yùn)行起來(lái),沒(méi)有太多的麻煩。
安裝DS1302的庫(kù)
為了與DS1302傳感器交互,我們將使用現(xiàn)有的庫(kù)。這個(gè)庫(kù)提供了一個(gè)接口,方便了與模塊的通信,節(jié)省了大量的時(shí)間,并提供了一個(gè)可靠的、經(jīng)過(guò)廣泛測(cè)試的代碼庫(kù)。它可以從我們的官方存儲(chǔ)庫(kù)下載。
要導(dǎo)入庫(kù),打開(kāi)Arduino IDE,轉(zhuǎn)到Sketch > Include library > Add.ZIP library并選擇從GitHub存儲(chǔ)庫(kù)下載的庫(kù)文件。要導(dǎo)入庫(kù),打開(kāi)Arduino IDE,轉(zhuǎn)到Sketch > Include library > Add.ZIP library并選擇從GitHub存儲(chǔ)庫(kù)下載的庫(kù)文件。
然后你可以簡(jiǎn)單地使用include語(yǔ)句:
它將包含帶有與模塊交互的預(yù)定義函數(shù)的庫(kù)。
Arduino代碼
讓我們從建立連接引腳開(kāi)始。之后,我們將配置當(dāng)前時(shí)間作為模塊的初始引用。這個(gè)初始設(shè)置是一次性的作業(yè),因?yàn)槟K巧妙地將此值保留在其內(nèi)存中,從而消除了每次上傳新代碼時(shí)重置的需要。
在主循環(huán)中,我們的任務(wù)很簡(jiǎn)單——我們只需打印模塊的值,確保日期和時(shí)間單元被清楚地分開(kāi)。
自動(dòng)時(shí)間檢測(cè)
為了簡(jiǎn)化設(shè)置并使其易于使用,我們創(chuàng)建了一個(gè)自動(dòng)化版本,用于配置當(dāng)前時(shí)間。此版本使用當(dāng)前編譯日期作為模塊時(shí)鐘的初始時(shí)間。
庫(kù)不支持當(dāng)前時(shí)間的自動(dòng)設(shè)置。因此,我們創(chuàng)建了一個(gè)擴(kuò)展文件,可以在我們的官方存儲(chǔ)庫(kù)中獲得,它可以自主地檢測(cè)和設(shè)置模塊上的當(dāng)前時(shí)間。
測(cè)試
為了驗(yàn)證我們的模塊是否正常工作,我們使用串行監(jiān)視器。
您的串行監(jiān)視器應(yīng)該顯示的值與上圖中可見(jiàn)的值非常相似。
結(jié)論
在一個(gè)時(shí)間就是一切的世界里,DS1302模塊和你的Arduino可以是一個(gè)動(dòng)態(tài)的二人組。它使你的項(xiàng)目像時(shí)鐘一樣運(yùn)行,最好的部分是,它的設(shè)置并不過(guò)于復(fù)雜。它很容易集成,并為各種面向時(shí)間的應(yīng)用程序拓寬了視野。所以,不要再等了!擁抱它提供的精度和效率,讓您的Arduino項(xiàng)目無(wú)縫地與周圍世界的節(jié)奏保持一致。
本文編譯自hackster.io