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