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

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

3天內(nèi)不再提示

使用Arduino Nano制作一個(gè)4×4×4 LED立方體

科技觀察員 ? 來(lái)源:electroschematics ? 作者:electroschematics ? 2024-02-11 12:07 ? 次閱讀

在這個(gè)項(xiàng)目中,我們將使用 Arduino Nano 制作一個(gè)很酷的 4×4×4 LED 立方體。LED 立方體,也稱為 LED矩陣,可以照亮您的房間、學(xué)習(xí)空間或創(chuàng)客區(qū)域,使其看起來(lái)非??犰?。此外,它非常容易構(gòu)建,并幫助您在電子和編碼方面發(fā)揮創(chuàng)意。

我們的 LED 立方體尺寸為 4x4x4,由四層組成,每層包含 64 個(gè) LED。這意味著,每層可容納 16 個(gè)LED,如本文后面的圖表所示。該連接涉及 64 個(gè) LED 以特定組合連接到 Arduino。當(dāng) LED 的正極端子從 Arduino接收到高電平信號(hào),負(fù)極端子獲得低電平信號(hào)時(shí),LED 亮起。要組裝立方體,請(qǐng)將一個(gè)引腳連接到每列(總共 16 個(gè)),將一個(gè)引腳連接到每層(總共 4個(gè))。因此,您只需要 20 個(gè)引腳即可完成這個(gè)令人印象深刻的4x4x4 LED 立方體項(xiàng)目。我們將指導(dǎo)您逐步構(gòu)建四層,確保 LED對(duì)齊、均勻間隔并正確焊接到位。

使用 Arduino Nano 的 4×4×4 Led Cube 所需的組件

Arduino 納米

64- 5mm 藍(lán)色 LED

母頭

彩虹帶電纜

100Ω電阻

3V 電池測(cè)試 LED

PCB

銅絲

工具(烙鐵、剪線機(jī)、砂紙)

4×4×4 LED立方電路圖

使用 Arduino Nano 的 4 * 4 * 4 LED 立方體的電路圖涉及多個(gè)組件和連接,以確保正常運(yùn)行。這是一個(gè)分步說(shuō)明。將 64 個(gè)
LED 排列成 4x4x4 矩陣。每個(gè) LED 代表立方體中的一個(gè)像素。

將每個(gè) LED 的陽(yáng)極(較長(zhǎng)的支腿)連接到其各自的行,將陰極(較短的支腿)連接到其各自的列。完整的 4x4x4 LED
立方體原理圖如下圖所示。

使用 Arduino Nano 的 4x4x4 LED 立方體電路圖

將 Arduino Nano 的數(shù)字輸出引腳(A4 到 D13)連接到 LED 立方體的列。這些引腳將控制多維數(shù)據(jù)集的各個(gè)列。

將數(shù)字輸出引腳(A0 至 A3)連接到立方體的層。這些引腳將控制立方體的每一層。將限流電阻(通常為 100-220
歐姆)與每層串聯(lián),以防止電流過大。將電阻的一端連接到Arduino Nano的數(shù)字輸出引腳,另一端連接到相應(yīng)的行。

構(gòu)建 4x4x4 LED 立方體

請(qǐng)記住仔細(xì)檢查您的連接并使用適當(dāng)?shù)南蘖?a target="_blank">電阻器來(lái)保護(hù) LED。通過此設(shè)置,您可以對(duì) Arduino Nano 進(jìn)行編程,以在 4x4x4 LED
立方體上顯示各種圖案和動(dòng)畫。

4x4x4 LED 立方體如何工作?

在開始焊接并深入了解項(xiàng)目的細(xì)節(jié)之前,了解事情的運(yùn)作方式非常重要。這個(gè)項(xiàng)目背后的主要大腦是一個(gè)名為Arduino
Nano的微控制器板。它就像一臺(tái)微型計(jì)算機(jī),使用 ATmega328P 微控制器。這個(gè)小家伙有 20
個(gè)引腳,可以用于不同的事情,比如打開和關(guān)閉東西。在我們的例子中,我們專注于 14 個(gè)數(shù)字引腳和 6 個(gè)模擬引腳,它們都將在我們的項(xiàng)目中充當(dāng)開關(guān)。

