欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>由Arduino Mega供電的8x8x8LED立方體

由Arduino Mega供電的8x8x8LED立方體

2022-12-13 | zip | 0.37 MB | 次下載 | 免費(fèi)

資料介紹

描述

這是一系列項(xiàng)目中的第三個(gè)也是最后一個(gè)項(xiàng)目,旨在了解我們僅使用 Arduino Mega 可以創(chuàng)建多少 LED 立方體技術(shù),即僅使用 Mega 本身而不需要充滿移位寄存器和 LED 驅(qū)動器的 PC 板可以完成什么。為什么我要避免使用移位寄存器?因?yàn)樗鼈儗κ志€來說絕對是可怕的。(我試過了。)如果你想使用它們,你真的需要設(shè)計(jì)和制造一塊 PC 板。

?

我們通常會通過將 64 個(gè)陽極放到主板上來構(gòu)建一個(gè) 8x8x8 的立方體,它們將由一堆移位寄存器配置。然后我們將激活立方體中的八個(gè)層之一,并打開該層中相應(yīng)的 LED 大約 1 毫秒。然后我們將重新加載我們的移位寄存器并激活下一層,等等。所以要以正常方式做一個(gè) 8x8x8 立方體,陽極的最小數(shù)字引腳要求是 64 個(gè),陰極/層驅(qū)動器需要另外 8 個(gè)。那是 72 個(gè)數(shù)字引腳,如果不采取一些技巧,Mega 是不可能的。

我使用 Mega 的所有三個(gè)立方體項(xiàng)目都是在沒有移位寄存器的情況下完成的。我們嚴(yán)格依賴 Mega 上可用的大量引腳。這個(gè) 8x8x8 的技巧是用一對平行但極性相反的 LED 構(gòu)建我們的立方體的有點(diǎn)異想天開的方法。在一個(gè)方向上施加電壓時(shí),兩個(gè) LED 中的一個(gè)正向偏置并點(diǎn)亮。在另一個(gè)方向施加電壓時(shí),另一個(gè) LED 正向偏置并點(diǎn)亮。我們的刷新程序輪流點(diǎn)亮一個(gè),然后另一個(gè)。如果它們都被編程,它發(fā)生得足夠快,我們可以同時(shí)看到它們。

poYBAGOX0JaAHFJHAACWh5GZhPA603.jpg
這個(gè)概念
?

使用這種方法,我們只需將 32 列 LED 連接到主板,因此無需任何移位寄存器即可直接從 Mega 數(shù)字引腳控制和為 8x8x8 立方體供電。

我們一次只點(diǎn)亮一層,即便如此,該層中也只有一半的 LED。但是同時(shí)打開 32 個(gè) LED,我們需要一個(gè)晶體管來處理電流。因此,當(dāng)我們想要點(diǎn)亮其陰極向下連接到主板的 LED 時(shí),我們需要 8 個(gè) PNP 晶體管來將我們的層拉高。當(dāng)我們想要點(diǎn)亮陽極連接到主板的 LED 時(shí),我們還需要 8 個(gè) NPN 晶體管來將層拉低。如上所示,我最初的概念實(shí)際上會使用 16 個(gè)晶體管。但它也需要上拉和下拉電阻器和基極限流電阻器,所以我選擇使用內(nèi)置所有這些的八進(jìn)制 NPN IC 和一個(gè)八進(jìn)制 PNP 高端驅(qū)動器,同樣所有電阻都已內(nèi)置。我還決定,為了避免時(shí)間問題并避免需要逆變器,只需從 Mega 上的單獨(dú)數(shù)字引腳驅(qū)動兩個(gè)八進(jìn)制驅(qū)動器。它將總數(shù)字引腳數(shù)增加到 48 個(gè),但使主板上的組件數(shù)保持在非常低的水平。(2個(gè)DIP IC和32個(gè)電阻)

