構(gòu)建一個日期計數(shù)器
一個10x10的LED矩陣顯示當(dāng)月的當(dāng)前日期,隨著日期的進(jìn)展,顏色從紅色過渡到綠色。
大家好,歡迎回來,這里有一些令人興奮的東西。
Date Counter是一個基于Raspberry Pi Pico w的矩陣板,它使用來自NTP客戶端的數(shù)據(jù)在RGB矩陣上顯示當(dāng)前日期。
此日期計數(shù)器類似于時鐘,顯示當(dāng)月的當(dāng)前日期。這是一款有趣又引人注目的記錄日期的設(shè)備,它的顏色會隨著日子的流逝而從紅色變成綠色。它不像時鐘那樣精確,有小時、分鐘和秒,但它確實(shí)提供了一個清晰的每日指示,告訴你這個月的位置。
我們這個項(xiàng)目的目標(biāo)是開發(fā)一個基本的桌面日期時鐘,告訴我們今天是幾號;它從紅色開始,隨著時間的推移變成綠色,標(biāo)志著這個月的結(jié)束。
這個項(xiàng)目基本上是未來的Matrix Clock項(xiàng)目的第一個版本,我將展示它,這意味著本文涵蓋了這個項(xiàng)目的整個構(gòu)建過程,所以讓我們從構(gòu)建開始。
材料要求
這些是這個項(xiàng)目需要的材料。
?定制PCB (HQ NextPCB提供)
?樹莓派PICO W
?WS2812B發(fā)光二極管
?100uF Capacitors
?焊錫膏
?回流電爐
矩陣的設(shè)計
在這個項(xiàng)目中,我們利用了我們以前的矩陣項(xiàng)目之一,這是一個帶有專用微控制器板(樹莓派PICO)的矩陣,可以用于未來基于RGB矩陣的項(xiàng)目,包括我們的日期計數(shù)器。
本項(xiàng)目電路的兩個主要組成部分是LED矩陣本身,它由100個以標(biāo)準(zhǔn)格式連接的WS2812B LED組成,將第一個LED的輸出連接到第二個din,第二個LED的輸出連接到第二個din,以此類推,直到第100個LED。每個LED的VCC和GND并聯(lián)連接。
該電路的第二個組件是一個樹莓派Pico W.第一個LED Din連接到樹莓派Pico的GPIO D0。我們將USB Type-C端口與Pico的5V IN和GND連接器放在一起,使用Type-C連接器為電路板供電。
我們在每個WS2812B LED上放置了100個去耦電容器,但最終,我們只使用了10x 100 nF電容器,每排一個。
設(shè)計完成后,我們將其保存為板文件,并將所有100個led放在10x10的行和列網(wǎng)格中。
請注意,D1到D10的led放置在一排。D11出現(xiàn)在新列的開頭,并擴(kuò)展到D20,然后是D21,它出現(xiàn)在下一列的開頭,并擴(kuò)展到D100。這也被稱為蛇形矩陣或蛇形矩陣圖案。
在建立PCB并安裝Pico和所有SMD組件后,我們導(dǎo)出了Gerber數(shù)據(jù),這些數(shù)據(jù)將發(fā)送給PCB制造商以獲取樣品。
HQ NextPCB服務(wù)
PCB設(shè)計完成后,我們導(dǎo)出Gerber數(shù)據(jù),發(fā)送給HQ NextPCB取樣。
對于中間層和頂層板,有兩個訂單。我們?yōu)橹虚g層和頂層板訂購了一個黑色的帶白色屏幕的阻焊板。
下訂單后,PCB在一周內(nèi)收到,PCB質(zhì)量非常好。
另外,我要把HQDFM帶給你,它在很多項(xiàng)目中給了我很大的幫助。華秋的內(nèi)部工程師開發(fā)了免費(fèi)的制造設(shè)計軟件HQDFM,徹底改變了PCB設(shè)計師如何可視化和驗(yàn)證他們的設(shè)計。
利用NextPCB的加速器活動,為您的創(chuàng)新項(xiàng)目獲得2個免費(fèi)組裝的基于rp2040的pcb。
此報價涵蓋所有費(fèi)用,包括物流,使您的想法更容易,更實(shí)惠的生活。SMT服務(wù)可能很昂貴,但NextPCB可以幫助您克服這一障礙。只要分享你的相關(guān)項(xiàng)目,他們就會處理好剩下的事情。不要錯過這個提升你的科技創(chuàng)作的絕佳機(jī)會!
HQDFM:免費(fèi)在線Gerber查看器和DFM分析工具
此外,NextPCB有自己的Gerber Viewer和DFM分析軟件。
您的設(shè)計可以通過他們的HQDFM軟件(DFM)服務(wù)得到改進(jìn)。因?yàn)槲野l(fā)現(xiàn)等待制造商的DFM報告很煩人,所以HQDFM是執(zhí)行事件前自檢的最有效方法。
以下是在線Gerber Viewer向我展示的內(nèi)容。再清楚不過了。然而,對于完整的功能,如DFM分析的PCBA,你需要下載的軟件。在線版本僅提供簡單的PCB DFM報告。
具有全面的制造設(shè)計(DFM)分析功能,HQDFM是一個免費(fèi)的,復(fù)雜的在線PCB Gerber文件查看器。
它利用超過15年的行業(yè)專業(yè)知識提供了對先進(jìn)制造的見解。如果你想以合理的價格獲得優(yōu)質(zhì)的PCB服務(wù),你可以看看HQ NextPCB。
印刷電路板組裝
使用焊錫膏點(diǎn)針,我們將焊錫膏涂在每個元件墊上,開始電路組裝過程。在這種情況下,我們使用63/37 SnPB焊膏。
之后,我們選擇每個WS2812B LED并將其放置到正確的位置。
然后通過將電路放在回流加熱板上,將PCB從下面加熱到錫膏熔化溫度,這使得所有的SMD led都連接到它們的焊盤上。
回流后,我們放置THT組件,其中包括用于樹莓派Pico W的母頭引腳連接器和usb型C端口。
使用烙鐵,我們從電路板的底部焊接每個通孔組件的引線。
最后,我們將樹莓派PICO W安裝在引腳上,PCB組裝過程完成。
演示測試代碼
對于這個項(xiàng)目的Demo測試草圖,我們創(chuàng)建了一個數(shù)字計數(shù)器草圖,以1秒的間隔從1計數(shù)到30。我們在這個測試代碼中添加了一個特性,使顏色從紅色變?yōu)榫G色。
在這里,我們以紅色開始一個月,隨著日子的流逝,我們接近30,顏色從紅色變成綠色。
確保安裝所需的庫:在使用此草圖之前,安裝Adafruit NeoPixel, Adafruit GFX和Adafruit neommatrix。
主要代碼
在測試了演示測試代碼之后,讓我們來看看這個項(xiàng)目的主代碼,這是一個簡單的代碼。
我們的代碼旨在在LED矩陣上顯示當(dāng)月的當(dāng)前日期,隨著日期的進(jìn)展,顏色從紅色過渡到綠色。腳本首先導(dǎo)入以下庫:WiFi, NTPClient和WiFiUdp用于管理WiFi連接和從NTP服務(wù)器檢索時間;Adafruit_NeoPixel, Adafruit_GFX和Adafruit_NeoMatrix用于控制LED矩陣。
一個NTP客戶端被實(shí)例化,以檢索當(dāng)前時間從“pool.ntp.org”NTP服務(wù)器,與印度標(biāo)準(zhǔn)時間(UTC+5:30)的偏移。
LED矩陣配置了一個定義為GPIO 12的引腳,尺寸為10x10,并指定了連接和顏色順序。
在setup()函數(shù)中,啟動串行通信以進(jìn)行調(diào)試。LED矩陣用指定的設(shè)置初始化,包括亮度和文本旋轉(zhuǎn)。然后,腳本嘗試使用提供的憑據(jù)連接到WiFi網(wǎng)絡(luò),直到連接建立。連接后,NTP客戶端開始檢索當(dāng)前時間。
在loop()函數(shù)中,更新NTP客戶端以從NTP服務(wù)器檢索最近的時間。檢索當(dāng)前日期和時間并將其存儲為struct對象。然后提取當(dāng)月的當(dāng)前日期并將其轉(zhuǎn)換為字符串。用來表示一天的顏色是由一個月中的哪一天決定的,從1號的紅色到30號或31號的綠色。然后清除LED矩陣,并以計算的顏色以矩陣為中心打印當(dāng)前日期。顯示器每秒鐘刷新一次,以確保它是最新的。
結(jié)果
這個簡單但實(shí)用的構(gòu)建的最終結(jié)果是一個日期計數(shù)器,它顯示當(dāng)月的當(dāng)前日期,并具有隨著時間的推移從紅色變?yōu)榫G色的顏色轉(zhuǎn)換。
該項(xiàng)目通過結(jié)合WiFi連接、NTP服務(wù)器時間檢索和LED矩陣顯示,創(chuàng)建了一個動態(tài)的、視覺上吸引人的日期計數(shù)器。
我希望在下一版中改進(jìn)矩陣大小。我們現(xiàn)在使用的是一個10x10的矩陣,如果我們只想顯示一個數(shù)字,這是可以的,但我們想要顯示整個日期,包括月份和年份;因此,我們需要顯著增加矩陣。
此外,我們將增加板載電源,這樣整個設(shè)備就可以在不使用USB端口的外部電源的情況下工作。
本文編譯自hackster.io