在這個(gè)項(xiàng)目中,我們將使用 Arduino Nano 制作一個(gè)很酷的 4×4×4 LED 立方體。LED 立方體,也稱為 LED矩陣,可以照亮您的房間、學(xué)習(xí)空間或創(chuàng)客區(qū)域,使其看起來非常酷炫。此外,它非常容易構(gòu)建,并幫助您在電子和編碼方面發(fā)揮創(chuàng)意。
我們的 LED 立方體尺寸為 4x4x4,由四層組成,每層包含 64 個(gè) LED。這意味著,每層可容納 16 個(gè)LED,如本文后面的圖表所示。該連接涉及 64 個(gè) LED 以特定組合連接到 Arduino。當(dāng) LED 的正極端子從 Arduino接收到高電平信號,負(fù)極端子獲得低電平信號時(shí),LED 亮起。要組裝立方體,請將一個(gè)引腳連接到每列(總共 16 個(gè)),將一個(gè)引腳連接到每層(總共 4個(gè))。因此,您只需要 20 個(gè)引腳即可完成這個(gè)令人印象深刻的4x4x4 LED 立方體項(xiàng)目。我們將指導(dǎo)您逐步構(gòu)建四層,確保 LED對齊、均勻間隔并正確焊接到位。
使用 Arduino Nano 的 4×4×4 Led Cube 所需的組件
Arduino 納米
64- 5mm 藍(lán)色 LED
母頭
彩虹帶電纜
100Ω電阻
3V 電池測試 LED
零PCB板
銅絲
工具(烙鐵、剪線機(jī)、砂紙)
4×4×4 LED立方電路圖
使用 Arduino Nano 的 4 * 4 * 4 LED 立方體的電路圖涉及多個(gè)組件和連接,以確保正常運(yùn)行。這是一個(gè)分步說明。將 64 個(gè)
LED 排列成 4x4x4 矩陣。每個(gè) LED 代表立方體中的一個(gè)像素。
將每個(gè) LED 的陽極(較長的支腿)連接到其各自的行,將陰極(較短的支腿)連接到其各自的列。完整的 4x4x4 LED
立方體原理圖如下圖所示。
將 Arduino Nano 的數(shù)字輸出引腳(A4 到 D13)連接到 LED 立方體的列。這些引腳將控制多維數(shù)據(jù)集的各個(gè)列。
將數(shù)字輸出引腳(A0 至 A3)連接到立方體的層。這些引腳將控制立方體的每一層。將限流電阻(通常為 100-220
歐姆)與每層串聯(lián),以防止電流過大。將電阻的一端連接到Arduino Nano的數(shù)字輸出引腳,另一端連接到相應(yīng)的行。
請記住仔細(xì)檢查您的連接并使用適當(dāng)?shù)南蘖?a target="_blank">電阻器來保護(hù) LED。通過此設(shè)置,您可以對 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ù)雜;它被稱為共陽極。這僅意味著 LED 的所有正極均已連接。現(xiàn)在,這是很酷的部分,即使我們有 64 個(gè)
LED,我們只需要微控制器上的 20 個(gè)引腳來控制它們。我們使用 16 個(gè)引腳來控制每層的 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 立方體并進(jìn)行任何焊接之前,最好確保 LED 正常工作。我們的 LED 需要 3.3
伏電壓。較長的導(dǎo)聯(lián)為正,較短的導(dǎo)聯(lián)為負(fù)。您可以使用任何 3.3V 電池輕松測試它們。在我的案例中,我使用了鋰離子電池進(jìn)行測試。
我們使用的 LED 是透明的,并且發(fā)出非常微弱的光,因此我們希望使它們不那么強(qiáng)烈。
漫射光使 LED 更亮,使立方體看起來更酷。只需在每個(gè) LED 的頂面上擦拭砂紙,或者您可以使用帶有砂紙的直流電機(jī)來擴(kuò)散所有 64 個(gè)
LED。
構(gòu)建 4x4x4 LED 立方體
要為您的 LED 立方體制作模板,請買一塊足夠大的木頭來制作 4x4 網(wǎng)格,確保每個(gè)正方形為 25 毫米。首先在木頭上用線條畫一個(gè) 4x4
的網(wǎng)格。使用中心沖頭在線條相交的地方打凹痕。然后,找到一個(gè)恰到好處的鉆頭——小到可以將 LED
牢固地固定到位,但又足夠大,無需彎曲電線即可輕松拆卸。在網(wǎng)格上標(biāo)記的點(diǎn)鉆 16 個(gè)孔。現(xiàn)在,您的 LED 立方體模板已全部設(shè)置好,并準(zhǔn)備好進(jìn)行下一步組裝。將
LED 插入各個(gè)孔中。
現(xiàn)在,取一根直銅線并將其焊接到第一行 LED 的正極引腳上,如下圖所示。同樣,以相同的方式焊接所有四排 LED 的正極引腳。
現(xiàn)在,繼續(xù)通過焊接連接四根銅線兩側(cè)的腿端。這將建立連接,將 LED 的所有 16 個(gè)正極相互連接。通過這樣做,我們將成功完成第一層的組裝。
將孔正極腳焊接在一起后,將盒子翻轉(zhuǎn)過來,開始將 LED 的尖端從夾具的孔中推出。確保均勻地執(zhí)行此操作,以避免彎曲或損壞層結(jié)構(gòu)。現(xiàn)在您的第一個(gè) LED
層已經(jīng)完成!再執(zhí)行此步驟三次,最終得到四層。
接下來,取第一層 LED 并將 16 根負(fù)極引線焊接在一起,將各個(gè)層堆疊在一起。
將另一層放在上面,并將其中一個(gè)角與第一層正好對齊 25 毫米(或您在網(wǎng)格中使用的任何距離)。這是陽極線之間的距離。
用手將角固定到位,并將第一層的角陰極焊接到第二層的角陰極上。對所有角落都執(zhí)行此操作。
4x4x4 LED
立方體開始成型。檢查各層是否在所有尺寸上都完全對齊。如果沒有,請稍微彎曲進(jìn)行調(diào)整。或者,如果高度距離不對,則重新焊接。當(dāng)它們完全對齊時(shí),將剩余的 12
個(gè)陰極焊接在一起。
4×4×4 LED Cube Arduino代碼說明
該代碼的結(jié)構(gòu)旨在執(zhí)行一系列預(yù)定義的照明模式,從而在 4x4x4 LED 立方體上創(chuàng)建引人入勝的視覺體驗(yàn)。本頁底部給出了完整的 4x4x4 LED
立方體代碼。動(dòng)畫包括閃爍效果、連續(xù) LED 激活、隨機(jī)圖案和各種動(dòng)態(tài)顯示。用戶可以修改延遲時(shí)間并嘗試順序或創(chuàng)建新功能來自定義 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 立方體列的引腳號的數(shù)組。
layer:保存 LED 立方體各層的引腳號的數(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è)圖層來模擬踩踏效果。
flickerOff(): 逐漸增加和減少所有 LED 的亮度。
aroundEdgeDown():以下降模式點(diǎn)亮立方體邊緣周圍的 LED。
randomflicker(): 模擬隨機(jī)閃爍效果。
randomRain(): 使用隨機(jī)掉落的 LED 模擬雨水效果。
diagonalRectangle():以對角矩形模式點(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立方體代碼生成器
我知道對 LED 立方體進(jìn)行編程可能是一個(gè)真正的頭疼問題,尤其是在將它們放在一起之后。這就是為什么這是一個(gè)易于使用的 Windows 應(yīng)用程序,名為
Cube3D。這個(gè)應(yīng)用程序消除了對 LED 立方體進(jìn)行編程的痛苦。它旨在編寫必要的代碼,無論您是將 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è)圖案表,并使其易于可視化圖案。用于對 LED
立方體進(jìn)行編程的代碼隨應(yīng)用程序一起提供,并且也存在于其自己的存儲(chǔ)庫 LED-Cube-Code 中。
只需單擊它們來選擇要點(diǎn)亮的 LED – 超級簡單!在代碼編輯器中按 Enter 鍵后,它就會(huì)發(fā)揮其魔力,并根據(jù)立方體中打開的 LED
創(chuàng)建一個(gè)模式。它有一個(gè)時(shí)間變量的輸入字段,通過更改它,您可以更改模式在立方體上顯示的時(shí)間(以毫秒為單位)。
審核編輯:陳陳
-
led
+關(guān)注
關(guān)注
242文章
23360瀏覽量
663211 -
Arduino
+關(guān)注
關(guān)注
188文章
6477瀏覽量
187826 -
立方體
+關(guān)注
關(guān)注
0文章
6瀏覽量
6432
發(fā)布評論請先 登錄
相關(guān)推薦
評論