我們可能同時(shí)打開 32 個(gè) LED。為了將電流保持在 Mega 的最大電流限制以下,我們通過 220 ohm 電阻將返回電路運(yùn)行到電路板,這將 LED 電流限制為 6 max x 32 = 192 ma.,略低于 Mega 的最大 200 ma。(如果您想知道,LED 的正向壓降約為 3 伏,而我們的驅(qū)動晶體管的正向壓降為 0.7 伏,因此從我們的 5 伏電源,我們得到 1.3 伏/220 歐姆 = 6 毫安/LED。)

刷新需要 16 個(gè)步驟 - 8 層用于陰極連接到主板的 8 層,8 層用于陽極連接到主板的位置。我們?yōu)檫@些步驟中的每一步打開 LED 500 微秒,因此我們的刷新周期大約需要 8 毫秒,加上加載數(shù)據(jù)的一點(diǎn)時(shí)間 - 為這 16 個(gè)步驟中的每一步配置 32 個(gè)引腳。但是,我們使用的是超高效的數(shù)據(jù)加載,首先是因?yàn)槲覀兪褂玫氖侵苯?a target='_blank' class='arckwlink_none'>端口訪問而不是 digitalWrite,而且因?yàn)槲覀円呀?jīng)設(shè)置了內(nèi)存陣列和端口分配的組合,因此我們只需簡單地完成這 16 個(gè)傳輸中的每一個(gè)將內(nèi)存中的四個(gè)字節(jié)直接存儲到數(shù)字輸出端口中。事實(shí)證明,這種方法非常有效,以至于我無法測量它所花費(fèi)的時(shí)間。所以我們的刷新只需要一點(diǎn)點(diǎn)多于 8 毫秒。我們將刷新率設(shè)置為 80 Hz,因此每 12 次刷新一次。5 毫秒。這意味著我們的 Mega 將 2/3 的時(shí)間用于刷新立方體,而將 1/3 的時(shí)間用于運(yùn)行主循環(huán)。

關(guān)于我們的層驅(qū)動器和刷新例程需要注意的另一件事是,我們的高端驅(qū)動器和低端驅(qū)動器的輸出都直接連接到層并相互連接。我們需要確保它們永遠(yuǎn)不會同時(shí)打開,因?yàn)檫@基本上會使我們的 Mega 的 5 伏電源短路。因此,刷新例程不僅不會同時(shí)打開它們,還會在層之間增加 3 微秒的“穩(wěn)定時(shí)間”,以確保我們不會在立方體中出現(xiàn)任何不需要的瞬態(tài)電流。

所以上面我們已經(jīng)描述了這個(gè)概念。它在現(xiàn)實(shí)中是如何工作的?好吧,我構(gòu)建了立方體,它按描述工作。我認(rèn)為構(gòu)造實(shí)際上比傳統(tǒng)的 8x8x8 立方體要容易一些。(盡管 512 個(gè) LED 的引線成型和焊接從來都不是一件容易的事。)

在此過程中,我學(xué)到了一些東西。如果您決定構(gòu)建這個(gè)立方體,您可能會考慮做一些與我不同的事情。這個(gè)立方體中的 LED 相距 0.6 英寸。這個(gè) 0.6 英寸的間距是我用于所有三個(gè)立方體的。我對這兩個(gè) 5x5x5 立方體都非常滿意,但發(fā)現(xiàn)完全看透這個(gè) 8x8x8 有點(diǎn)困難。您可能會考慮使用 3 毫米 LED 而不是我使用的 5 毫米 LED。或者使用帶有 2 英寸引線的 5mm LED 并將間距增加到 0.8 英寸甚至 1 英寸。您可能還想修改我將 LED 焊接在一起的方式,這樣您就不必直接焊接到 LED 封裝的底部。我發(fā)現(xiàn)幾個(gè)被熱損壞的 LED 必須更換。最后,在施工期間測試一切。確保在最終構(gòu)建立方體之前找到并更換任何有缺陷的 LED。那是因?yàn)樵谶@個(gè)設(shè)計(jì)中壞的 LED 不僅僅是一個(gè)壞的 LED。事實(shí)證明,應(yīng)該通過該 LED 的電流通過反向偏置對的迷宮找到了替代路徑。打開的 LED 被一堆“半開”的 LED 取代,這些 LED 本來應(yīng)該是關(guān)閉的。當(dāng)所有 LED 都正常工作時(shí),它工作得很好,但即使是一個(gè)有缺陷的 LED 也會讓人知道它的存在。

