Sure. I realize it looks a bit ugly, but it's just an attempt at establishing communication between the Arduino and the tlc5940.

I connected it like the example, although it's a bit hard to follow since I routed the wires away from the chip. The example below lays out the connections. I'm totally new to interfacing chips with other chips, so I might very well have done something wrong. I have, however, redone the circuit a few times and checked it out multiple times. I can't figure out what I'm doing wrong.
I'm using the library examples written for this chip, which I got from
http://www.arduino.cc/playground/Learning/TLC5940. I haven't toyed with the code as provided in the example yet, but here it is:
/*
* Basic Pin setup:
* ------------ ---u----
* ARDUINO 13|-> SCLK (pin 25) OUT1 |1 28| OUT channel 0
* 12| OUT2 |2 27|-> GND (VPRG)
* 11|-> SIN (pin 26) OUT3 |3 26|-> SIN (pin 11)
* 10|-> BLANK (pin 23) OUT4 |4 25|-> SCLK (pin 13)
* 9|-> XLAT (pin 24) . |5 24|-> XLAT (pin 9)
* 8| . |6 23|-> BLANK (pin 10)
* 7| . |7 22|-> GND
* 6| . |8 21|-> VCC (+5V)
* 5| . |9 20|-> 2K Resistor -> GND
* 4| . |10 19|-> +5V (DCPRG)
* 3|-> GSCLK (pin 18) . |11 18|-> GSCLK (pin 3)
* 2| . |12 17|-> SOUT (if daisy-chained, this goes to SIN of the next TLC)
* 1| . |13 16|-> XERR
* 0| OUT14|14 15| OUT channel 15
* ------------ --------
*
* - Put the longer leg (anode) of the LEDs in the +5V and the shorter leg (cathode) in OUT(0-15).
* - +5V from Arduino -> TLC pin 21 and 19 (VCC and DCPRG)
* - GND from Arduino -> TLC pin 22 and 27 (GND and VPRG)
* - digital 3 -> TLC pin 18 (GSCLK)
* - digital 9 -> TLC pin 24 (XLAT)
* - digital 10 -> TLC pin 23 (BLANK)
* - digital 11 -> TLC pin 26 (SIN)
* - digital 13 -> TLC pin 25 (SCLK)
* - The 2K resistor between TLC pin 20 and GND will let ~20mA through each LED.
*
* If you are daisy-chaining more than one TLC, connect the SOUT of the first TLC to
* the SIN of the next. All the other pins should just be connected together:
* BLANK of TLC1 -> BLANK of TLC2 -> ...
* The one exception is that each TLC needs it's own resistor between pin 20 and GND.
*
* Alex Leone <acleone ~AT~ gmail.com>, 2008-11-26
*/
/* These two includes should go at the top of any file that uses the library */
#include "tlc_config.h"
#include "Tlc5940.h"
void setup()
{
/* Tlc.init() has to be called before using any of the library functions */
Tlc.init();
}
void loop()
{
/*
* This loop will create a Knight Rider-like effect if you have LEDs plugged
* into all the TLC outputs. NUM_TLCS is defined in "tlc_config.h"
*/
int8_t direction = 1;
for (TLC_CHANNEL_TYPE channel = 0; channel < NUM_TLCS * 16; channel += direction) {
/*
* Tlc.clear() sets all the grayscale values to zero, but does not send
* them to the TLCs. To actually send the data, call Tlc.update()
*/
Tlc.clear();
/*
* Tlc.set(channel (0-15), value (0-4095)) sets the grayscale value for
* one channel (15 is OUT15 on the first TLC, if multiple TLCs are daisy-
* chained, then channel = 16 would be OUT0 of the second TLC, etc.).
*
* value goes from off (0) to always on (4095).
*
* Like Tlc.clear(), this function only sets up the data, Tlc.update()
* will send the data.
*/
Tlc.set(channel, 4095);
/*
* Tlc.update() sends the data to the TLCs. This is when the LEDs will
* actually change.
*/
Tlc.update();
delay(75);
if (channel == NUM_TLCS * 16 - 1) {
direction = -1;
}
}
}