6x6x6 Arduino LED Cube

22,617

69

19

Introduction: 6x6x6 Arduino LED Cube

In this instructable I would like to show You, how my mini project was made.
I got a homework at the University where i learn, from Programming and Digital Technics to make a project with Arduino.
I choosed a 6x6x6 LED cube, controlled by Arduino UNO & shift registers.

Step 1: Material and Tools

  • 256x 5 [mm] blue LED (optional);
  • 6x 180 [Ω] resistor;
  • 7x SN74HC595N shift register;
  • 1x Arduino UNO;
  • 1x potentiometer (optional);
  • wires;
  • soldering wire and iron;
  • solderable perf- board;

  • male header connector (optional);

  • a piece of wood;
  • a drill machine;

Step 2: How It Works

This is a 6x6x6 LED cube, so it consists of 6 levels, 6 rows, every row has 6 columns.
In a level, all the cathodes are soldered with their neighbours, like a net.
In a column, all the anodes are soldered with the upper and lower neighbours. So if I switch VCC to a column, and GND to a level, the LED, witch is in the intersection of the level and the column will light.

The levels and every row are controlled by 1-1 shift register.
I use 7 shift registers, one for the levels to control its ground, and the other 6 for the rows, each one for one row.

A shift register controls a whole row, a shift register has 8 output port, but a row only has 6 column, so it is more than enough.

Step 3: Preparations

  1. I found a piece of wood at home and I drilled 36 holes in it. The diameter of the holes are 5 [mm], like the LED's diameter.
    The distance between the center of 2 holes is 25[mm]. This stand is important for quality soldering, it makes it easier and more precise.
  2. Test all the LEDs with a simple circuit. All of them must be fit. I switched +5[V] to the LED's anode, and the GND to the LED's cathode through a 180 [Ω] resistor
  3. Then I curved the legs of the LEDs with a plier, bended the anodes to a right angle and placed them into the holes upside down, so the anodes are faced the outside part of the cube.
    As shown in the picture, they are separated to 2 parts. The cathodes are bended like in the other picture with the arrows, but the direction is optional, this is just my opinion.

Step 4: Solder the Cube

It's time to start soldering.
I solderd the cathodes to each other and then i used some copper wire to connect the two sides and to make the structure stronger. If you are ready, carefully try to get out the level from the wood.
If you have all the 6 leves, then you have to solder the anodes of the second level to the anodes of the first level, and so on until you have all the levels soldered.

After this, solder the anodes of the first level to a solderable perf board.

To connect the levels to the resistors i used some copper wire.

Step 5: Solder the Circuit

As i mentioned, i used 7 shift registers, Arduino Uno, and a potentiometer to modify the delay time.
I soldered some male pins to the board for the Arduino, so I didn't have to use any jumper wire.

I attached a drawing of the circuit, i think it contains more information than a picture of it, it looks like a jungle.

Step 6: The Code

I made a program for it, in the code i left some comments to help understand it.
To control the shift registers you can use binary or hexadecimal numbers, i prefered the hexa one because it is shorter.

I created an array for the shift registers,
SR[6] contorls the levels, and the others (SR[1-5]) control the rows.
For example SR[6] = 0x7F that means only the first level gets gnd, the others don't
SR[5] = 0xC0 means on the 5. row only the first 2 led will light on the 1. level.

Lights Contest 2017

Participated in the
Lights Contest 2017

Microcontroller Contest 2017

Participated in the
Microcontroller Contest 2017

Be the First to Share

    Recommendations

    • The 1000th Contest

      The 1000th Contest
    • Battery Powered Contest

      Battery Powered Contest
    • Hand Tools Only Challenge

      Hand Tools Only Challenge

    19 Discussions

    0
    Jorge Ladrillero
    Jorge Ladrillero

    Reply 1 year ago

    Te funciono el código del arduino?

    0
    JeroenG14
    JeroenG14

    1 year ago

    Code posted is wrong code is for arduino only and not for 6x6x6.
    In a 6x6x6 you have 36 coloms not 6.
    This one is for a 3x3x3.
    If you need a setup code for a 6x6x6 send me a email.
    jeroenvrij2.0@outlook.com

    0
    JeroenG14
    JeroenG14

    Reply 1 year ago

    Also a scematic is possible

    2
    VimalR17
    VimalR17

    2 years ago

    hi can u send me the coding, i am doing my project base on these.

    you can sent to my mail

    vr47199@gmail.com

    0
    chandralama3609
    chandralama3609

    Question 2 years ago

    Please can u give me the code of this
    Because i am doing this in my project

    0
    n6zop
    n6zop

    2 years ago on Step 5

    Greetings

    I was trying to make your 6x6x6 cube. Got the cube done, now trying to get the wiring done. I see that the outputs on the shift registers are not connected to anythong. I was thinking these go to the colmuns. but you are using to many shift registers. You said you inculed a copy of the curcuit, I can't seem to find it. If I could see that, then I could finish up the project. You can email me at n6zop@cox. Your cube is wonderful.

    Thanks

    Roger

    0
    AmirulD4
    AmirulD4

    Question 2 years ago

    Hello can u help me on the circuit and the coding
    I found hard for me to follow the pic
    Sorry
    This is my email can u sent there
    Skullcandy815@gmail.com

    0
    AmirulD4
    AmirulD4

    2 years ago

    Hello can u give me the full picture fo the circuit
    Sorry
    But i cant read the circuit so well
    Can u sent to my email
    Skullcandy815@gmail.com
    N the coding also
    I try but there is a problem on the void loop

    2
    PawełB27
    PawełB27

    Question 2 years ago on Step 5

    row 5 -> row 6 without overflow?

    0
    LyshaDee
    LyshaDee

    2 years ago

    hello! I made this cube by following through the instructions and then creating a PCB to connect it to the arduino. When you built it, did you have any issues with the Arduino overheating? Just wondering if it could be something in the power draw from the number of LEDs, or if it's unique to my board. Thanks!

    0
    saja11
    saja11

    2 years ago

    hi , can i use a 100 ohm resistor instead of 180 ohm?

    0
    JafetO1
    JafetO1

    2 years ago

    Hello, I was wondering if you can send me the Arduino code, I can not open the one above the comments, I really need it :c

    my e-mail is: jafet.osorio49@outlook.com

    0
    minhhoang300999
    minhhoang300999

    3 years ago

    c1:output 2 ----> c6:output 7 right ?

    0
    ttemplom
    ttemplom

    Reply 3 years ago

    Right

    0
    bdmsoft
    bdmsoft

    3 years ago

    patta

    0
    robert4456
    robert4456

    Reply 3 years ago

    thanks !