資料介紹
描述
概述
我已經(jīng)建立了幾個(gè)時(shí)鐘。我喜歡那些連接到互聯(lián)網(wǎng)并設(shè)置自己的。這個(gè)應(yīng)該是有教育意義的,因?yàn)樗Y(jié)合了一堆不同的技術(shù)來(lái)生產(chǎn)一個(gè)非常有趣的時(shí)鐘。
首先,我們使用帶有內(nèi)置 WiFi 和許多強(qiáng)大功能的 ESP32 處理器。憑借其 WiFi 功能,我們從 Internet 獲取 NTP 或 Epoch 時(shí)間,并使用它來(lái)配置 DS3231 RTC(實(shí)時(shí)時(shí)鐘)模塊。
我們將其與 32x8 靈活的 WS2812B LED 矩陣顯示器相結(jié)合,并使用 FastLED 庫(kù)來(lái)控制可編程 LED。我編寫(xiě)了自己的矩陣?yán)?- 即處理從單鏈可編程 LED(實(shí)際上是這個(gè)顯示器)到由其 XY 坐標(biāo)尋址的 LED 矩陣的轉(zhuǎn)換的例程。
從技術(shù)上講,由于 ESP32 是 3.3 伏邏輯,LED 矩陣是 5 伏,我們應(yīng)該為數(shù)據(jù)線使用電平轉(zhuǎn)換器,但我覺(jué)得沒(méi)有必要。LED 顯示屏對(duì) 3.3 伏邏輯信號(hào)響應(yīng)良好。
最后,為了在我們的 LED 矩陣上顯示時(shí)間,我們需要一種適合我們的 32 x 8 LED 矩陣的字體。我們需要軟件來(lái)在顯示屏上顯示數(shù)字。所以我們的時(shí)鐘軟件做了很多事情來(lái)制作這個(gè)簡(jiǎn)單的時(shí)鐘!
說(shuō)到滴答聲,我們的顯示器只夠顯示小時(shí)和分鐘。所以我以兩種方式處理秒數(shù)。首先,閃爍的冒號(hào)顯示秒。此外,顯示屏的顏色會(huì)以秒為單位告訴我們大致所處的位置。一分鐘開(kāi)始時(shí),顯示為綠色。在前 30 秒內(nèi),它逐漸從綠色變?yōu)樗{(lán)色。在第二個(gè) 30 秒內(nèi),它逐漸從藍(lán)色變?yōu)榧t色,當(dāng)分鐘變化時(shí)又變回綠色。這些顏色變化是使用 256 種彩虹色調(diào)完成的,這是 FastLED 庫(kù)中內(nèi)置的一項(xiàng)功能。
電源由一個(gè) 5 伏的小型墻磚提供,但 ESP32 和 RTC 還需要 3.3 伏。它源自 LM2596 可調(diào)降壓穩(wěn)壓器模塊。它需要調(diào)整并設(shè)置為 3.3 伏輸出。
建筑/硬件
硬件非常簡(jiǎn)單。我們的 ESP32 板是 Adafruit Huzzah ESP32 Feather,盡管我懷疑任何 ESP32 板都可以工作。示意圖如下所示:
LED 顯示器有一個(gè)三線輸入、一個(gè)三線輸出(連接到潛在的第二個(gè)顯示器)和單獨(dú)的電源連接。就我們的目的而言,我們只需要三線輸入,它本身就可以供電。我們只以大約 6% 的最大亮度為 LED 供電,并且任何時(shí)候都只有不到一半的時(shí)間亮著,因此我們不需要連接單獨(dú)的電源線。因此,我們到顯示器的 3 線輸入包括 +5 伏、接地和連接到 ESP32 的數(shù)字引腳 21 的單個(gè)數(shù)據(jù)輸入。
DS3231 RTC模塊有一個(gè)電池的地方,可以在時(shí)鐘關(guān)閉時(shí)保持時(shí)間設(shè)置,但由于每次時(shí)鐘上電時(shí)時(shí)鐘都會(huì)將RTC重置為互聯(lián)網(wǎng)時(shí)間,因此電池確實(shí)是不必要的。
降壓穩(wěn)壓??器是 ESP32 和 RTC 使用的 3.3 伏電壓源。需要使用板載電位器將其調(diào)整為輸出 3.3 伏。在連接到處理器之前將電壓設(shè)置為 3.3 伏,然后在負(fù)載下再次檢查電壓以確認(rèn)您有 3.3 伏。
上圖顯示了在安裝顯示器之前時(shí)鐘是如何物理連接的。這個(gè)盒子是 3D 打印的,頂部有一個(gè)凹槽,可以容納顯示器。第二個(gè)名為“顯示器支架”的 3D 打印件被放置在柔性顯示器的后面,以保持其筆直并為其提供一點(diǎn)支撐。包括處理器在內(nèi)的最終組裝中的所有東西都用熱膠固定到位。
軟件
在我們深入了解軟件的任何細(xì)節(jié)之前,需要注意一些設(shè)置項(xiàng)目。這個(gè)時(shí)鐘通過(guò) WiFi 設(shè)置自己,所以你需要給它你的 WiFi 憑據(jù):WiFi 服務(wù)器名稱和密碼。您還需要將您的時(shí)區(qū)指定為與 GMT 的小時(shí)偏移量。(例如,我在 MST(山地標(biāo)準(zhǔn)時(shí)間),距格林威治標(biāo)準(zhǔn)時(shí)間 -7 小時(shí)。)如果您愿意,您也可以更改 NTP 時(shí)間服務(wù)器,但這不是必需的。
另一個(gè)需要注意的細(xì)節(jié)是各種#include。您可能需要安裝 Makuna 的 NTPClient、FastLED 和 Rtc。RtcDS3231.h 是最后一個(gè)的一部分。您可能已經(jīng)擁有的其他物品 - 我有。
安裝必要的庫(kù)后,您應(yīng)該能夠編譯應(yīng)用程序。現(xiàn)在讓我們談?wù)勊侨绾喂ぷ鞯摹?/font>
該軟件基本上由三個(gè)組件組成:
1) 通過(guò) WiFi 連接到 Internet 到 NTP 時(shí)間服務(wù)器以獲取 Epoch 時(shí)間,該時(shí)間定義為自 1970 年初以來(lái)的秒數(shù)。
2) 設(shè)置 RTC(實(shí)時(shí)時(shí)鐘)并使用 Epoch 時(shí)間將其設(shè)置為正確的時(shí)間。
3) 以 24 或 12 小時(shí)格式在顯示屏上顯示時(shí)間。這涉及創(chuàng)建一個(gè) XY 矩陣,其中各個(gè) LED 可以通過(guò)它們的 XY 坐標(biāo)來(lái)尋址,將時(shí)間分解為其組成數(shù)字,然后使用 6x8 像素字體來(lái)顯示這些數(shù)字中的每一個(gè)。
我們的 setup() 例程必須處理上述所有三個(gè)過(guò)程。我們的 loop() 例程的任務(wù)稍微簡(jiǎn)單一些,只需從 RTC 讀取時(shí)間并將其顯示在顯示器上即可。
有一些輔助例程可以幫助顯示時(shí)間:
- setNUM 例程使用我們的字體將單個(gè)數(shù)字放置在顯示屏上的 4 個(gè)位置之一。它通過(guò)將顯示在顯示器上的內(nèi)容存儲(chǔ)在 32 x 8 陣列中來(lái)實(shí)現(xiàn)這一點(diǎn)。
- setColon 例程只是打開(kāi)或關(guān)閉構(gòu)成閃爍冒號(hào)的 8 個(gè) LED。
- myHue 例程將顯示的顏色作為自最后一分鐘更改后的秒數(shù)來(lái)管理。
- 最后,refreshDisplay 例程獲取 32x8 陣列的內(nèi)容并將其投影到顯示器上,從而糾正了顯示器實(shí)際上是在 LED 矩陣上來(lái)回曲折的單串 LED 的事實(shí)。
?
- 小丑時(shí)鐘開(kāi)源分享
- 樂(lè)高時(shí)鐘開(kāi)源設(shè)計(jì)
- 時(shí)鐘開(kāi)源項(xiàng)目
- LED像素時(shí)鐘開(kāi)源分享
- 意大利字時(shí)鐘開(kāi)源分享
- 微時(shí)鐘開(kāi)源設(shè)計(jì)
- 歐姆時(shí)鐘開(kāi)源分享
- LED矩陣時(shí)鐘開(kāi)源分享
- MakeTime時(shí)鐘開(kāi)源分享
- 數(shù)碼時(shí)鐘開(kāi)源分享
- Homematic顯示時(shí)鐘開(kāi)源分享
- Arduino時(shí)鐘開(kāi)源分享
- 大型設(shè)計(jì)中FPGA的多時(shí)鐘設(shè)計(jì)策略詳細(xì)說(shuō)明 14次下載
- Fuzzy控制自調(diào)整函數(shù)設(shè)計(jì) 36次下載
- RFID自調(diào)節(jié)式讀寫(xiě)器控制系統(tǒng)設(shè)計(jì)
- 基于CPU的大型語(yǔ)言模型推理實(shí)驗(yàn) 258次閱讀
- PTP時(shí)鐘源設(shè)備全攻略:從普通時(shí)鐘到透明時(shí)鐘的進(jìn)階之路 1093次閱讀
- FPGA中時(shí)鐘的用法 1368次閱讀
- 50Gb/s波長(zhǎng)自調(diào)諧單纖雙向光模塊介紹 546次閱讀
- 清華等開(kāi)源「工具學(xué)習(xí)基準(zhǔn)」ToolBench,微調(diào)模型ToolLLaMA性能超越ChatGPT 481次閱讀
- 時(shí)鐘抖動(dòng)和時(shí)鐘偏斜講解 2861次閱讀
- 前沿開(kāi)源技術(shù)領(lǐng)域的開(kāi)源大數(shù)據(jù)一一解讀 1005次閱讀
- 支持Python和Java的BigCode開(kāi)源輕量級(jí)語(yǔ)言模型 852次閱讀
- 大型多GHz時(shí)鐘樹(shù)中的時(shí)鐘偏斜 886次閱讀
- 計(jì)算機(jī)視覺(jué)開(kāi)源庫(kù)集錦 5084次閱讀
- 什么是時(shí)鐘呢 時(shí)鐘信號(hào)的關(guān)鍵指標(biāo) 6.1w次閱讀
- 基于STM32時(shí)鐘系統(tǒng)的開(kāi)發(fā)及配置 2224次閱讀
- 什么是時(shí)鐘周期_時(shí)鐘周期怎么算 5w次閱讀
- 時(shí)鐘是怎么恢復(fù)的? 2.1w次閱讀
- FPGA全局時(shí)鐘和第二全局時(shí)鐘資源的使用方法 4665次閱讀
下載排行
本周
- 1使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 2聯(lián)想E46L DAOLL6筆記本電腦圖紙
- 1.10 MB | 2次下載 | 5 積分
- 3MATLAB繪圖合集
- 27.12 MB | 2次下載 | 5 積分
- 4PR735,使用UCC28060的600W交錯(cuò)式PFC轉(zhuǎn)換器
- 540.03KB | 1次下載 | 免費(fèi)
- 5UCC38C42 30W同步降壓轉(zhuǎn)換器參考設(shè)計(jì)
- 428.07KB | 1次下載 | 免費(fèi)
- 6DV2004S1/ES1/HS1快速充電開(kāi)發(fā)系統(tǒng)
- 2.08MB | 1次下載 | 免費(fèi)
- 7模態(tài)分解合集matlab代碼
- 3.03 MB | 1次下載 | 2 積分
- 8美的電磁爐維修手冊(cè)大全
- 1.56 MB | 1次下載 | 5 積分
本月
- 1使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 2UC3842/3/4/5電源管理芯片中文手冊(cè)
- 1.75 MB | 15次下載 | 免費(fèi)
- 3DMT0660數(shù)字萬(wàn)用表產(chǎn)品說(shuō)明書(shū)
- 0.70 MB | 13次下載 | 免費(fèi)
- 4TPS54202H降壓轉(zhuǎn)換器評(píng)估模塊用戶指南
- 1.02MB | 8次下載 | 免費(fèi)
- 5STM32F101x8/STM32F101xB手冊(cè)
- 1.69 MB | 8次下載 | 1 積分
- 6HY12P65/HY12P66數(shù)字萬(wàn)用表芯片規(guī)格書(shū)
- 0.69 MB | 6次下載 | 免費(fèi)
- 7華瑞昇CR216芯片數(shù)字萬(wàn)用表規(guī)格書(shū)附原理圖及校正流程方法
- 0.74 MB | 6次下載 | 3 積分
- 8華瑞昇CR215芯片數(shù)字萬(wàn)用表原理圖
- 0.21 MB | 5次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評(píng)論
查看更多