資料介紹
描述
介紹
大多數人都喜歡 LED 立方體,但是像 8x8x8 這樣的大立方體,無論是構建還是編程都需要大量工作。小型(3x3x3 或 4x4x4)易于構建,這既是因為它們不需要大量 LED,還因為它們不需要外部硬件(如移位寄存器和高端驅動器)來管理立方體。但它們確實與大立方體不同。
從這個項目開始,我的目標是創建一個易于構建的立方體,然后創建足夠酷的軟件來享受大立方體的感覺,而無需承擔構建大立方體所需的所有苦差事。所以這是一個 5x5x5 的立方體,可以直接由 Arduino Mega 供電,除了 5 個晶體管(用于將整個層 - 25 個 LED 的陰極接地)之外,沒有任何輔助硬件的移位寄存器。為什么我要避免使用移位寄存器?因為它們對手線來說絕對是可怕的。(我試過了。)如果你想使用它們,你真的需要設計和制造一塊 PC 板。
過去我為大立方體編寫了很多代碼,所以我改編了一堆現有的立方體動畫來在這個 5x5x5 立方體上運行。
這實際上是這樣的三個項目中的第一個。第二個在這里。它是一個 5x5x5 RGB 立方體,在設計上與這個立方體非常相似,但更難構建。第三個在這里- 一個 8x8x8 單色立方體,同樣具有最少的外部硬件。
注意:在我進一步討論之前,我并不是第一個建議使用 MEGA 驅動的 5x5x5 立方體的人。MEGA DAS 在 2017 年在這里發布了一個類似的項目。兩個項目中的硬件幾乎相同。直到我開始寫這篇文章,我才看到早期的,所以我的引腳不同,電阻值不同,但除此之外,硬件幾乎相同。我發布這個主要是因為我有很多編寫立方體軟件的經驗。我希望我的軟件能說服一些人建造一個可能不會的立方體!
硬件
Mega 有很多數字 IO 引腳。我們使用 5 個將每一層的陰極拉低,并使用 25 個以上將一層內的 25 個 LED 中的每一個的陽極拉高。使用這種方法,Mega 實際上有足夠的 IO 引腳來構建一個 6x6x6 的立方體。但另一個考慮因素是,如果我們試圖保持簡單,那就是權力。Mega 的電流限制為每個引腳 40 毫安,所有引腳總共 200 毫安。藍色 LED 的正向壓降約為 3 伏,我們的共陰極晶體管再下降 0.7 伏。因此,使用 5 伏電源和 180 歐姆電阻,每個 LED 將消耗 7.2 ma。如果一次全部亮起,25 個 LED/層會消耗 180ma。我們一次只打開一層,所以我們滿足了 Mega 的所有電流限制,只要我們使用 NPN 晶體管將一層中的所有陰極拉到地。其中一個晶體管的基極電流使 Mega 的總負載又增加了 5 毫安,但我們將總負載保持在 200 毫安以下。在大約 185 ma。因此,出于上述所有原因,我選擇了 180 歐姆電阻與我們的 LED 配對。
上圖顯示了 Mega 的數字引腳如何連接到立方體。引腳 22 - 26 是驅動將 LED 陰極接地的晶體管的 5 個引腳。引腳 27-51 通過 180 歐姆電阻連接到一層中 25 個 LED 的陽極。
您可能想知道為什么這種引腳排列看起來有點混亂。我的軟件使用直接端口訪問而不是 digitalWrites 來配置陽極,也就是說,將一層中的 25 個 LED 中的每一個設置為開或關。這可以節省大量時間,并且意味著 LED 的亮起時間比您花大量時間進行 digitalWrites 的時間長。因此,引腳排列的排列方式有助于組織對這些數字端口的引用,而不是實際的引腳編號。更多關于軟件的內容。
立方體結構
關于如何構建一個立方體,有很多意見,不管它的大小。無論您采用何種方法,這項任務都很乏味。你必須既小心又耐心才能獲得好的結果。我將向您展示我是如何構建這個的,但如果您愿意,還有其他在線說明。
這個立方體的構造開始于引線形成并將 LED 以 5 列焊接在一起。然后通過將 5 列焊接在一起形成面板,最后通過將 5 個面板焊接在一起形成立方體。以前從未構建過立方體的人不會意識到構建一個完美的立方體是多么困難。導程角的小誤差會迅速累積,即使是間距的微小差異也很容易看到。因此,引線形成步驟至關重要。如果你花時間做對了,你不會得到一個完美的立方體,但你會得到一個看起來合理的立方體。
陽極是 LED 的較長引線,它們向下,但它們需要彎曲到 LED 的側面,以便可以將垂直排的 LED 陽極焊接在一起。陽極偏移和陰極引線必須彼此成 90 度,如這些照片所示。
我個人覺得引線形成既乏味又費力,所以我引線形成 25 個 LED,然后構建一個面板。您將需要某種夾具來制作柱子和面板。我使用可重復使用的粘合劑 BlueTack 進行此夾具。LED 可以壓入 BlueTack 并在焊接柱和面板時保持在原位。壓痕允許您以完全相同的間距重復這些過程。重要的是第一次通過非常仔細地測量一切。我在所有三個方向上使用了 0.6 英寸的 LED 間距,允許將我完成的立方體插入到標準 0.1 英寸孔間距的板上。
?
關于將 LED 焊接在一起的注意事項:每個立方體制造商的噩夢都是將一個立方體全部構建好,然后在立方體內部發現一個冷焊點,您再也無法接觸到它!在你去的時候要小心,確保你制造的每一列 LED 上的焊點都很好。
?
完成每個面板后,就該進行測試了。同樣,我們這樣做是因為在完成立方體后發現冷焊點或 LED 損壞將是災難性的!
在軟件中,我包含了一個測試面板的小草圖。要執行此測試,您需要將 5 個垂直陽極引線連接到 5 個電阻器(330 歐姆或類似電阻),然后將這些電阻器連接到引腳 40-44(第 0 列陽極引腳)。然后將 5 個陰極引腳連接到通常用于驅動陰極的引腳 22-26。一個好的面板看起來像上面的視頻。(作為旁注,我們還沒有使用晶體管來驅動陰極,所以這個小測試程序將陰極驅動為低電平以打開 LED。一旦安裝了晶體管,我們將做相反的事情,即驅動陰極高電平以打開在晶體管上,然后將陰極拉低。)
當我們構建并測試了 5 個面板后,我們就可以組裝立方體了,但首先,我們必須通過插入和連接所需的所有電阻器和晶體管來準備電路板。
我將 180 歐姆電阻器放置在每個陽極柱旁邊,陰極晶體管及其基極電阻器位于立方體和 Mega 之間的空間中。同樣,陽極柱之間的間距在兩個方向上均為 0.6 英寸,因此每個孔與陽極柱之間的板上有 5 個空孔。
現在是把 Arduino 放到板上的好時機。如果有支架,它可以安裝在支架上。實際上,我只是用一小塊塑料和一點膠水將我的 Mega 固定在板上方約 1/4 英寸處。
此時,每個面板都連接到主板。在焊接之前,確保每個陽極柱都在正確的孔中,因為在完成的立方體中即使是一個孔的錯誤也會很明顯。并確保所有面板都面向同一方向,即所有陰極引線都從同一側引出。
接下來,我們需要在每一層將面板相互連接,以便連接給定層中的所有陰極。這是通過一根拉直的鍍錫銅線將五根陰極線連接在一起來實現的。
接下來,我們準備將每一層的陰極連接到主板。上圖中的圓圈顯示了每層的陰極連接并向下連接到晶體管集電極的位置。同樣,我們使用的是拉直的鍍錫銅線。
將電阻器的所有引線連接到 Mega 后,我們終于準備好測試完成的立方體了。在軟件中,我提供了一個草圖來測試立方體。它將按順序短暫點亮立方體中的每個 LED。由于您已經測試了每個面板,因此您在這一點上看到的任何問題很可能與最近的陰極連接有關。因此,您可能會發現一層不工作或一層的一部分。同樣,如果出現問題,您很可能會遇到冷焊點。
軟件
立方體中每個 LED 的狀態由稱為 cube[ ][ ][ ] 的 5x5x5 全局字節數組定義。1 表示 LED 亮起,0 表示 LED 熄滅。所以立方體的所有動畫都是通過在 cube[ ][ ][ ] 中放置 1 和 0 來創建的。
任何立方體軟件的核心是刷新立方體的定時中斷。我的中斷例程在 setup() 中啟動,然后駐留在程序的最后。每 10 毫秒調用一次。大約需要 6 毫秒。刷新多維數據集。剩下 4 毫秒。在每次刷新之間執行主循環中的內容。
在刷新期間,每層打開 1.2 毫秒。每秒刷新 100 次。因此,打開的任何單個 LED 的開啟時間為 120 毫秒/秒或 12% 的占空比。每秒 100 次的速度足以讓人眼看到它持續亮著,而 12% 的占空比足以讓 LED 燈亮得相當亮,雖然不像連續亮著那么亮,但令人驚訝地接近.
為了使刷新周期盡可能短并最大限度地延長 LED 的開啟時間,我們避免浪費時間 digitalWrite 命令并使用直接端口訪問來配置引腳。如果您查看中斷例程中的代碼,您將看到使用此直接端口的 25 行單獨的行,這看起來不是很漂亮,但實際上,比可能的幾行代碼快得多用于使用 digitalWrite 設置引腳。
loop() 只是調用每個動畫,遍歷列表然后重新開始。每個動畫都在自己的子程序中。一些動畫例程調用其他例程。有關各種動畫的解釋,請參見代碼本身。所有動畫都使用了一些實用程序,例如關閉所有 LED 的 clearCube() 或 copyDown();它將每一層的內容向下移動到它下面的層,然后清除頂層。
您可以下載三種不同的草圖。主要的包含您在視頻中看到的 15 個動畫。面板測試和立方體測試草圖僅用于在構建過程中測試您的立方體。
- 10x10x10 LED立方體開源
- 由Arduino Mega供電的8x8x8LED立方體
- 基于Arduino的4x4x4 LED立方體 0次下載
- 基于Arduino的4x4x4 LED立方體 0次下載
- 立方體時鐘開源分享
- 發光魔法LED立方體開源分享
- 8x8x8 RGB LED立方體開源分享
- 用于5V1.2A立方體充電器的低成本單一PCB解決方案
- LED立方體最佳ardino項目
- Arduino Uno迷你LE立方體開源
- LED立方體開源項目
- 基于Arduino mega 8×8×8 LED立方體
- LED立方體arduino 74hc595n開源項目
- 用戶指南:AS5x40_AS5x45_UG000214_1-00.pdf
- 開源硬件-PMP4344.1-具有 <10mW 無負載功耗的通用交流輸入 5V@1.2A 立方體充電器 PCB layout 設計
- 使用Ansys Zemax實現立方體衛星的光機械設計 580次閱讀
- 使用旭日X3派的BPU部署Yolov5 734次閱讀
- 通過雙電源延長電池壽命適用于墻立方體/電池供電系統 719次閱讀
- 基于單片機的LED燈光立方設計 3585次閱讀
- 立方體衛星模型模擬后的各種權衡研究 2282次閱讀
- 基于移位寄存器的發光二極管立方體(4*4)編寫代碼 2478次閱讀
- 米爾科技MYD-SAMA5D3X開發板 概述 1754次閱讀
- 米爾科技MYD-SAMA5D3X-C開發板 概述 1352次閱讀
- 米爾科技MYD-JA5D2X開發板概述 2026次閱讀
- 制作一個8X8X8光立方的詳細資料和程序概述 2.2w次閱讀
- CNN經典網絡結構之Le-Net5 7607次閱讀
- 小米6x和聯想z5哪個好 5135次閱讀
- 聯想z5和諾基亞x6對比哪個好 4486次閱讀
- 詳細解解讀貼片電容:NP0、C0G、X7R、X5R、Y5V、Z5U的區別 30.1w次閱讀
- 光立方的工作原理_基于74hc573的8*8*8光立方LED的控制方式 3.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次下載 | 免費
評論
查看更多