現(xiàn)在,在 4x4x4 LED 立方體上,它由 64 個(gè) LED 組成,排列成一種網(wǎng)格。有 4 層 LED,每層有 16 個(gè) LED,采用 4x4
設(shè)置。一層中每個(gè) LED 的設(shè)置方式乍一聽可能有點(diǎn)復(fù)雜;它被稱為共陽(yáng)極。這僅意味著 LED 的所有正極均已連接?,F(xiàn)在,這是很酷的部分,即使我們有 64 個(gè)
LED,我們只需要微控制器上的 20 個(gè)引腳來(lái)控制它們。我們使用 16 個(gè)引腳來(lái)控制每層的 LED。訣竅是通過它們的正極連接各層,通過給一個(gè) LED 提供 5
伏電壓并將負(fù)極連接到地面,我們可以讓它亮起。其余 4 個(gè)引腳為各層供電。我們的編程魔力將使這一切順利進(jìn)行。下圖顯示了 4x4x4 LED 立方體 Arduino
模擬,您可以看到 arduino nano 上的每個(gè)引腳如何能夠單獨(dú)控制我們立方體上的 LED。

使用Arduino Nano設(shè)計(jì)和構(gòu)建4×4×4 Led Cube

檢查所有 64 個(gè) LED,確保它們使用小紐扣電池工作。

使用紐扣電池檢查 LED

在我們開始組裝 LED 立方體并進(jìn)行任何焊接之前,最好確保 LED 正常工作。我們的 LED 需要 3.3
伏電壓。較長(zhǎng)的導(dǎo)聯(lián)為正,較短的導(dǎo)聯(lián)為負(fù)。您可以使用任何 3.3V 電池輕松測(cè)試它們。在我的案例中,我使用了鋰離子電池進(jìn)行測(cè)試。

我們使用的 LED 是透明的,并且發(fā)出非常微弱的光,因此我們希望使它們不那么強(qiáng)烈。

漫射光使 LED 更亮,使立方體看起來(lái)更酷。只需在每個(gè) LED 的頂面上擦拭砂紙,或者您可以使用帶有砂紙的直流電機(jī)來(lái)擴(kuò)散所有 64 個(gè)
LED。

構(gòu)建 4x4x4 LED 立方體

4x4x4 LED立方體制作

要為您的 LED 立方體制作模板,請(qǐng)買一塊足夠大的木頭來(lái)制作 4x4 網(wǎng)格,確保每個(gè)正方形為 25 毫米。首先在木頭上用線條畫一個(gè) 4x4
的網(wǎng)格。使用中心沖頭在線條相交的地方打凹痕。然后,找到一個(gè)恰到好處的鉆頭——小到可以將 LED
牢固地固定到位,但又足夠大,無(wú)需彎曲電線即可輕松拆卸。在網(wǎng)格上標(biāo)記的點(diǎn)鉆 16 個(gè)孔?,F(xiàn)在,您的 LED 立方體模板已全部設(shè)置好,并準(zhǔn)備好進(jìn)行下一步組裝。將
LED 插入各個(gè)孔中。

使用 Arduino Nano 構(gòu)建 4x4x4 LED 立方體

現(xiàn)在,取一根直銅線并將其焊接到第一行 LED 的正極引腳上,如下圖所示。同樣,以相同的方式焊接所有四排 LED 的正極引腳。

建筑Arduino LED立方體

現(xiàn)在,繼續(xù)通過焊接連接四根銅線兩側(cè)的腿端。這將建立連接,將 LED 的所有 16 個(gè)正極相互連接。通過這樣做,我們將成功完成第一層的組裝。

4x4x4 LED立方體Arduino

將孔正極腳焊接在一起后,將盒子翻轉(zhuǎn)過來(lái),開始將 LED 的尖端從夾具的孔中推出。確保均勻地執(zhí)行此操作,以避免彎曲或損壞層結(jié)構(gòu)?,F(xiàn)在您的第一個(gè) LED
層已經(jīng)完成!再執(zhí)行此步驟三次,最終得到四層。