?

建造

我通過構(gòu)建 8 個(gè)垂直面板每個(gè) 8x8 LED 來構(gòu)建這個(gè)立方體。要構(gòu)建面板,第一步是引導(dǎo)形成并組裝 32 對相對的 LED。

poYBAGOX0LmAaKCCAAYUoy0nS0w685.jpg
一對引線成型。陽極是直接伸出底部的那個(gè)
?

?

poYBAGOX0M-ANL8KAAgkCIH0SII252.jpg
這就是它們焊接在一起的方式。
?

陽極(最長的引線)是豎直向上的。另一個(gè) LED 的陰極(較短的引線)焊接到垂直陽極上。然后將第一個(gè) LED 的陰極焊接到第二個(gè) LED 的陽極。通過在一塊正好相距 0.6 英寸的木頭上鉆 2 個(gè)孔,可以方便地構(gòu)建這些對。這些孔需要非常貼合地安裝 LED,以便它們保持在原位。

當(dāng)你有 32 對時(shí),你就可以構(gòu)建一個(gè)面板了。該過程從 8 對構(gòu)建四個(gè)垂直列開始。

poYBAGOX0WeACK1FABFIoMQiZGc325.jpg
立柱的建造
?

我使用 BlueTack 將 LED 固定到位,直到可以焊接為止。我首先在 BlueTack 中每 0.6 英寸制作一次清晰的材料。這不是一個(gè)完美的過程 - 完成一列后,您需要清理它,這意味著使其盡可能垂直對齊,并確保從側(cè)面出來的所有引線都旋轉(zhuǎn)對齊;此外,引線是水平的,相距 0.6 英寸。

接下來,當(dāng)您完成 4 列時(shí),需要對它們進(jìn)行測試。這是重要的一步。在這個(gè)階段解決問題非常容易。如果您稍后在施工中發(fā)現(xiàn)問題,則修復(fù)變得越來越困難。

pYYBAGOX0aGAXDTkAAsqAr7PP8M605.jpg
測試列
?

我沒有為測試做任何花哨的事情。背景中的 Uno 是 5 伏的電源,僅此而已。位于原型板上的 330 歐姆電阻器限制電流。我檢查了每個(gè) LED 以確保它亮起,首先用一個(gè)極性的電壓來測試一半的 LED,然后用相反的極性來測試另一半 LED。如果一對中的兩個(gè) LED 都亮起,則其中一個(gè)是極性錯(cuò)誤。如果兩者都不亮,則可能有一個(gè)短路。

一旦我們有了 4 個(gè)好的柱子,就可以將它們焊接到一個(gè)面板中了。為此,我使用同一條 BlueTack 將兩根柱子固定在一起,相距 0.6 英寸,將 8 根水平引線對齊并將它們焊接在一起。水平引線最初不會完全對齊。讓一對夫婦排成一列并焊接它們,然后再排成兩個(gè)并焊接它們,等等。最終你將把所有八個(gè)焊接在一起。確保面板是平的。確保它是方形的。確保它是直的。然后做同樣的事情并添加另一列。當(dāng)您以這種方式將 4 根柱子焊接在一起時(shí),您就有了一個(gè)成品面板。

恭喜。現(xiàn)在再建七個(gè)!此時(shí),您已準(zhǔn)備好開始最終組裝。我在主板上構(gòu)建了我的立方體,但首先需要通過安裝其他組件來準(zhǔn)備主板。

