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