第1步:收集組件
該項目所需的組件:
Max7219點矩陣顯示
RTC DS3231
3V CR3032電池(用于DS3231)
此外,您需要一個Arduino電池種類(最好是Nano,以最小化項目的大小),面包板,跳線以及PC上安裝的Arduino IDE。
步驟2:庫
下載以下庫并通過將
轉(zhuǎn)到 Sketch》 Include Library》 Add .Zip將.zip文件安裝到Arduino IDE中。庫
注意:版本問題!!!
* 下載前使用正確的版本。為了安全起見,我建議下載Arduino IDE中的每個庫。
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”,您應該看到以下內(nèi)容(參見圖片):
僅安裝MD_MAX72XX和MD_Parola。 不需要 。
步驟3:測試組件
之后安裝庫,分別測試組件,以確保它們可以正常工作。在將所有組件連接在一起之前,請先執(zhí)行以下步驟。
要測試DS3231 RTC模塊,請將DS3231連接到Arduino(請參見下面的接線)。然后在Arduino IDE中,轉(zhuǎn)到文件》示例》 DS3231》 DS3231_Test 并上傳草圖。打開串行監(jiān)視器,檢查是否獲得正確的日期,時間,日期等。
要測試矩陣顯示,請首先將其連接到Arduino(請參見下面的接線)。接下來,在Arduino IDE中,轉(zhuǎn)到文件》示例》 MD_Parola》 Parola_HelloWorld 并上傳草圖。您應該會在顯示屏上看到 HELLO ,并且它可能會或可能不會向后打印。如果文本是向后的,則必須更改以下行:
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
To
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
再次上傳草圖,該問題應得到解決。/p》
現(xiàn)在我們已經(jīng)測試了組件,我們準備將所有組件連接在一起!
步驟4:接線
請參閱圖表或原理圖或表格
第5步:代碼
在此處獲取代碼
注意:我最初使用的是Electronic Projects的代碼,但對其進行了修改以支持當前的庫(在完成時)。
時鐘功能:
時鐘會自動設置為以24小時制顯示時間,但可以輕松更改為12小時。時鐘還將顯示溫度(以攝氏度和華氏度為單位)。我還包括一個名為“睡眠模式”的功能,該功能設置為“關(guān)閉”(有關(guān)詳細信息,請參見下面的睡眠模式)。
12hr格式: 要設置時鐘以12小時格式顯示時間,您必須注釋第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);
}
睡眠模式:
此功能有助于降低時鐘的亮度,尤其是在我們睡覺的時間。我不認為您想在深夜醒來并被這個時鐘蒙蔽。即使處于最低設置,它也非常明亮。要啟用睡眠模式,請取消注釋行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)
}
注意:當時鐘設置為12hr模式時,使用睡眠模式時遇到了一個問題。您會注意到,由于將上午8點和晚上8點都解釋為8,所以它將每天運行兩次。因此,如果將睡眠模式設置為從晚上9點至早上7點處于活動狀態(tài),則它將從上午9點至晚上7點處于活動狀態(tài)。但是,如果時鐘設置為24小時模式,則不會發(fā)生此問題。
-
時鐘
+關(guān)注
關(guān)注
11文章
1750瀏覽量
131953 -
Arduino
+關(guān)注
關(guān)注
188文章
6478瀏覽量
188273
發(fā)布評論請先 登錄
相關(guān)推薦
開源項目!手把手教你制作一個互動式LED墻壁時鐘!
I2C總線與Arduino的接口示例
自己設計的Arduino UNO R3主控板原理圖+PCB源文件(可直接打樣)
開源項目!基于 Arduino 的 MIDI 架子鼓
基于Arduino的串口通信項目
MATLAB(6)--特殊矩陣
MATLAB(2)--MATLAB矩陣的表示
MATLAB中的矩陣索引

XLT開關(guān)矩陣

支持 GPS,基于 Arduino 的墨水屏時鐘(文末可下載完整文件)
【Vision Board創(chuàng)客營連載體驗】利用 OpenMV 實現(xiàn) AprilTag 跟蹤以及通過串口通訊控制 Arduino 驅(qū)動 LED 燈帶
如何用Arduino制作一個簡易自動喂魚器
如何制作自己的Arduino電容計

評論