電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>5x5x5 LED立方體開源分享

5x5x5 LED立方體開源分享

2022-11-16 | zip | 0.38 MB | 次下載 | 免費(fèi)

資料介紹

描述

介紹

大多數(shù)人都喜歡 LED 立方體,但是像 8x8x8 這樣的大立方體,無(wú)論是構(gòu)建還是編程都需要大量工作。小型(3x3x3 或 4x4x4)易于構(gòu)建,這既是因?yàn)樗鼈儾恍枰罅?LED,還因?yàn)樗鼈儾恍枰獠?a href='http://www.wenjunhu.com/v/tag/1751/' target='_blank' class='arckwlink_none'>硬件(如移位寄存器和高端驅(qū)動(dòng)器)來(lái)管理立方體。但它們確實(shí)與大立方體不同。

從這個(gè)項(xiàng)目開始,我的目標(biāo)是創(chuàng)建一個(gè)易于構(gòu)建的立方體,然后創(chuàng)建足夠酷的軟件來(lái)享受大立方體的感覺(jué),而無(wú)需承擔(dān)構(gòu)建大立方體所需的所有苦差事。所以這是一個(gè) 5x5x5 的立方體,可以直接由 Arduino Mega 供電,除了 5 個(gè)晶體管(用于將整個(gè)層 - 25 個(gè) LED 的陰極接地)之外,沒(méi)有任何輔助硬件的移位寄存器。為什么我要避免使用移位寄存器?因?yàn)樗鼈儗?duì)手線來(lái)說(shuō)絕對(duì)是可怕的。(我試過(guò)了。)如果你想使用它們,你真的需要設(shè)計(jì)和制造一塊 PC 板。

過(guò)去我為大立方體編寫了很多代碼,所以我改編了一堆現(xiàn)有的立方體動(dòng)畫來(lái)在這個(gè) 5x5x5 立方體上運(yùn)行。

這實(shí)際上是這樣的三個(gè)項(xiàng)目中的第一個(gè)。第二個(gè)在這里。它是一個(gè) 5x5x5 RGB 立方體,在設(shè)計(jì)上與這個(gè)立方體非常相似,但更難構(gòu)建。第三個(gè)在這里- 一個(gè) 8x8x8 單色立方體,同樣具有最少的外部硬件。

注意:在我進(jìn)一步討論之前,我并不是第一個(gè)建議使用 MEGA 驅(qū)動(dòng)的 5x5x5 立方體的人。MEGA DAS 在 2017 年在這里發(fā)布了一個(gè)類似的項(xiàng)目。兩個(gè)項(xiàng)目中的硬件幾乎相同。直到我開始寫這篇文章,我才看到早期的,所以我的引腳不同,電阻不同,但除此之外,硬件幾乎相同。我發(fā)布這個(gè)主要是因?yàn)槲矣泻芏嗑帉懥⒎襟w軟件的經(jīng)驗(yàn)。我希望我的軟件能說(shuō)服一些人建造一個(gè)可能不會(huì)的立方體!

硬件

Mega 有很多數(shù)字 IO 引腳。我們使用 5 個(gè)將每一層的陰極拉低,并使用 25 個(gè)以上將一層內(nèi)的 25 個(gè) LED 中的每一個(gè)的陽(yáng)極拉高。使用這種方法,Mega 實(shí)際上有足夠的 IO 引腳來(lái)構(gòu)建一個(gè) 6x6x6 的立方體。但另一個(gè)考慮因素是,如果我們?cè)噲D保持簡(jiǎn)單,那就是權(quán)力。Mega 的電流限制為每個(gè)引腳 40 毫安,所有引腳總共 200 毫安。藍(lán)色 LED 的正向壓降約為 3 伏,我們的共陰極晶體管再下降 0.7 伏。因此,使用 5 伏電源和 180 歐姆電阻,每個(gè) LED 將消耗 7.2 ma。如果一次全部亮起,25 個(gè) LED/層會(huì)消耗 180ma。我們一次只打開一層,所以我們滿足了 Mega 的所有電流限制,只要我們使用 NPN 晶體管將一層中的所有陰極拉到地。其中一個(gè)晶體管的基極電流使 Mega 的總負(fù)載又增加了 5 毫安,但我們將總負(fù)載保持在 200 毫安以下。在大約 185 ma。因此,出于上述所有原因,我選擇了 180 歐姆電阻與我們的 LED 配對(duì)。