4x4x4 LED 立方體層

接下來(lái),取第一層 LED 并將 16 根負(fù)極引線焊接在一起,將各個(gè)層堆疊在一起。

4x4x4 LED立方體焊接

將另一層放在上面,并將其中一個(gè)角與第一層正好對(duì)齊 25 毫米(或您在網(wǎng)格中使用的任何距離)。這是陽(yáng)極線之間的距離。

用手將角固定到位,并將第一層的角陰極焊接到第二層的角陰極上。對(duì)所有角落都執(zhí)行此操作。

4x4x4 LED立方體的構(gòu)造

焊接 4x4x4 LED 立方體電路

4x4x4 LED
立方體開始成型。檢查各層是否在所有尺寸上都完全對(duì)齊。如果沒有,請(qǐng)稍微彎曲進(jìn)行調(diào)整。或者,如果高度距離不對(duì),則重新焊接。當(dāng)它們完全對(duì)齊時(shí),將剩余的 12
個(gè)陰極焊接在一起。

焊接后 4x4x4 LED 立方體的最終圖像

4×4×4 LED Cube Arduino代碼說(shuō)明

該代碼的結(jié)構(gòu)旨在執(zhí)行一系列預(yù)定義的照明模式,從而在 4x4x4 LED 立方體上創(chuàng)建引人入勝的視覺體驗(yàn)。本頁(yè)底部給出了完整的 4x4x4 LED
立方體代碼。動(dòng)畫包括閃爍效果、連續(xù) LED 激活、隨機(jī)圖案和各種動(dòng)態(tài)顯示。用戶可以修改延遲時(shí)間并嘗試順序或創(chuàng)建新功能來(lái)自定義 LED 立方體的行為。

int layer[4]={A3,A2,A1,A0}; //initialize and declaring led layers

int column[16]={13,12,11,10,9,8,7,6,5,4,3,2,1,0,A5,A4}; //initializing and
declaring led rows

int time = 250;

column:保存 LED 立方體列的引腳號(hào)的數(shù)組。

layer:保存 LED 立方體各層的引腳號(hào)的數(shù)組。

time:一個(gè)變量,表示代碼各個(gè)部分使用的延遲時(shí)間。

void setup()

{

for(int i = 0; i《16; i++)

{

pinMode(column[i], OUTPUT); //setting rows to output

}

for(int i = 0; i《4; i++)

{

pinMode(layer[i], OUTPUT); //setting layers to output

}

randomSeed(analogRead(10)); //seeding random for random pattern

}

setup 函數(shù)在程序開始時(shí)執(zhí)行一次。它將列和層數(shù)組中的每個(gè)引腳設(shè)置為輸出。它使用引腳 10 的模擬讀數(shù)為隨機(jī)數(shù)生成器提供種子。

void loop()

{

turnEverythingOff();

flickerOn();

turnEverythingOn();

delay(time);

turnOnAndOffAllByLayerUpAndDownNotTimed();

layerstompUpAndDown();

spiralInAndOut();

turnOnAndOffAllByColumnSideways();

delay(time);

aroundEdgeDown();

turnEverythingOff();

randomflicker();

randomRain();

diagonalRectangle();

goThroughAllLedsOneAtATime();

propeller();

spiralInAndOut();

flickerOff();

turnEverythingOff();

delay(2000);

}

loop 函數(shù)是程序的主要執(zhí)行循環(huán)。它按順序調(diào)用各種照明模式和效果,每個(gè)模式和效果都后跟幾毫秒的時(shí)間延遲。然后,循環(huán)等待 2000 毫秒(2
秒),然后再開始下一次迭代。

4x4x4 LED 立方體Arduino代碼的控制功能

該代碼定義了多個(gè)函數(shù),每個(gè)函數(shù)負(fù)責(zé)特定的照明模式或效果。以下是一些值得注意的功能的摘要。

turnEverythingOff(): 關(guān)閉所有 LED。

turnEverythingOn():打開所有 LED。

flickerOn() 閃爍(): 逐漸增加和減少所有 LED 的亮度。

