LED Cube 4x4x4
LED Cube 4x4x4
LED Cube 4x4x4
http://www.instructables.com/id/LED-Cube-4x4x4/
http://www.instructables.com/id/LED-Cube-4x4x4/
step 2: Multiplexing
How to control 64 LEDs without using 64 individual wires? Multiplexing! Running a wire to the anode of each led would obviously be impractical, and would look really bad. One way to get around this, is to split the cube into 4 layers of 16x16 LEDs. All the LEDs aligned in a vertical column share a common anode (+). All the LEDs on a horizontal layer share a common cathode (-). Now if i want to light up the LED in the upper left corner in the back (0,0,3), I just supply GND (-) to the upper layer, and VCC (+) to the column in the left corner. If i only want to light up one led at a time, or only light up more than one layer at the same time.. this works fine. However, if I also want to light up the bottom right corner in the front (3,3,0), I run into problems. When I supply GND to the lower layer and VCC to the front left column, I also light up the upper right led in the front (3,3,3), and the lower left LED in the back (0,0,0). This ghosting effect is impossible to workaround without adding 64 individual wires. The way to work around it is to only light up one layer at a time, but do it so fast that the eye doesn't recognize that only one layer is lit at any time. This relies on a phenomenon called Persistence of vision. Each layer is a 4x4 (16) image. If we flash 4 16 led images one at a time, really fast, we get a 4x4x4 3d image!
http://www.instructables.com/id/LED-Cube-4x4x4/
Image Notes 1. All the LEDs on this layer share cathodes (-) 2. All the LEDs in this column share anodes (+)
Image Notes 1. This wire supplies GND (-) to layer 1 of the cube. 2. This wire supplies GND (-) to layer 0 of the cube. 3. All the leds in a layer have their cathodes connected together 4. All the cathodes connected together 5. All the leds alligned directly above each other have their anodes connected together 6. Each of the 16 vertical columns have a resistor to avoid frying the LEDS and the microcontroller 7. This wire supplies VCC to all the leds in this corner...
Image Notes 1. You want 90 degree angles! 2. Acurate measurements 3. Draw up the grid 4. Punch holes so the drill doesnt travel sideways when you start drilling out the holes
http://www.instructables.com/id/LED-Cube-4x4x4/
Image Notes 1. The distance of 25mm between the center of each hole, enable the pins to just barely overlap. just perfect for soldering.
http://www.instructables.com/id/LED-Cube-4x4x4/
Image Notes 1. Start by aligning and soldering the outer edges 2. anode 3. anode 4. anode 5. cathode 6. Bend the cathode leg (the short one) of the LED 90 degrees to one side.
Image Notes 1. All the cathodes (minuses) have been soldered together. 2. Since we bent all the cathodes in the same direction, there will be one sticking out to the side. just leave it for now. 3. The layer is pretty flimsy in this end, and would be bent out of shape if removed from the template like this. See the next image..
http://www.instructables.com/id/LED-Cube-4x4x4/
Image Notes 1. Add a barcing to this side to make the layer more robust. Take a straight piece of wire and solder it to all 4 cathodes.
http://www.instructables.com/id/LED-Cube-4x4x4/
Image Notes 1. cathodes connected to layer 2. Anode 3. Same anode wire connects to the led directly above.. 4. Again, be carefull with the soldering iron when soldering this close to the LED. Be fast. If you make a mistake. Let the led cool down before applying heat again.
http://www.instructables.com/id/LED-Cube-4x4x4/
http://www.instructables.com/id/LED-Cube-4x4x4/
http://www.instructables.com/id/LED-Cube-4x4x4/
Image Notes 1. C0 2. C3 3. C4 4. C7 5. A7 6. A0 7. A3 8. A4 9. C1 10. C2 11. C5 12. C6 13. A1 14. A2 15. A5 16. A6 17. Port A 18. Port C 19. Front 20. Back
Image Notes 1. Transistor array for ground wires 2. Port D bit 7 controls layer 0 3. Layer 3 4. Layer 2 5. Layer 1 6. Layer 0
Image Notes 1. Ground for level 3 2. Ground for level 2 3. Ground for level 1 4. Ground for level 0
Image Notes 1. Ground wire for level 1 2. All the cathodes on this layer are connected together
http://www.instructables.com/id/LED-Cube-4x4x4/
File Attachments
4x4x4_ledcube-0.2.zip (14 KB)
Video
http://www.instructables.com/id/LED-Cube-4x4x4/
Related Instructables
Assembling the Dragon Rider 500 for use with the AVR Dragon by barney_1
http://www.instructables.com/id/LED-Cube-4x4x4/
Ghetto Programming: Getting started with AVR microprocessors on the cheap. by The Real Elliot
Advertisements Customized Instructable T-shirts
Comments
50 comments Add Comment
Lego man says: How can I do this with no microchip?, I really dont want the blinking or the animations. pinkoza says: please what does it mean : Protoboard. The type with copper circles. ?? in french pleaase pleasse OmAcronAlpha1 says: Protoboard. Le type de cuivre cercles. Atmel AVR Atmega16 microcontrleur Programmer pour programmer l'Atmega16 64 Leds 2 leds statut. J'ai utilis le rouge et le vert. (facultatif) Max232 rs-232 puce, ou l'quivalent. 16 rsistances de leds. (100-400ohms) reviendra cette question. 2x rsistance de 470 Ohms. de statut LED 1x rsistance de 10k 4x rsistance 2.2K 4x NPN transistor BC338 (ou d'autres capables de transistor de commutation de 250 mA ish) 1x condensateur 10uF 1x condensateur 1000 6x 0.1uF condensateur cramique 2x 22pF cramique 1x Crystal 14.7456 MHz 2x bouton tactile REP passer en option connecteur 12v pour pouvoir connecteur en option pour pouvoir 5v Sorry I utilis Google, ce traducteur mai pas une pratique courante
http://www.instructables.com/id/LED-Cube-4x4x4/
msweston says: I WANT ONE!!! Great job, you should sell kits on the Instructables Store. jomavady says: What type of transistor is that between the toggle switch and power supply, and what are the wires next to the middle toggle switch? jomavady says: i did not mean middle toggle, I meant middle tactile switch. dbinnc says: What is the size of the protoboard u used? For ppl new to this, would be nice to have links to places online to buy the stuff. or where to find it all. Really want to try this out. Cool. spleethe6th says: where did you get your supply and what kind of LEDs did you use for the multi-color effect? mortaldoom780 says: I...I don't...I can't find the words to describe how awesome this is...Nice.
Fire_Leon says: Sep 7, 2008. 12:45 PM REPLY Man i did this, with a microchip one, and i got it kind of working, here is the thing, if i got the anode with 5v and the transistor is not switching, the led should be off right? well some of mines arent goin off, the keep on, not as bright as if they were on but looks pretty bad, what could be the problem? ive checked a lot, i also cut the ground wires and unwired the transistors and those leds keep on without ground =/ midtjyden says: Sep 6, 2008. 10:45 AM REPLY Hey! I have followed your guide and built my own 4x4x4 LED cube, but when I put your hex-file on my atmega16 the C5, C4, C3 and C2 doesn't work :( I have tested the LEDS, and they are connected correctly and to the right pins on the atmega16. And oh, btw..My LED-cube isn't flashing as fast as yours in your video..How do I make it faster? :) chr says: Sep 7, 2008. 2:56 AM REPLY Oh, Seems like I have forgotten an important step, changing the fuse values of the AVR. You need to change from internal to external oscillator to get the correct speed, and disable the JTAG port to enable the leds that aren't lighting up. I don't have the cube where I'm sitting now, but I'll check the fuse values when I have access to a cube and a programmer! midtjyden says: Can you explain how I change to external oscillator and disable the JTAG port? I am very noobish at this :P Sep 7, 2008. 3:59 AM REPLY
midtjyden says: Sep 7, 2008. 4:22 AM REPLY Ah! I found out how to change to external oscillator, and it worked, but when I did the code for disabling JTAG port, I suddenly cant connect to my atmega16 anymore, and the LEDs stopped flashing...what do I do? :( jsyah says: Are you working on the "getting started with AVR" now? Sep 6, 2008. 8:27 AM REPLY
Demonic_Crow says: Sep 5, 2008. 6:25 PM REPLY I love this. This is really cool. What kind of programmer are you using. I'm having problem trying to figure out what to get. Also is that an USBtinyISP in the background of the video? picman123 says: need an avi controller anyone got one for sale tech3312 says: What atmel chip are you using specifically cause i think i have the same chip but i want to verify thank you desmond8015 says: hi all i new here i very like these led cube and can anyone tell me how to get the software? thanks Sep 4, 2008. 4:03 PM REPLY
http://www.instructables.com/id/LED-Cube-4x4x4/
n3m3sys says:
Aug 31, 2008. 9:15 AM REPLY Hello again! I have some questions: on the schematics diagram at step 7, what is that IC3 7805T? Every red arrow pointing upwards is connected to the +5Volts of a DC source. Is this right? Thus, the whole project requires a 5V power to work, but how many amps? (mili amps). Thnks! Aug 25, 2008. 3:11 AM REPLY
cmanou says: can someone please tell me how exactly to program the avr for the cube pinkoza says: yees u made me cry too ! this is so cuuuuuuuuuute and pretty so loooookk !! thk u ! LED master22 says: makes me want to cry it's that awesome cmanou says: are you still planning on doing the "Getting started with AVR" Instructable
matbry01 says: Aug 23, 2008. 3:28 PM REPLY hi all ! just made the cube but nothing is working on it do i need to program it 1st b4 it will work ??? i put power to it but nothing is happening on it ? thanks matt. slithytove2 says: Aug 21, 2008. 10:49 PM REPLY A suggestion. It would make the code a little more complicated, but use http://en.wikipedia.org/wiki/Charlieplexing Charlieplexing] for the control, instead of multiplexing. Using charlieplexing (named after a guy who works for Atmel, btw), the 4x4x4 would only need 17 pins, and that would leave 8 LEDs open for status or somethnig (or perhaps make it 4x4x6, though ruining some of the aesthetics). An 8x8x8 would need only 47 pins, leaving 40 LEDs left over. Also note that LEDs have a recommended current for continuous operation (generally 20-30mA) but also a recommended current for when they are only on temporarily (close to 100mA). as seen at http://www.superbrightleds.com/specs/B12120_specs.htm , listed as continuous forward current and peak forward current. (the use of more transistors would allow a much higher current without damaging the uC). chr says: Aug 22, 2008. 2:43 AM REPLY Charlieplexing requires that you have IO ports capable of both sinking and sourcing current. As for the 8x8x8 cube, this is not practical, as the external IO port array are not tri state (sing/source). It's an array of flip flop latches. For the 4x4x4, the implication is that each IO pin have to be able to sink the current from all 16 leds, which (without looking at the spec sheet) I think would be impossible. Other than that, great insights! :) supersith22 says: Aug 21, 2008. 7:43 PM REPLY wow i'm just gonna make it all light up at once, i don't have microprocessor knowledge i'll take a circuits class in college and i'll finally find out. also the last pic in step 4 looks like and LED swastika. very nice ible man! supersith22 says: i meant the step 4 thing as a joke i wish we could edit our comments Plasmana says: Wow! This is so cool! I love that LED cube! led235 says: Where did you get all of those LEDs!!! was it hard to program? chr says: Search eBay for "1000 LEDs", and you'll find a lot of cheap options for leds :) Yes and no. Getting the cube to work, interrupt driver and all, was easy. Making 3 dimensional effects that look pretty, that was a bit harder! mlommers says: Realy cool man!! How big are your leds 3 or 5 mm? and are they 8000 or 11000MCD? I'm trying to make one myself. I'm realy looking forward to the 8*8*8 version!!!! mms says: were beautiful how to do hit please Aug 20, 2008. 1:07 PM REPLY Aug 21, 2008. 7:38 PM REPLY
http://www.instructables.com/id/LED-Cube-4x4x4/
n3m3sys says:
Aug 16, 2008. 4:13 PM REPLY Yes...dear chr, I think that a schematic in order to make a printed circuit and etch it, is required at this point! Pictures are fine, but what goes where, is a bit confusing. Please provide one! chr says: I never use etched circuit boards. But if you want to make a layout to etch a custom PCB, please feel free to share it here :) n3m3sys says: Aug 16, 2008. 4:16 PM REPLY
Aug 16, 2008. 4:58 PM REPLY Yes I could do that, but I can't figure out the connection made in you pictures! All I'm asking kindly is if you can provide a drawing of the circuit at your board, so we can connect correctly all of the components together. Aug 16, 2008. 4:29 PM REPLY
MatheusLPS says: make one circuit by hand, please, itll be useful . Im trying to finish this project here, but i having some problems thanksit
MatheusLPS says: Aug 16, 2008. 8:18 AM REPLY well, I decided to change something here.... I inverted the order of the connections between transistor array and cathodes.... just the opposite now... i think is working right now.... if someone uses proteus..... can download the file down and see if i made some mistakes!!! :D link: http://discovirtual.uol.com.br/disco_virtual/matheuslps86/cube pass: cube you must unrar, then open the file cube, in Proteus you must put the file code.hex in the mega16 controller, just double click and link to the path and hit play thanks MatheusLPS says: well man, finallly i wire almost the wires.. i simulate.... its seems thats working... if you have time can you saw my circuit and say if is it correct please? ahhh my e-mail is matheuslps@yahoo.com.br image: http://img123.imageshack.us/img123/3724/fmyfnd2feahe8uucopycc8.jpg thanks MatheusLPS says: Aug 15, 2008. 7:17 PM REPLY ahhh i find it.. i search at help me file of the program im using... there says the mega16 isnt full modelled yet... so it wont work fine... aff MatheusLPS says: im lost here.. explain better the process of wring the circuit... therere dark gaps!! thanks MatheusLPS says: Aug 15, 2008. 5:59 PM REPLY hey man i trying this projet here.. but i want to simulante it first! but theres a problem, look at pic down... my mega16 dont have the pins 10, 11 and 31!!!!! how can solve this? and the AVR_prog block, what is this? image: http://img88.imageshack.us/img88/659/u67ioicopycv9.jpg thanks Noodle93 says: Why do we need resistors on both the anodes and cathodes? I'm planning on making some sort of cylindrical version. chr says: You don't... Send pics :) Aug 11, 2008. 1:32 PM REPLY Aug 9, 2008. 5:31 AM REPLY Aug 15, 2008. 6:29 PM REPLY Aug 15, 2008. 10:01 PM REPLY
http://www.instructables.com/id/LED-Cube-4x4x4/
Noodle93 says:
Aug 11, 2008. 11:05 PM REPLY Ok, semi confused but will modify for arduino later. If I've got 5v and 40mA per pin, and I'm using 1 anode lead per pin (as expected), what voltage/current/mcd LED's should I get and which resistors. 3mcd at 10ma leds or 4000mcd at 30ma leds? I just don't want to finally build this and it ends up looking like a status light, or worse, no light at all.
vuurwerkbar says: wow... what a big thing. how can you make this? jonross says: the finished picture reminds me of a hologram at the MIT museum...
harsim89 says: what is that led in the pic, is it use to progreme 16 mega
http://www.instructables.com/id/LED-Cube-4x4x4/