poYBAGNy7ciAGs7uAAH420HQ_PA670.jpg
多維數(shù)據(jù)集的超級(jí)引腳
?

上圖顯示了 Mega 的數(shù)字引腳如何連接到立方體。引腳 22 - 26 是驅(qū)動(dòng)將 LED 陰極接地的晶體管的 5 個(gè)引腳。引腳 27-51 通過(guò) 180 歐姆電阻連接到一層中 25 個(gè) LED 的陽(yáng)極。

您可能想知道為什么這種引腳排列看起來(lái)有點(diǎn)混亂。我的軟件使用直接端口訪問(wèn)而不是 digitalWrites 來(lái)配置陽(yáng)極,也就是說(shuō),將一層中的 25 個(gè) LED 中的每一個(gè)設(shè)置為開或關(guān)。這可以節(jié)省大量時(shí)間,并且意味著 LED 的亮起時(shí)間比您花大量時(shí)間進(jìn)行 digitalWrites 的時(shí)間長(zhǎng)。因此,引腳排列的排列方式有助于組織對(duì)這些數(shù)字端口的引用,而不是實(shí)際的引腳編號(hào)。更多關(guān)于軟件的內(nèi)容。

立方體結(jié)構(gòu)

關(guān)于如何構(gòu)建一個(gè)立方體,有很多意見,不管它的大小。無(wú)論您采用何種方法,這項(xiàng)任務(wù)都很乏味。你必須既小心又耐心才能獲得好的結(jié)果。我將向您展示我是如何構(gòu)建這個(gè)的,但如果您愿意,還有其他在線說(shuō)明。

這個(gè)立方體的構(gòu)造開始于引線形成并將 LED 以 5 列焊接在一起。然后通過(guò)將 5 列焊接在一起形成面板,最后通過(guò)將 5 個(gè)面板焊接在一起形成立方體。以前從未構(gòu)建過(guò)立方體的人不會(huì)意識(shí)到構(gòu)建一個(gè)完美的立方體是多么困難。導(dǎo)程角的小誤差會(huì)迅速累積,即使是間距的微小差異也很容易看到。因此,引線形成步驟至關(guān)重要。如果你花時(shí)間做對(duì)了,你不會(huì)得到一個(gè)完美的立方體,但你會(huì)得到一個(gè)看起來(lái)合理的立方體。

pYYBAGNy7cqAIoYTAAGxAF5p8ew298.jpg
鉛成形 - 陽(yáng)極,較長(zhǎng)的鉛下降。陰極橫著走
?

陽(yáng)極是 LED 的較長(zhǎng)引線,它們向下,但它們需要彎曲到 LED 的側(cè)面,以便可以將垂直排的 LED 陽(yáng)極焊接在一起。陽(yáng)極偏移和陰極引線必須彼此成 90 度,如這些照片所示。

我個(gè)人覺(jué)得引線形成既乏味又費(fèi)力,所以我引線形成 25 個(gè) LED,然后構(gòu)建一個(gè)面板。您將需要某種夾具來(lái)制作柱子和面板。我使用可重復(fù)使用的粘合劑 BlueTack 進(jìn)行此夾具。LED 可以壓入 BlueTack 并在焊接柱和面板時(shí)保持在原位。壓痕允許您以完全相同的間距重復(fù)這些過(guò)程。重要的是第一次通過(guò)非常仔細(xì)地測(cè)量一切。我在所有三個(gè)方向上使用了 0.6 英寸的 LED 間距,允許將我完成的立方體插入到標(biāo)準(zhǔn) 0.1 英寸孔間距的板上。