turnOnAndOffAllByLayerUpAndDownNotTimed(): 按順序上下模式打開和關(guān)閉圖層。

turnOnAndOffAllByColumnSideways(): 以橫向模式依次打開和關(guān)閉列。

layerstompUpAndDown(): 通過打開和關(guān)閉單個(gè)圖層來(lái)模擬踩踏效果。

flickerOff(): 逐漸增加和減少所有 LED 的亮度。

aroundEdgeDown():以下降模式點(diǎn)亮立方體邊緣周圍的 LED。

randomflicker(): 模擬隨機(jī)閃爍效果。

randomRain(): 使用隨機(jī)掉落的 LED 模擬雨水效果。

diagonalRectangle():以對(duì)角矩形模式點(diǎn)亮 LED。

螺旋槳():模擬螺旋槳效應(yīng)。

spiralInAndOut(): 以螺旋進(jìn)出模式點(diǎn)亮 LED。

goThroughAllLedsOneAtATime():按順序打開和關(guān)閉所有 LED,一次打開和關(guān)閉一個(gè)。

該代碼提供了一組用于控制 4x4x4 LED 立方體、創(chuàng)建各種照明模式和效果的函數(shù)。每個(gè)照明模式都封裝在一個(gè)功能中,促進(jìn)了模塊化和易于理解。loop
函數(shù)按順序編排這些模式的執(zhí)行。

4x4x4 LED立方體代碼生成器

我知道對(duì) LED 立方體進(jìn)行編程可能是一個(gè)真正的頭疼問題,尤其是在將它們放在一起之后。這就是為什么這是一個(gè)易于使用的 Windows 應(yīng)用程序,名為
Cube3D。這個(gè)應(yīng)用程序消除了對(duì) LED 立方體進(jìn)行編程的痛苦。它旨在編寫必要的代碼,無(wú)論您是將 Arduino 還是 C 與 Atmel Studio
一起使用。現(xiàn)在,一切都為 4x4x4 LED 立方體做好了準(zhǔn)備。從鏈接下載 Cube3D 應(yīng)用程序 (.exe) 并按照安裝向?qū)нM(jìn)行操作。

該應(yīng)用程序?yàn)?4x4x4 LED 立方體生成一個(gè)圖案表,并使其易于可視化圖案。用于對(duì) LED
立方體進(jìn)行編程的代碼隨應(yīng)用程序一起提供,并且也存在于其自己的存儲(chǔ)庫(kù) LED-Cube-Code 中。

