RM新时代网站-首页

                聚豐項目 > 玩轉光立方LED Cube 4x4x4

                玩轉光立方LED Cube 4x4x4

                LED Cube 光立方是一個(gè)非??犰诺难b置,當它發(fā)光時(shí)不僅有炫耀奪目的視覺(jué)效果,而且其中還隱藏了不少數學(xué)原理。

                Cresta Cresta

                分享
                5 喜歡這個(gè)項目
                團隊介紹

                Cresta Cresta

                團隊成員

                陳柱 工程師

                分享
                項目簡(jiǎn)介
                LED Cube 光立方是一個(gè)非??犰诺难b置,當它發(fā)光時(shí)不僅有炫耀奪目的視覺(jué)效果,而且其中還隱藏了不少數學(xué)原理。
                硬件說(shuō)明

                檢查所有的 LED 是否有正常發(fā)亮,彎折 LED,制作固定 LED 的模板,將圓孔母排針焊到電路板上,焊接公排針,焊接 LED。
                000001.jpg

                000002.jpg

                UNO腳位D0~D13 & A0~A1 分別控制每一顆 LED,D0 控制的 LED 是靠近 D0 腳位那一顆,A1 腳位則是控制距離 D0 最遠的那一顆 LED。A2 控制頂層 LED,A5 則是控制底層 LED。

                000003.jpg



                軟件說(shuō)明

                把所有的腳位都設定成 OUTPUT,才可以指定它要 HIGH 或 LOW。當指定它為 HIGH 時(shí)電位是 5V;當指定它為 LOW時(shí)電位是 0V,相對于 5V 而言可以把它視為是 GND。

                在初始階段為了讓所有的 LED 都不亮,所以在 setup() 階段將 16只 LED 腳位都設為 LOW,并且將控制層面的 4 只腳位都設為 HIGH。此時(shí) LED 受到逆向 5V 的電壓,但因 LED 可承受 5V 逆向偏壓,再加上 UNO 的輸出電流不大(每一腳位為 20mA),所以 LED 不至于會(huì )燒毀。個(gè)人覺(jué)得這是一種為節省材料成本,但卻是非常冒險的電路做法,LED 稍有不慎短路,將會(huì )毀壞 Arduino 主板。


                //2017-01-01 LED_Cube4_01.ino

                #define CUBE_SIZE 4
                #define PLANE_SIZE CUBE_SIZE*CUBE_SIZE
                #define PLANE_TIME 20
                #define LED_TIME 500

                int LEDPin[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, A0, A1};
                int PlanePin[] = {A2 , A3, A4, A5};

                void setup()
                {
                  int pin;
                  for (pin = 0; pin < PLANE_SIZE; pin++) {
                    pinMode(LEDPin[pin], OUTPUT);
                    digitalWrite(LEDPin[pin], LOW);
                  }
                  for (pin = 0; pin < CUBE_SIZE; pin++) {
                    pinMode(PlanePin[pin], OUTPUT);
                    digitalWrite(PlanePin[pin], HIGH);
                  }
                }

                void loop()
                {
                  for (int plane = 0; plane < CUBE_SIZE; plane++)
                  {
                    digitalWrite(PlanePin[plane], LOW);
                    for (int led = 0; led < PLANE_SIZE; led++)
                    {
                      digitalWrite(LEDPin[led], HIGH);
                      delay(LED_TIME);
                      digitalWrite(LEDPin[led], LOW);
                    }
                    digitalWrite(PlanePin[plane], HIGH);
                    delay(PLANE_TIME);
                  }
                }



                演示效果

                000004.jpg

                000005.jpg


                評論區(4 )
                • pufuwo: 醫用護理床
                  [url=http://www.com]醫用護理床[/url]

                  回復

                • 超級開(kāi)發(fā)板: 64*64的可以當作3D顯示屏用

                  回復

                • 海闊天地: 你這個(gè)方案跟我要做的東西很類(lèi)似,希望微聊wx 13302482521

                  回復

                  • 海闊天地: 詳細先看我在開(kāi)源中國發(fā)布的項目:https://zb.oschina.net/workbench/reward/manager.html#/detail?id=18526125

                    回復

                RM新时代网站-首页

                              RM新时代 RM新时代app下载 RM新时代官方网站 RM新时代APP平台下载地址 RM新时代登录入口官网

                                            rm官网怎么登录 rm新时代理财官网 RM新时代投资安全吗 RM新时代手机版下载 RM新时代正常可以出正常提 rm新时代是正规平台 新时代RM官方网站下载 新时代app游戏 RM新时代平台靠谱平台入口-百度知道 新时代RM|登录网址