資料介紹
描述
抽象的:
作為一名即將畢業(yè)的電氣工程師,我想為畢業(yè)做一些特別的事情。開(kāi)派對(duì)或做一些有趣的事情通常不是我的首選,所以我決定開(kāi)始一個(gè)項(xiàng)目。這不僅僅是任何項(xiàng)目。這將是一個(gè)帶 LED 的畢業(yè)帽!
現(xiàn)在,這個(gè)前提有點(diǎn)蹩腳。任何人都可以在畢業(yè)帽上添加 LED 以顯示漂亮的顏色或圖案。考慮到這一點(diǎn),我決定帽子需要是一個(gè)能夠顯示圖像和文本的 LED 矩陣。雖然這已經(jīng)是一個(gè)很酷的項(xiàng)目,但需要在項(xiàng)目中添加另一層。一些混亂和辛辣的東西。所以,就像互聯(lián)網(wǎng)上的其他人一樣,我轉(zhuǎn)向社交媒體尋求想法,你瞧,我有完美的混亂元素要添加!
然后決定人們應(yīng)該能夠在我的畢業(yè)帽上播放信息。這些消息可以很容易地從一些社交媒體網(wǎng)站上抓取,并且帽子會(huì)自動(dòng)檢索、格式化,然后在畢業(yè)典禮期間實(shí)時(shí)顯示這些消息。最后,人們可以說(shuō)出他們?cè)诋厴I(yè)時(shí)的真實(shí)感受,并將其顯示在一個(gè)小小的畢業(yè)帽上,讓少數(shù)人看到。
要求:
對(duì)該項(xiàng)目的要求相當(dāng)簡(jiǎn)單。我希望帽子完全獨(dú)立工作,不受我的監(jiān)督。這意味著帽子必須檢索和顯示消息,而無(wú)需我檢查社交媒體或擔(dān)心帽子的內(nèi)容。
為了使其易于使用,我希望系統(tǒng)能夠使用我褲子口袋中的 5 伏電池組。使用 28500mAh 電池組為設(shè)備供電,我不太關(guān)心電源效率,但我想將系統(tǒng)設(shè)計(jì)為不浪費(fèi)電力,以便系統(tǒng)無(wú)需充電即可運(yùn)行整整 8 小時(shí)。
最后,我不想在這方面花太多錢(qián),因?yàn)槲沂且粋€(gè)貧窮的大學(xué)生,有一張花哨/昂貴的紙,還買(mǎi)不起好東西。這意味著我不能使用花哨的 LED 矩陣解決方案,而是選擇將整個(gè)項(xiàng)目保持在 50 美元以下。
設(shè)計(jì):
對(duì)于那些從未見(jiàn)過(guò)的人來(lái)說(shuō),畢業(yè)帽是一個(gè)黑色方形頭飾,尺寸為 9.5 英寸 X 9.5 英寸。我為畢業(yè)買(mǎi)的帽子用一塊紙板形成方形底座,一塊黑布覆蓋并固定在紙板方形上。然后將另一塊布材料固定在紙板底座上,這次是在帽子下面,這樣帽子就可以貼合并留在頭上。
通常,這些頭飾上飾有油漆或可以固定在帽子上的東西。在我的情況下,我需要將蓋子剝離到底座紙板上,添加 LED,然后更換頂部的黑布并重新組裝蓋子。為了使整個(gè)過(guò)程更容易,可尋址 LED 燈條將用于創(chuàng)建 LED 矩陣和微控制器,在帽的中心下方,將連接以控制帽的功能。
機(jī)械設(shè)計(jì):
在購(gòu)買(mǎi)了 16 英尺的 WS2812B LED 燈條后,我將燈條切割成每條 14 個(gè) LED 的長(zhǎng)度。這個(gè)長(zhǎng)度是通過(guò)嘗試將盡可能多的 LED 排成一排來(lái)決定的,同時(shí)在兩側(cè)留出空間用于布線(xiàn)。
切割 14 條 LED 燈條后,我標(biāo)記了燈罩,以指示燈罩兩側(cè)每個(gè) LED 燈條的中心點(diǎn)。這使所有 LED 燈條彼此平行,提供了美觀且均勻的顯示效果。
現(xiàn)在開(kāi)始將所有 LED 連接焊接在一起。為了使焊接更容易,我連接了 LED 燈條,使接線(xiàn)在燈條之間曲折,這意味著我必須在編程中每隔一行反轉(zhuǎn)一次,但這降低了電線(xiàn)電阻并使焊接變得輕而易舉。
此時(shí),我使用產(chǎn)品隨附的 LED 燈控制器測(cè)試了生成的矩陣。連接好所有東西后,我運(yùn)行了一個(gè)基本例程,在 LED 燈串上顯示不同的顏色。該測(cè)試成功運(yùn)行,點(diǎn)亮了我固定在紙板上的每個(gè) LED 段。
現(xiàn)在一切正常,是時(shí)候看看重新裝上黑布后帽子會(huì)是什么樣子了。在這一點(diǎn)上,我擔(dān)心 LED 不能很好地透過(guò)黑色織物發(fā)光。在將織物放置到位的帽子上運(yùn)行相同的測(cè)試程序后,這種擔(dān)心被證明是沒(méi)有根據(jù)的。如果有的話(huà),LED 太亮了,并且在全亮度下消耗大約 2.5 安培,開(kāi)始變熱,我擔(dān)心它會(huì)開(kāi)始融化一些東西。
隨著項(xiàng)目的所有機(jī)械部件工作正常,我用膠帶和熱膠重新連接了布套,然后開(kāi)始研究控制電子設(shè)備。
電氣設(shè)計(jì):
為了控制 WS2812B LED 燈條,使用 5V 數(shù)據(jù)線(xiàn)通過(guò)單線(xiàn)控制接口傳輸數(shù)據(jù)。LED 燈條需要 5V 和 GND 連接,使用的電線(xiàn)/電路可以處理最大 3 安培的電流(最好是越過(guò)然后越過(guò))。這些條帶的電源直接來(lái)自用于為項(xiàng)目供電的 5V 電池組。
ESP32 被選為這個(gè)項(xiàng)目的主要微控制器,因?yàn)槲蚁胍粋€(gè)可以輕松連接到 Internet 網(wǎng)絡(luò)的設(shè)備。由于 ESP 內(nèi)置了 Wi-Fi 收發(fā)器,因此它是用于該項(xiàng)目的理想芯片。ESP 使用 3.3V 電源并輸出 3.3V 邏輯電平,因此我需要確保 LED 可以使用 3.3V 邏輯。數(shù)據(jù)表顯示邏輯高閾值為 3.5V,但經(jīng)過(guò)測(cè)試,證明這些 LED 可以與 3.3V 邏輯一起使用。理想情況下,應(yīng)該使用電平轉(zhuǎn)換器將 3.3V 邏輯轉(zhuǎn)換為 5V,但這是不必要的,因?yàn)檫@是一個(gè)不需要 100% 可靠的 DIY 愛(ài)好項(xiàng)目(盡管我仍然嘗試滿(mǎn)足該可靠性指標(biāo))。
這導(dǎo)致了如下所示的電路。AMS1117-3.3V 芯片用于創(chuàng)建一個(gè)干凈(盡管效率低下)的 3.3V 電源,并且各種引腳連接到公水平連接器。
為了把所有東西都裝進(jìn)一個(gè)小而薄的包裝中,我將組件布置在一個(gè) 1.5 英寸 x 2 英寸的電路板上。使用了粗跡線(xiàn)和通孔,因此我可以輕松地在我的 CNC 機(jī)器上制造電路板,并注意確保所有跡線(xiàn)都能處理所需的最大電流值。
然后必須組裝和焊接電路板。由于第一次電路板迭代中的錯(cuò)誤,圖中的 PCB 與上圖所示的成品 PCB 不匹配。成品板和蓋子如下所示:
物料清單:
該項(xiàng)目中使用的所有部件都包含在以下 BOM 中。總體而言,該項(xiàng)目的成本為 30.70 美元,不包括 5V 電池電源或畢業(yè)帽。
編程:
對(duì) ESP32 進(jìn)行編程允許在該項(xiàng)目中使用多種編程語(yǔ)言。為了簡(jiǎn)化字符串?dāng)?shù)據(jù)的處理,我選擇了 Micropython 固件語(yǔ)言來(lái)完成我的所有開(kāi)發(fā)工作。雖然 C 和 Lua 可以更有效地處理內(nèi)存和程序操作,但軟件效率并不是最重要的。相反,我想確保連接到互聯(lián)網(wǎng)很簡(jiǎn)單,并且我想在不使用 SD 卡接口的情況下將數(shù)據(jù)記錄到設(shè)備上。Micropython 請(qǐng)求庫(kù)允許輕松的 HTTPS 連接,python 具有動(dòng)態(tài)內(nèi)存分配的優(yōu)勢(shì),允許 HTTPS 請(qǐng)求具有不同的有效負(fù)載大小,而不會(huì)過(guò)度分配 RAM。最后,Micropython 文件系統(tǒng)允許直接在閃存中創(chuàng)建和修改文件,
第一個(gè)挑戰(zhàn)是用自定義圖像點(diǎn)亮 LED 矩陣。為此,我修改了在 Internet 上找到的 WS2812B Micropython 模塊,并添加了一個(gè)“ display_sprite() ”函數(shù)來(lái)生成一個(gè) 196 索引數(shù)組,該數(shù)組將傳遞給 WS2812B 模塊。這具有顯示填充了顏色值的 14x14 數(shù)組中的圖像的結(jié)果。因?yàn)槲以?LED 燈條中使用了鋸齒形布線(xiàn)模式,所以我必須每隔一行反轉(zhuǎn)一次才能準(zhǔn)確顯示圖像。如果沒(méi)有這種反轉(zhuǎn),精靈本身將需要每隔一行反轉(zhuǎn),這使得格式化/精靈創(chuàng)建更加困難,因此只要程序?yàn)?WS2812B 模塊生成數(shù)組,就會(huì)處理反轉(zhuǎn)。下圖中可以看到其中一個(gè)精靈:
第二個(gè)挑戰(zhàn)是在 LED 矩陣上創(chuàng)建滾動(dòng)文本。我在 WS2812B 模塊中或通過(guò) Internet 上的模塊無(wú)法找到任何功能來(lái)顯示文本,因此我不得不創(chuàng)建自己的功能。這涉及創(chuàng)建我自己的 6x3 和 7x4 像素字體模塊(使用我在網(wǎng)上找到的像素字體,我沒(méi)那么有創(chuàng)意)以及將像素向左移動(dòng)一位的緩沖協(xié)議,從而創(chuàng)建滾動(dòng)文本效果。矩陣被分成 7x14 像素的部分,因此滾動(dòng)文本可以從下半部分開(kāi)始,并在滾動(dòng)到屏幕外之前繼續(xù)滾動(dòng)到上半部分。為了正確開(kāi)發(fā)此功能,我在一個(gè)數(shù)組中創(chuàng)建了 14 個(gè)二進(jìn)制數(shù),并使用位移和一些 if-else 邏輯來(lái)有效地在顯示器上滾動(dòng)文本。
該項(xiàng)目的最大挑戰(zhàn)是將微控制器連接到社交媒體。我沒(méi)有讓任何人通過(guò) Twitter 或 Facebook 等平臺(tái)發(fā)布消息,而是決定使用我大學(xué)內(nèi)大多數(shù)本科電氣工程師用來(lái)相互交流的 Discord 頻道。這樣做的好處是限制了人們發(fā)布信息的能力,防止隨機(jī)噴子到處投擲炸彈,同時(shí)還允許那些將在開(kāi)始時(shí)參與的人。
為了讓這個(gè)功能發(fā)揮作用,我必須創(chuàng)建一個(gè) Discord 機(jī)器人,它可以訪(fǎng)問(wèn) Discord API 以從 Discord 組的“General”頻道獲取消息。該機(jī)器人能夠通過(guò)分配給機(jī)器人的特殊令牌訪(fǎng)問(wèn) API,該令牌用于授權(quán)機(jī)器人具有正確的憑據(jù)。向 Discord API 發(fā)出 HTTPS GET 請(qǐng)求,使用授權(quán)令牌作為標(biāo)頭字段,并發(fā)回消息的 JSON 響應(yīng)。然后程序遍歷所有接收到的消息,尋找與機(jī)器人的 Discord ID 對(duì)應(yīng)的整數(shù)代碼。如果在消息中找到 ID,表明提到了機(jī)器人(“@GradCapBot”),則消息將保存到局部變量中,程序?qū)⑼瓿蓪?duì)所有消息的檢查。
現(xiàn)在程序有一些消息要顯示,程序格式化它將顯示的文本,然后以新文本作為參數(shù)調(diào)用“ display_7x4_text()” 。程序繼續(xù)顯示所有消息,直到顯示所有消息。此過(guò)程循環(huán)運(yùn)行,因此程序始終在尋找要顯示的新消息。如果沒(méi)有要顯示的新消息,我不希望帽子閑置而沒(méi)有顯示任何內(nèi)容。因此,如果沒(méi)有要顯示的新消息,程序會(huì)顯示編程到閃存中的 10 個(gè)圖像之一。然后每個(gè)圖像顯示 5 秒鐘,然后程序再次檢查新消息。
創(chuàng)建了一個(gè)基本的文本過(guò)濾器來(lái)過(guò)濾掉 75 個(gè)“壞詞”,盡管這個(gè)列表不是很全面。過(guò)濾掉明顯的臟話(huà)和誹謗就足夠了,所以我不會(huì)表現(xiàn)出完全令人反感的東西。雖然這個(gè)過(guò)濾器可能很容易繞過(guò),但我還包括一個(gè)將消息詳細(xì)信息保存到閃存中的功能,這樣我就可以查看顯示的消息文本以及發(fā)送消息的人。
手術(shù):
當(dāng) ESP32 連接到串口監(jiān)視器時(shí),可以通過(guò) REPL 提示符控制程序。使用“串行 USB 終端”Android 應(yīng)用程序,我的手機(jī)可以充當(dāng)串行監(jiān)視器,直接與 ESP32 接口,只需按一下按鈕即可運(yùn)行一些預(yù)編程的功能。此方法還允許我顯示非格式化文本或顯示特定精靈。
?
- 智能安全帽開(kāi)源構(gòu)建
- Grove Raspberry Pi電源帽開(kāi)源
- 智能帽開(kāi)源硬件
- 散熱風(fēng)扇帽開(kāi)源分享
- RGBW LED燈帶水族燈開(kāi)源項(xiàng)目
- Raspberry Pi GPIO帽開(kāi)源分享
- RS485/RS422/RS232覆盆子帽開(kāi)源項(xiàng)目
- 樹(shù)莓派4中繼帽開(kāi)源分享
- 40v樹(shù)莓派電壓調(diào)節(jié)帽開(kāi)源項(xiàng)目
- Raspberry Pi零GPS和相機(jī)帽開(kāi)源分享
- 帶UWB定位標(biāo)簽的安全帽VDU1506數(shù)據(jù)手冊(cè) 0次下載
- 帶鍵盤(pán)掃描接口的LED驅(qū)動(dòng)控制專(zhuān)用芯片TM1639 11次下載
- 最全智能小車(chē)資料!帶原理圖、源代碼、完整論文 47次下載
- LED的驅(qū)動(dòng)電路研究—畢業(yè)論文
- 帶式輸送機(jī)畢業(yè)設(shè)計(jì)論文
- Arduino WS2812B LED燈帶設(shè)計(jì)方案 1.2w次閱讀
- dfrobotRGB LED燈帶驅(qū)動(dòng)拓展板簡(jiǎn)介 2717次閱讀
- dfrobot多彩跳帽簡(jiǎn)介 2866次閱讀
- dfrobot防水LED銅線(xiàn)燈帶5米綠色簡(jiǎn)介 2076次閱讀
- dfrobot防水LED銅線(xiàn)燈帶5米藍(lán)色簡(jiǎn)介 2113次閱讀
- dfrobot防水LED銅線(xiàn)燈帶5米純白簡(jiǎn)介 2096次閱讀
- dfrobot防水LED銅線(xiàn)燈帶5米紅色簡(jiǎn)介 2326次閱讀
- LED燈帶插頭如何安裝_LED燈帶安裝注意事項(xiàng) 1.8w次閱讀
- LED燈帶的特性及如何鑒別它的好壞 9544次閱讀
- led燈帶基礎(chǔ)知識(shí)及安裝 3.1w次閱讀
- led燈帶可以隨便剪嗎_led燈帶怎么裁切 9.7w次閱讀
- 室外led燈帶怎么安裝_室外led燈帶安裝方法 2.6w次閱讀
- led燈帶安裝接線(xiàn)圖_安裝led燈帶的5種方法 27.5w次閱讀
- led燈帶不亮了怎么修_led燈帶維修方法 13.3w次閱讀
- led燈帶怎么接線(xiàn)_led燈帶安裝接線(xiàn)圖解 60.4w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多