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