Using Nick Poole’s Interactive Hanging LED Install https://learn.sparkfun.com/tutorials/in … -led-array as a guide to learning and to make an art project of my own. Trying to wire up 15 TLC5940 breakouts to an array of 238 LEDs based on the wiring diagram in the tutorial. I can’t get these LEDs under individual control to run the Pong code, so I assume my question is about proper connections and or circuits.
Trying to follow the diagram exactly, I’ve wired each LED to it’s spot on the breakout board (each individual LED anode back to the individual vcc thru-hole and each LED cathode to the first (SCLK or SIN?) thru-hole). Left ground open. Ive then daisy-chained each breakout, connecting all of the out (VPRG, GSCLK, etc.) to the appropriate in on the next board.
From the Arduino to the first break-out: VPRG to GND on Arduino. SLCK to pin 13, SIN to pin11, BLANK to pin 10, XLAT to pin9, GSCLK to pin 3 on Arduino. Power is from external 5volt/2amp source going directly to the first vcc thru-hole on the first breakout. First breakout ground back to ground on power source and Arduino. Tested each LED individually. Checked and re-checked solder joints. Changed NUM_TLC to 15 in Library.
Tried to follow the wiring diagram and pin-out on the tutorial exactly but if I run the tutorial code, the LEDs are all over the place - sometimes on, sometimes off - and they certainly don’t (movecycle). I can’t even get them to an all off state. - Tlc.set(pixel[y], 0); Tlc.update(); or simply run init();
Did I wire the circuit wrong? I’m running out of ways to troubleshoot……
To reduce complexity I would first try with 1 TLC5940 (decouple the output to the rest) and see what happens. Also it might be your power supply of 2A. A typical led takes 20mA (between 10 and 25mA). It is a bit difficult to find in the data sheet how much the TLC5940 chips needs itself (seems between 30 and 60mA during transfer). Under these assumptions each board could need (max) 16 * 20 = 480ma + 30mA = 510mA. In that case with 15 boards you get to 6.55A (assuming all the lights would be on). However for the 15 TLC5940 itself you already seem to need 450mA (15 * 30mA) in rest. Check whether your power supply is still providing the right/ stable voltage ? Without that you could get random results.
Thank you for that explanation. As a newbie, I ALWAYS appreciate when someone takes the time.
I did, however, make a mistake. The power supply I am using is a 5V 10A switching power supply (+1000uf capacitor) , connected to both ends of the serial vcc line. I’ve been able to get everything lit at various times. Just can’t get them completely off and under individual control.
That’s why I am wondering if I have incorrectly set up the circuit for the individual LEDs from each breakout channel ? Maybe the LED Anode wires to the SLCK and Cathode to the GRND? Sure appreciate some assistance before I rip everything up to start over…
What I have currently-------------
Channel 1-15
SLCK/SIN O X ------------------------------------------------- CATHODE ------------> |LED
VCC O X --------------------------------------------------ANODE----------------> |
GRND O
If this helps any - (The BOB - TLC5940 is a 16 channel PWM unit with 12 bit duty cycle control (0-4095), 6 bit current limit control (0-63), and a daisy chainable serial interface.) Constant current sink ( I just plain don’t get that)…??? Datasheet - https://www.sparkfun.com/datasheets/Com … lc5940.pdf
Although I will certainly try your suggestion of getting each row working first. Ugh. desoldering…
good your power supply is strong enough. But start with one first breakout board first and if that works extend it from there.
some other remarks:
Looking at the data-sheet the output 0- 15 is pulling to GND. so indeed you have to connect the anode to VCC and the cathode to 0 -15 outputs (which shows is on the same row as SCLK).
When I look closely at the pictures your provided I did not see the wires from the output, nor wires on the input of the breakout board, only the led wires are soldered. Was that before you connected them all ?
I assume you use the sparkfun library. How is the setup defined in tlc_config.h? Is that set as default ( I assume, based on you pin connection, that you have an Arduino Uno)