只需單擊它們來(lái)選擇要點(diǎn)亮的 LED – 超級(jí)簡(jiǎn)單!在代碼編輯器中按 Enter 鍵后,它就會(huì)發(fā)揮其魔力,并根據(jù)立方體中打開的 LED
創(chuàng)建一個(gè)模式。它有一個(gè)時(shí)間變量的輸入字段,通過更改它,您可以更改模式在立方體上顯示的時(shí)間(以毫秒為單位)。
審核編輯:陳陳

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    240

    文章

    22905

    瀏覽量

    650105
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6453

    瀏覽量

    185922
  • 立方體
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    6401
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    聲控立方體

    想做一個(gè)聲音控制的立方體,8*8*8的光立方體,采集外界的音頻,作為信號(hào)。第一個(gè)問題,音頻傳感器,大家給推薦
    發(fā)表于 09-27 22:29

    自制個(gè)LED立方體

    描述LED 立方體 8x8x8 arduino 74hc595n
    發(fā)表于 07-13 06:40

    基于Arduino mega的8×8×8 LED立方體

    描述個(gè)基于 Arduino mega 的 8×8×8 LED 立方體,甚至可以在動(dòng)畫上寫下你的名字將所有組件焊接到板上后,將其連接到
    發(fā)表于 08-03 07:42

    LED立方體8×8×8的資料分享

    描述令人驚嘆的 LED 立方體 8×8×8這是 8×8×8 LED 立方體。它與 pcb 板和 512 led
    發(fā)表于 08-23 06:43

    設(shè)計(jì)個(gè)Arduino Uno迷你LE立方體

    描述Arduino Uno 迷你 LE 立方體我認(rèn)為這將是個(gè)快速的周末電路雕塑項(xiàng)目。但是,我低估了 Arduino Uno Mini LE
    發(fā)表于 09-02 06:42

    LED立方體詳細(xì)制作教程

    這次的立方體,不管是原理圖、源程序、制作流程,都會(huì)像以前樣毫無(wú)保留的分享給大家,“Chinked-out”工作室就是堅(jiān)持開源,毫無(wú)保留的分享,借助網(wǎng)絡(luò),讓大家指出不足,共同進(jìn)步?。?!我向大家保證
    的頭像 發(fā)表于 09-14 09:12 ?8596次閱讀

    如何制作LED立方體夾具

    所以現(xiàn)在您有了個(gè)完整的LED立方體。夾具,它肯定會(huì)使您簡(jiǎn)化LED立方體 的工作?,F(xiàn)在,您可以將
    的頭像 發(fā)表于 11-20 09:44 ?1979次閱讀

    基于移位寄存器的發(fā)光二極管立方體4*4)編寫代碼

    該項(xiàng)目主要是為帶有移位寄存器的發(fā)光二極管立方體4*4)編寫代碼,為立方體創(chuàng)造不同的模式。
    的頭像 發(fā)表于 05-21 17:49 ?2485次閱讀
    基于移位寄存器的發(fā)光二極管<b class='flag-5'>立方體</b>(<b class='flag-5'>4</b>*<b class='flag-5'>4</b>)編寫代碼

    LED立方體arduino 74hc595n開源項(xiàng)目

    電子發(fā)燒友網(wǎng)站提供《LED立方體arduino 74hc595n開源項(xiàng)目.zip》資料免費(fèi)下載
    發(fā)表于 07-11 15:26 ?0次下載
    <b class='flag-5'>LED</b><b class='flag-5'>立方體</b><b class='flag-5'>arduino</b> 74hc595n開源項(xiàng)目

    基于Arduino mega 8×8×8 LED立方體

    電子發(fā)燒友網(wǎng)站提供《基于Arduino mega 8×8×8 LED立方體.zip》資料免費(fèi)下載
    發(fā)表于 07-20 17:14 ?1次下載
    基于<b class='flag-5'>Arduino</b> mega 8×8×8 <b class='flag-5'>LED</b><b class='flag-5'>立方體</b>

    LED立方體開源項(xiàng)目

    電子發(fā)燒友網(wǎng)站提供《LED立方體開源項(xiàng)目.zip》資料免費(fèi)下載
    發(fā)表于 08-01 10:12 ?2次下載
    <b class='flag-5'>LED</b><b class='flag-5'>立方體</b>開源項(xiàng)目

    Arduino Uno迷你LE立方體開源

    電子發(fā)燒友網(wǎng)站提供《Arduino Uno迷你LE立方體開源.zip》資料免費(fèi)下載
    發(fā)表于 08-12 09:36 ?0次下載
    <b class='flag-5'>Arduino</b> Uno迷你LE<b class='flag-5'>立方體</b>開源

    基于Arduino4x4x4 LED立方體

    這個(gè)項(xiàng)目能夠讓你使用手機(jī)麥克風(fēng)根據(jù)音量(分貝)來(lái)控制led立方體。
    發(fā)表于 12-02 17:32 ?0次下載

    基于Arduino4x4x4 LED立方體

    方案介紹 這個(gè)項(xiàng)目能夠讓你使用手機(jī)麥克風(fēng)根據(jù)音量(分貝)來(lái)控制led立方體。 構(gòu)建 理論的操作: 將導(dǎo)線連接到每個(gè)led的陽(yáng)極顯然是不切實(shí)際的。
    發(fā)表于 12-06 10:59 ?0次下載

    Arduino Mega供電的8x8x8LED立方體

    電子發(fā)燒友網(wǎng)站提供《由Arduino Mega供電的8x8x8LED立方體.zip》資料免費(fèi)下載
    發(fā)表于 12-13 09:26 ?0次下載
    由<b class='flag-5'>Arduino</b> Mega供電的8x8x8<b class='flag-5'>LED</b><b class='flag-5'>立方體</b>