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