pYYBAGOX0beAUWsBAAvaRETLV3I954.jpg
這顯示了安裝在板上的其他組件。
?

上面您可以看到主板上安裝的兩個(gè) IC 驅(qū)動器和 32 個(gè)電阻器。電阻器安裝在兩個(gè)方向上相距 0.6 英寸。由于兩個(gè)原因,在這張照片中看起來并不完全如此。首先,我讓所有電阻器從它們各自的列返回到立方體的中心。我這樣做是為了防止 IC 附近的區(qū)域變得擁擠,但這可能沒有必要。我先安裝了 IC,事后看來,它們離立方體太近了。他們沒有理由不能低一英寸。您可以清楚地看到,必須將一個(gè)電阻器安裝在不合適的位置,因?yàn)樗緛響?yīng)該在 IC 的頂部。

pYYBAGOX0f6AF_70ABB6j9Jn-Pc467.jpg
安裝元件后的電路板背面。
?

此圖頂部的電阻器已焊接到位并經(jīng)過修整,但尚未連接任何東西。兩個(gè)IC顯示在圖片中間。高邊驅(qū)動器在頂部,我用黑色記號筆將其標(biāo)記為 A 表示陽極,將引腳 1 標(biāo)記為 1。下面是低邊 NPN 驅(qū)動器,標(biāo)有 C 表示陰極。它的引腳 1 也標(biāo)有 1。這兩個(gè) IC 以這種方式安裝,以便它們的輸出彼此面對。這是因?yàn)閮烧叩妮敵龆寂c層相關(guān)。我已經(jīng)將它們彼此連接起來并稍微展開,以便從立方體返回的層可以下來并從另一側(cè)連接到它們。連接采用鍍錫銅線。

此時(shí),我們已準(zhǔn)備好將 50 根跳線連接到電路板的背面。有 32 個(gè)連接到電阻器,8 個(gè)連接到高側(cè)驅(qū)動器的輸入端,8 個(gè)連接到低側(cè)驅(qū)動器的輸入端,1 根地線和 1 根 +5 伏線連接到高側(cè)的引腳 9驅(qū)動器,其源電壓引腳。這些電線都是 30 厘米。長,并直接焊接到電路板背面的適當(dāng)位置。另一端繞過電路板的一側(cè),并通過公跳線針連接到 Mega 上的針腳。此時(shí)您也可以使用某種形式的支架安裝 Mega。實(shí)際上,我自己使用了幾塊小塑料方塊和一點(diǎn)熱膠來安裝 Mega。

我們準(zhǔn)備安裝面板。安裝面板包括將四根垂直柱引線推入電路板,平整層,然后將四根引線焊接到背面對應(yīng)的電阻器上。

每個(gè)面板在安裝后和安裝下一個(gè)面板之前都需要進(jìn)行測試。這樣,如果有任何問題(冷焊點(diǎn)、死 LED 等),它可以在它卷到立方體中間之前修復(fù)。然而,在我們測試第一個(gè)面板之前,我們需要將層連接到電路板。這是通過將一根直的鍍錫銅線連接到該層,然后降低到 8 個(gè) IC 輸出中的一個(gè)來實(shí)現(xiàn)的。并且不要忘記與 Mega 的接地和 +5 連接。+5 連接到高端驅(qū)動器的引腳 9。

poYBAGOX0gGAJ7hVAACThz3lvTI174.jpg
與主板的層連接
?

第 7 層(頂層)連接到低側(cè)驅(qū)動器的引腳 18(第一通道)和高側(cè)驅(qū)動器的引腳 11(第八通道)。第 0 層(最低層)到低側(cè)驅(qū)動器的引腳 11 和高側(cè)驅(qū)動器的引腳 18。

