PaulRB,
I have followed his diagram, except for 2 differences:
- Uno is used instead of nano;
- 2 1k-resistors representing those 2k resistors
I know I have made a big mistake about not testing on the breadboard at the first try, but I have done it after the cube doesn't work. Even I use the breadboard, the same glitchy graphic still occurs. Perhaps I have to check the wiring a few more times to see that any mistake I have made later.
Talking about LEDs and eBay, It is ridiculous to hear about seller randomly mix those common anode and cathode LEDs in a single bag... Fortunately, every time I buy components and other stuff, I have always checked the comments about the shop (Since I use another platform to buy stuff) to make sure the shop is reliable. Even I received those products, I always check those components is working or not (except those 5 atmeag328, sigh...). Before I make the LED cube, I have also checked all 64 LEDs are common anode and working flawlessly, since I don't want to desolder a broken LED in a finished cube. After forming the cube, a voltage source is used for testing the cube, positive to anode and corresponding cathode pin to ground, all 64 LEDs light up nice and bright.
The testing process of the circuit:
Since I know the circuit doesn't work, I unplug all LED driver from the circuit and put into a breadboard, and I followed the circuit diagram to reproduce another circuit.(photo 1, I have to send it as an attachment).
Since I have not enough jumper wires and space, I decided not to build the multiplexing circuit (the 4 MOSFETs and the remain io pin from the ardunio). I just assume that is just a matrix(top view), so I connect all anode to Vcc( technically all LEDs light, but received signal of all 4 layers per layers). Since the animation from the source code is simple, it is no difference for displaying 4 layers individually or in a single layer instead.
(I will try to light up individual layers also, to observe any differences)
In theory, the LEDs should show up in the following sequence:
(Top view. Sorry, I can't provide the following image at the time)
RRRR GGGG BBBB CCCC // C = cyan
RRRR > GGGG > BBBB > CCCC
RRRR > GGGG > BBBB > CCCC
RRRR GGGG BBBB CCCC . . . (with all the other color)
But the result what I get was:
WWWW XXCG // X = no light
WWWW > XCCG
WWWW > XCCX // 2 LEDs have unusual blinking when
WWWW XCCX // turning white ([4,3] and [4,4])
If I unplug all the connector except for the specific TLC5940NT output I wanted to test, it has the following result (T and F this time, since the color of the LED have no effect for the following result):
The first TLC5940NT output (signal received from the ardunio):
TTTT FFFF
TTTT > FFFF
TTTT > FFFF
TTTT FFFF // this is the part works normally
Second TLC5940NT output (signal received from the first TLC5940NT's SOUT)
TTTT FFTT
TTTT > FTTT
TTTT > FTTF
TTTT FTTF
Third TLC5940NT output (signal received from the second TLC5940NT's SOUT)
TTTT FFTF<-- sometimes these
TTTT > FTTF<-- 2LEDs light up also
TTTT > FTTF
TTTT FTTF
In combining the random LEDs function I did in the very first post, it is believed that the first LED driver gives a correct signal, but the following drivers don't. I even swapped all three LED drivers, but the result was unchanged.
Grumpy_Mike
OK, I will try this later. A reply will be sent after the this method has been tested.