簡(jiǎn)介
實(shí)時(shí)時(shí)鐘或RTC是集成電路或IC形式的計(jì)時(shí)設(shè)備。 RTC是許多時(shí)間關(guān)鍵應(yīng)用程序和設(shè)備(如服務(wù)器,GPS,數(shù)據(jù)記錄器等)的組成部分。
I早已使用實(shí)時(shí)時(shí)鐘或RTC模塊實(shí)現(xiàn)了幾個(gè)項(xiàng)目,包括8051微控制器和Arduino。
8051,我在一個(gè)名為《的項(xiàng)目中使用了DS1307 RTC模塊strong》基于RFID的停車場(chǎng)系統(tǒng)。來到Arduino,我在 ARDUINO ALARM CLOCK 和使用DS1307的ARDUINO實(shí)時(shí)時(shí)間教程中使用了相同的DS1307 RTC。如果你想要一個(gè)快速參考,你可以瀏覽提供的鏈接。
另外,在使用DS1307項(xiàng)目的Arduino實(shí)時(shí)時(shí)鐘教程中,我已經(jīng)討論過需要一個(gè)RTC。所以,我不會(huì)再討論那個(gè)方面了。我將直接進(jìn)入感興趣的IC:DS3231 RTC IC。
關(guān)于DS3231 RTC IC的簡(jiǎn)要說明
DS3231是由開發(fā)的RTC IC Maxim Integrated。它是一種低成本,極其精確的RTC IC,可通過I2C接口進(jìn)行通信。 DS3231 RTC IC的一個(gè)有趣特性是它集成了晶體振蕩器和溫度傳感器,因此您無需連接外部晶體。
它采用SO-16封裝。雖然只需要8個(gè)引腳就可以使用16個(gè)引腳,但晶體的集成使IC體積更大,因此它被封裝為16引腳IC而不是8引腳IC。
下圖顯示了DS3231 RTC IC的引腳圖。
引腳說明DS3231 IC
進(jìn)入DS3231 IC的引腳說明,下表給出了引腳的簡(jiǎn)單功能概述。
Pin Number 圖釘名稱描述
132KHz32KHz輸出
2V CC直流電源引腳
3INT/SQW低電平有效中斷或方波輸出
4RST低電平有效復(fù)位
5 - 12NC無連接
13GND接地
14V BAT電池的備用電源輸入
15SDA串行數(shù)據(jù)I/O
16SCL串行時(shí)鐘輸入
注意:引腳5-12是NC引腳。它們可以連接到GND。
DS3231 RTC模塊
使用DS3231 IC作為主要部件,幾家制造商開發(fā)了DS3231 RTC模塊,其中包含所有必要的組件。目前幾乎所有可用的模塊都包含一個(gè)額外的IC,24C32N(或類似的東西)。該次級(jí)IC是一個(gè)32Kb大小的EEPROM IC。
由于RTC和EEPROM IC都通過I2C協(xié)議接口,因此這些I2C器件都不需要任何額外的引腳當(dāng)微控制器充當(dāng)主設(shè)備時(shí),它可以充當(dāng)從設(shè)備。
此項(xiàng)目中使用的DS3231 RTC模塊如下圖所示。
由于RTC完全是為了保持時(shí)間而不管電源如何,您可以將3V CR2032鋰電池連接到RTC IC以保持時(shí)鐘滴答作響。在DS3231模塊中,您可以使用背面提供的電池座連接電池。
DS3231 RTC模塊的組件和引腳
如前所述,DS3231 IC和24C32 EEPROM IC是典型DS3231 RTC模塊板上的主要組件。除此之外,還有一些其他組件,如電源LED,少數(shù)電阻器,電容器,電池座和用于連接微控制器的引腳。
下圖顯示了組件和DS3231 RTC模塊上的引腳。
DS3231 RTC模塊與Arduino接口
如果您還記得使用MicroSD卡適配器的早期項(xiàng)目,我已經(jīng)設(shè)置了一個(gè)簡(jiǎn)單的數(shù)據(jù)記錄應(yīng)用程序,其中傳感器的數(shù)據(jù)被捕獲并以microSD卡的形式存儲(chǔ)在microSD卡中文本文件。
通過將DS3231等實(shí)時(shí)時(shí)鐘集成到上述項(xiàng)目中,您可以使用準(zhǔn)確的時(shí)間詳細(xì)信息跟蹤數(shù)據(jù)日志。
因此,DS3231 RTC模塊與Arduino的接口具有眾多應(yīng)用和優(yōu)勢(shì)。
電路圖
所需組件
Arduino UNO
DS3231 RTC模塊
16×2 LCD顯示器
迷你面包板
10KΩPOT
連接電線
首先,讓我開始Arduino和DS3231之間的連接。由于它們之間的接口是I2C,因此請(qǐng)識(shí)別Arduino板上的I2C引腳(如果您使用的是除UNO之外的任何其他板)。
在Arduino UNO中,A4和A5是SDA和SCL引腳。將這些引腳與DS3231模塊的相應(yīng)SDA和SCL引腳相連。另外,將RTC模塊的VCC和GND連接到Arduino的+ 5V和GND。
查看輸出,我使用過LCD模塊。將LCD的RS和E引腳連接到引腳7和6.將LCD的D4-D7連接到Arduino的5-2。
代碼
我使用了Adafruit的一個(gè)名為“RTClib”的特殊庫(它是JeeLab的RTC庫的分叉版本)。從此鏈接下載庫,并將解壓縮的文件夾放在Arduino的libraries目錄中。
由于通訊是I2C,我也使用了“電線”庫。您無需下載此庫,因?yàn)樗cArduino IDE集成。
工作
Arduino DS3231 RTC模塊接口的工作非常簡(jiǎn)單。 Arduino首先使用其從地址(DS3231 IC為0x68)初始化RTC模塊。
Arduino然后用代碼的日期和時(shí)間更新RTC IC的內(nèi)部寄存器編譯并上傳到Arduino??梢栽贚CD顯示屏上查看上傳的日期和時(shí)間。
如果您希望DS3231模塊保持時(shí)間均勻斷開Arduino電源后,可以連接3V鋰電池。
應(yīng)用
服務(wù)器
數(shù)據(jù)記錄器
GPS模塊
功率計(jì)
-
DS3231
+關(guān)注
關(guān)注
2文章
51瀏覽量
23834 -
Arduino
+關(guān)注
關(guān)注
188文章
6468瀏覽量
186956
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論