第1步:收集組件
該項(xiàng)目所需的組件:
Max7219點(diǎn)矩陣顯示
RTC DS3231
3V CR3032電池(用于DS3231)
此外,您需要一個(gè)Arduino電池種類(最好是Nano,以最小化項(xiàng)目的大?。?,面包板,跳線以及PC上安裝的Arduino IDE。
步驟2:庫(kù)
下載以下庫(kù)并通過(guò)將
轉(zhuǎn)到 Sketch》 Include Library》 Add .Zip將.zip文件安裝到Arduino IDE中。庫(kù)
注意:版本問(wèn)題?。?!
* 下載前使用正確的版本。為了安全起見(jiàn),我建議下載Arduino IDE中的每個(gè)庫(kù)。
MD_Parola 3.0.1:https://github.com/MajicDesigns/MD_Parola
MD_MAX72XX 3.0 .2:https://github.com/MajicDesigns/MD_MAX72XX
DS3231 1.0.2:https://github.com/NorthernWidget/DS3231
或者,
在Arduino IDE中,轉(zhuǎn)到 Sketch》 Include Library》 Manage Libraries ,然后在搜索欄中鍵入“ MAX72XX”,您應(yīng)該看到以下內(nèi)容(參見(jiàn)圖片):
僅安裝MD_MAX72XX和MD_Parola。 不需要 。
步驟3:測(cè)試組件
之后安裝庫(kù),分別測(cè)試組件,以確保它們可以正常工作。在將所有組件連接在一起之前,請(qǐng)先執(zhí)行以下步驟。
要測(cè)試DS3231 RTC模塊,請(qǐng)將DS3231連接到Arduino(請(qǐng)參見(jiàn)下面的接線)。然后在Arduino IDE中,轉(zhuǎn)到文件》示例》 DS3231》 DS3231_Test 并上傳草圖。打開(kāi)串行監(jiān)視器,檢查是否獲得正確的日期,時(shí)間,日期等。
要測(cè)試矩陣顯示,請(qǐng)首先將其連接到Arduino(請(qǐng)參見(jiàn)下面的接線)。接下來(lái),在Arduino IDE中,轉(zhuǎn)到文件》示例》 MD_Parola》 Parola_HelloWorld 并上傳草圖。您應(yīng)該會(huì)在顯示屏上看到 HELLO ,并且它可能會(huì)或可能不會(huì)向后打印。如果文本是向后的,則必須更改以下行:
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
To
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
再次上傳草圖,該問(wèn)題應(yīng)得到解決。/p》
現(xiàn)在我們已經(jīng)測(cè)試了組件,我們準(zhǔn)備將所有組件連接在一起!
步驟4:接線
請(qǐng)參閱圖表或原理圖或表格
第5步:代碼
在此處獲取代碼
注意:我最初使用的是Electronic Projects的代碼,但對(duì)其進(jìn)行了修改以支持當(dāng)前的庫(kù)(在完成時(shí))。
時(shí)鐘功能:
時(shí)鐘會(huì)自動(dòng)設(shè)置為以24小時(shí)制顯示時(shí)間,但可以輕松更改為12小時(shí)。時(shí)鐘還將顯示溫度(以攝氏度和華氏度為單位)。我還包括一個(gè)名為“睡眠模式”的功能,該功能設(shè)置為“關(guān)閉”(有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn)下面的睡眠模式)。
12hr格式: 要設(shè)置時(shí)鐘以12小時(shí)格式顯示時(shí)間,您必須注釋第88行
hour =Clock.gethour(h12,PM); //24hr Format
,并取消注釋第93至100行
if (Clock.getHour(h12,PM)》=13 || Clock.getHour(h12,PM)==0)
{
h = Clock.getHour(12,PM) - 12;
}
else
{
h = Clock.getHour(h12,PM);
}
睡眠模式:
此功能有助于降低時(shí)鐘的亮度,尤其是在我們睡覺(jué)的時(shí)間。我不認(rèn)為您想在深夜醒來(lái)并被這個(gè)時(shí)鐘蒙蔽。即使處于最低設(shè)置,它也非常明亮。要啟用睡眠模式,請(qǐng)取消注釋行177到184
if(h == 12 || h《8) //Time intervals (in this case, from 12AM to 8AM)
{
P.setIntensity(0); //Set display brightness to lowest setting
}
else
{
P.setIntensity(6); //Set display brightness to 6 (15 is the brightest)
}
注意:當(dāng)時(shí)鐘設(shè)置為12hr模式時(shí),使用睡眠模式時(shí)遇到了一個(gè)問(wèn)題。您會(huì)注意到,由于將上午8點(diǎn)和晚上8點(diǎn)都解釋為8,所以它將每天運(yùn)行兩次。因此,如果將睡眠模式設(shè)置為從晚上9點(diǎn)至早上7點(diǎn)處于活動(dòng)狀態(tài),則它將從上午9點(diǎn)至晚上7點(diǎn)處于活動(dòng)狀態(tài)。但是,如果時(shí)鐘設(shè)置為24小時(shí)模式,則不會(huì)發(fā)生此問(wèn)題。
-
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1901瀏覽量
133242 -
Arduino
+關(guān)注
關(guān)注
190文章
6498瀏覽量
192210
發(fā)布評(píng)論請(qǐng)先 登錄
免費(fèi)分享Arduino入門(mén)+進(jìn)階(全套例程+書(shū)籍)

《ESP32S3 Arduino開(kāi)發(fā)指南》第二章 Arduino基礎(chǔ)知識(shí)
開(kāi)源項(xiàng)目!手把手教你制作一個(gè)互動(dòng)式LED墻壁時(shí)鐘!
I2C總線與Arduino的接口示例
自己設(shè)計(jì)的Arduino UNO R3主控板原理圖+PCB源文件(可直接打樣)
開(kāi)源項(xiàng)目!基于 Arduino 的 MIDI 架子鼓
基于Arduino的串口通信項(xiàng)目
stm32與Arduino的比較
如何使用Arduino實(shí)現(xiàn)CAN總線通信
MATLAB(6)--特殊矩陣
MATLAB(2)--MATLAB矩陣的表示
MATLAB中的矩陣索引

機(jī)器人的三大矩陣是什么及關(guān)系式
XLT開(kāi)關(guān)矩陣

評(píng)論