在這一點(diǎn)上,我們還需要將所有電線連接到 Mega。下表顯示了 Mega 上的哪個(gè)引腳連接到每個(gè)電阻器。這些是紅色和綠色的連接。與高端和低端驅(qū)動器的連接以藍(lán)色顯示。它們每個(gè)都直接從對應(yīng)的輸出連接到 IC。例如,輸出到第 7 層的低端驅(qū)動器是 IC 上的引腳 18。引腳 18 的正對面是 IC 上的引腳 1,因此來自低端驅(qū)動器引腳 1 的導(dǎo)線連接到 Mega 上的引腳 9,如下圖所示。

poYBAGOX0gWAEvBpAAFOlZPSc2E221.jpg
Mega 的引腳表,顯示與主板的所有連接
?

至此,我們現(xiàn)在可以測試面板了。測試面板的程序包含在軟件中。您需要在草圖頂部告訴它您正在測試哪個(gè)面板。圖片中正在測試的是面板 0。

?

一旦您測試了已安裝的面板,您就可以安裝下一個(gè)。您尚未安裝將面板連接到每個(gè)附加層的水平導(dǎo)軌,因此您需要在您正在測試的面板和每層的面板 0 之間放置一個(gè)臨時(shí)跳線。(我只使用了一根跳線并分別測試了每一層,將一根跳線從一層移到另一層。)

安裝并測試所有面板后,您就可以連接各層了。這是通過在每一層的面板之間鋪設(shè)一條直的鍍錫銅線來實(shí)現(xiàn)的。

poYBAGOX0iiAV0jGAASNLD0c9AI213.jpg
在每一層上將面板連接在一起
?

從頂部開始連接層。并確保在連接頂層時(shí)測量 0.6 英寸的間距。一旦你連接了層,你的立方體就完成了,你應(yīng)該可以運(yùn)行主節(jié)目了。

軟件

我們已經(jīng)談到了一些關(guān)于軟件的內(nèi)容。定時(shí)刷新中斷程序是任何立方體軟件的核心。我設(shè)計(jì)這個(gè)非常簡單和高效。這需要使用兩個(gè)不同的內(nèi)存陣列來存儲立方體中每個(gè) LED 的狀態(tài)。因此,一個(gè)存儲陽極下降到板上的 LED 的狀態(tài),另一個(gè)存儲陰極下降到主板的 LED 的狀態(tài)。這兩個(gè)數(shù)組通過它們在數(shù)組中的位置存儲 x 和 z 值,并將 y 值存儲為該位置的位。位設(shè)置為 1 表示 LED 開啟,位設(shè)置為 0 表示 LED 關(guān)閉。同樣,所有這些都非常有效,但是嘗試弄清楚如何將立方體中的特定 LED 設(shè)置為打開或關(guān)閉可能會非常令人困惑。所以我們基本支持軟件的另一個(gè)關(guān)鍵是 ledOn(x, y, z) 和一個(gè) led0ff(x, y, z)。這些子程序完成了所有艱苦的工作,以確定需要更改這兩個(gè)陣列中的哪個(gè)位以打開或關(guān)閉特定的 LED。

因此,通過打開或關(guān)閉任何特定 LED 的子程序,以及不斷點(diǎn)亮和更新立方體以匹配我們陣列的內(nèi)容的刷新程序,創(chuàng)建各種動畫和特殊效果相當(dāng)容易。我們的主要草圖,稱為展示,是為展示立方體的性能而創(chuàng)建的幾分鐘的動畫。

在軟件下還有另一個(gè)主題要討論。節(jié)目中的大多數(shù)動畫都是直接打開然后關(guān)閉 LED 的模式。有些人使用一點(diǎn)數(shù)學(xué)來控制這些模式。但在另一種類型的節(jié)目中有一些動畫。這些基于稱為精靈的對象類。sprite 類在多維數(shù)據(jù)集中定義了一個(gè)對象。sprite 中的對象可以移動、反彈、旋轉(zhuǎn)等。它允許相當(dāng)容易地創(chuàng)建一些動畫,如果沒有基于對象的代碼將很難創(chuàng)建這些動畫。


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

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(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)用手冊
  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電氣工程師手冊免費(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ū)動電路設(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é)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)