I would like to make a 444 one.
I orders 120 LED’s with 100 resistors off ebay for less then 5 bucks, good i love ebay.
So I found wiring diagrams for the cube, it should use 16 ports. I’m just wondering how exactly i connect it to the board and how do i program it to change it from nothing to ground and to 5v. If someone can help here it would be greatly appreciated.
Has anyone else built one of these? If so, post some picture or a video.
The link is fine. Thanks for posting it. Probably preferable to actually posting someone’s PDF.
I saw the link to the ATtiny2313 “cube” code in C. You might be able to compile the C code on the AtomBasic PRO module, it has a GNU C compiler. Otherwise, the code could be translated to Basic.
Of course, the image table is going to get WAY bigger! and you’ll have to add to the rows and columns.
As they appear to be doing full multiplexing, the current won’t “add up”, as only a single LED will be on at a time. However, the more LEDs you multiplex through, the dimmer they will get unless you increase the current over the shorter “on” time. So, more current is demanded. The 470 ohm resistor mentioned might have to be lowered to increase the current when multiplexing more LEDs.
LEDs have two leads, anode and cathode. We hook +5v (logic high) to one, and 0v (logic low) to the other in order to get the LED to light.
Think of a checker board (X-Y array). you can define any square in the checkerboard by it’s row (Y) and column (X). If you put an LED at each square, and connected all the cathodes in a row together (across) and all anodes in a column (up/down), then you’d have 8 anode connections and 8 cathode connections. Pick one of each and attach the battery + & - (or a high pin and a low pin of a uP), and you’ll get that square’s LED to light.
They’ve just expanded that to all cathodes on on plane, and brought out all anodes in a vertical column (9 anodes in a 3 x 3 plane) connected together. So they have 3 cathodes (3 planes) and 3 x 3 anodes brought out. Select a cathode, select an anode, apply power, and the “intersection” of the column and plane supply power to a single LCD.
Rotate through all the cathodes and anodes, turn on power on the one(s) you want to light up, and presto! POV makes all the selected LEDs appear to light up at once, even 'tho we’ve only turned on one at a time!
Alan KM6VV
P.S. Beth, this time is see the html stuff at the top!
I understand the wiring, im just no show about how to connect it to the board, my understanding is that you need to be able to break the connection on the ground to only light up a single LED, that way the others wont have a complete circuit and therefore wont light.
I wonder in the 2x2 example if you simply wired up 1 and 2 to IO pins lets say P0 and P1 and you wired up A and B to lets say P10 and P11. Now assuming you have appropriate resistors in place, I wonder if you could simply do something like:
; don't want any lights on, setting both of these high will not allow current to flow...
high p10
high p11
; Ok I now want to light up A1
Low P10
high p0
;now turn on A2
low p0 ; turn off A1
High p1 ;
; now turn on B1
high p10 ; turn off Row A
high p0
low p1
low p11 ; Turn on Row B
...
; My guess is that it should not be hard to try out…
What I don’t know is how do you program it to work in 3D? These things are like 3D displays. Imagine a 1080 HD Cube. A cube this dense would have to be extremely transparent. I read an article a while back regarding transparent circuits and it was very cool.
But as for how many IOs you will need. The idea in the article is that for a single layer of the cube you have one IO pin per each of the LEDS so in this case you would have 4X4=16. Then for the other pin of each of the LEDS on a layer you wire them all to each other on that layer. So to activate an LED on that specific layer you would pull the layers IO line LOW and then set the IO associated with the specific led in that layer to high. Then you connect the 16 IO pins of each layer to the corresponding pin on the other 3 layers. So you have 16 pins for selecting which pin in a layer and 4 pins for choosing which layer. I am sure I explained that as clear as mud.