pYYBAGNy7dKADElJAAyIqChlM74904.jpg
這里將 5 個(gè) LED 的陽(yáng)極焊接在一起形成一個(gè)垂直柱
?

?

pYYBAGNy7dmAHzaPAAzP1zSxYao280.jpg
柱子需要看起來(lái)筆直,它的陰極都指向同一個(gè)方向。
?

關(guān)于將 LED 焊接在一起的注意事項(xiàng):每個(gè)立方體制造商的噩夢(mèng)都是將一個(gè)立方體全部構(gòu)建好,然后在立方體內(nèi)部發(fā)現(xiàn)一個(gè)冷焊點(diǎn),您再也無(wú)法接觸到它!在你去的時(shí)候要小心,確保你制造的每一列 LED 上的焊點(diǎn)都很好。

poYBAGNy7eGAZXhwAA6Ox5O3EW0677.jpg
接下來(lái)我們通過(guò)將 5 列的陰極焊接在一起形成一個(gè)面板
?

?

pYYBAGNy7eSABjVRAAHwwRrCm-o939.jpg
成品面板
?

完成每個(gè)面板后,就該進(jìn)行測(cè)試了。同樣,我們這樣做是因?yàn)樵谕瓿闪⒎襟w后發(fā)現(xiàn)冷焊點(diǎn)或 LED 損壞將是災(zāi)難性的!

?

在軟件中,我包含了一個(gè)測(cè)試面板的小草圖。要執(zhí)行此測(cè)試,您需要將 5 個(gè)垂直陽(yáng)極引線連接到 5 個(gè)電阻器(330 歐姆或類似電阻),然后將這些電阻器連接到引腳 40-44(第 0 列陽(yáng)極引腳)。然后將 5 個(gè)陰極引腳連接到通常用于驅(qū)動(dòng)陰極的引腳 22-26。一個(gè)好的面板看起來(lái)像上面的視頻(作為旁注,我們還沒(méi)有使用晶體管來(lái)驅(qū)動(dòng)陰極,所以這個(gè)小測(cè)試程序?qū)㈥帢O驅(qū)動(dòng)為低電平以打開 LED。一旦安裝了晶體管,我們將做相反的事情,即驅(qū)動(dòng)陰極高電平以打開在晶體管上,然后將陰極拉低。)

當(dāng)我們構(gòu)建并測(cè)試了 5 個(gè)面板后,我們就可以組裝立方體了,但首先,我們必須通過(guò)插入和連接所需的所有電阻器和晶體管來(lái)準(zhǔn)備電路板。

pYYBAGNy7e2AX6sYABeTOM9wBq0182.jpg
電路板底部連接了晶體管和電阻器。
?

我將 180 歐姆電阻器放置在每個(gè)陽(yáng)極柱旁邊,陰極晶體管及其基極電阻器位于立方體和 Mega 之間的空間中。同樣,陽(yáng)極柱之間的間距在兩個(gè)方向上均為 0.6 英寸,因此每個(gè)孔與陽(yáng)極柱之間的板上有 5 個(gè)空孔。

現(xiàn)在是把 Arduino 放到板上的好時(shí)機(jī)。如果有支架,它可以安裝在支架上。實(shí)際上,我只是用一小塊塑料和一點(diǎn)膠水將我的 Mega 固定在板上方約 1/4 英寸處。

此時(shí),每個(gè)面板都連接到主板。在焊接之前,確保每個(gè)陽(yáng)極柱都在正確的孔中,因?yàn)樵谕瓿傻牧⒎襟w中即使是一個(gè)孔的錯(cuò)誤也會(huì)很明顯。并確保所有面板都面向同一方向,即所有陰極引線都從同一側(cè)引出。

pYYBAGNy7fGAOnD5AAJfmgd78rg368.jpg
將每一層中的所有陰極連接在一起
?

接下來(lái),我們需要在每一層將面板相互連接,以便連接給定層中的所有陰極。這是通過(guò)一根拉直的鍍錫銅線將五根陰極線連接在一起來(lái)實(shí)現(xiàn)的。

poYBAGNy7fiADPvxAAddk77yG5k918.jpg
將每層陰極連接到其下拉晶體管
?

接下來(lái),我們準(zhǔn)備將每一層的陰極連接到主板。上圖中的圓圈顯示了每層的陰極連接并向下連接到晶體管集電極的位置。同樣,我們使用的是拉直的鍍錫銅線。

將電阻器的所有引線連接到 Mega 后,我們終于準(zhǔn)備好測(cè)試完成的立方體了。在軟件中,我提供了一個(gè)草圖來(lái)測(cè)試立方體。它將按順序短暫點(diǎn)亮立方體中的每個(gè) LED。由于您已經(jīng)測(cè)試了每個(gè)面板,因此您在這一點(diǎn)上看到的任何問(wèn)題很可能與最近的陰極連接有關(guān)。因此,您可能會(huì)發(fā)現(xiàn)一層不工作或一層的一部分。同樣,如果出現(xiàn)問(wèn)題,您很可能會(huì)遇到冷焊點(diǎn)。

軟件

立方體中每個(gè) LED 的狀態(tài)由稱為 cube[ ][ ][ ] 的 5x5x5 全局字節(jié)數(shù)組定義。1 表示 LED 亮起,0 表示 LED 熄滅。所以立方體的所有動(dòng)畫都是通過(guò)在 cube[ ][ ][ ] 中放置 1 和 0 來(lái)創(chuàng)建的。

任何立方體軟件的核心是刷新立方體的定時(shí)中斷。我的中斷例程在 setup() 中啟動(dòng),然后駐留在程序的最后。每 10 毫秒調(diào)用一次。大約需要 6 毫秒。刷新多維數(shù)據(jù)集。剩下 4 毫秒。在每次刷新之間執(zhí)行主循環(huán)中的內(nèi)容。

在刷新期間,每層打開 1.2 毫秒。每秒刷新 100 次。因此,打開的任何單個(gè) LED 的開啟時(shí)間為 120 毫秒/秒或 12% 的占空比。每秒 100 次的速度足以讓人眼看到它持續(xù)亮著,而 12% 的占空比足以讓 LED 燈亮得相當(dāng)亮,雖然不像連續(xù)亮著那么亮,但令人驚訝地接近.

為了使刷新周期盡可能短并最大限度地延長(zhǎng) LED 的開啟時(shí)間,我們避免浪費(fèi)時(shí)間 digitalWrite 命令并使用直接端口訪問(wèn)來(lái)配置引腳。如果您查看中斷例程中的代碼,您將看到使用此直接端口的 25 行單獨(dú)的行,這看起來(lái)不是很漂亮,但實(shí)際上,比可能的幾行代碼快得多用于使用 digitalWrite 設(shè)置引腳。

loop() 只是調(diào)用每個(gè)動(dòng)畫,遍歷列表然后重新開始。每個(gè)動(dòng)畫都在自己的子程序中。一些動(dòng)畫例程調(diào)用其他例程。有關(guān)各種動(dòng)畫的解釋,請(qǐng)參見代碼本身。所有動(dòng)畫都使用了一些實(shí)用程序,例如關(guān)閉所有 LED 的 clearCube() 或 copyDown();它將每一層的內(nèi)容向下移動(dòng)到它下面的層,然后清除頂層。

您可以下載三種不同的草圖。主要的包含您在視頻中看到的 15 個(gè)動(dòng)畫。面板測(cè)試和立方體測(cè)試草圖僅用于在構(gòu)建過(guò)程中測(cè)試您的立方體。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)