a Ben Combee/HTINK project
This Arduino-compatible shield uses three TI TLC5940 PWM LED driver ships to drive a 4x4 array of RGB LEDs. Each color is controlled by a different chip so you can adjust the reference resistors for the appropriate current. This also includes mounting positions for for three general-purpose buttons that are connected to ground, and a reset button. The TLC5940 chips are not directly connected to any Arduino pins, but a header is provided for you to make a manual connection depending on the needs of your sketch.
This board is a version of the circuit used at the first HTINK workshop on March 14th, 2009 at Bug Labs in New York City.
This project was once available as a kit from Seeed Studio, but it has been discontinued. They still have their listing up. Ben no longer has PC boards available, but you can use the board layout files to make your own batch using services like Seeed's Fusion PCB or OSH Park.
To program your Arduino to control the RGB LED shield, you first need to install the tlc5490arduino library from http://code.google.com/p/tlc5940arduino/. Do this by downloading the ZIP file from the site, unpacking the TLC5490 folder, and putting it into your Arduino IDE's hardware/libraries folder. You'll then need to modify the tlc_config.h file to change the line
#define NUM_TLCS 1
#define NUM_TLCS 3
since there are three TLC5490 ICs in this circuit connected in series.
Here are a few example sketches that will use this library to make different patterns.
On the shield, the four LEDs at the corners are labeled with their X,Y coordinates: "1,1", "1,4", "4,1", and "4,4". The formula to turn a coordinate into a LED number is (X - 1 + (Y - 1) * 4).
This version has some major changes from the original 1.1 board.
RGB_LED_Shield_1.4.zip - includes schematic, board image, and design files for Eagle CAD
HTINK RGB Shield 1.4 by Ben Combee is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.
This is the same as version 1.4, but with a bug that reversed two of the headers. This bug actually was in boards going back to 1.0, but it didn't matter before because the control signals were routed externally. The 1.3 boards can be used with alternative form-factor Arduino boards where you wire on a breadboard, but they can't plug into an Arduino board as a shield.
To wire this to an Arduino board, here's the wiring pattern you need:
This is a revised version of the 1.1 board with several changes we discovered while assembling and using that version. It never went into production.
This board was produced in a limited run by Seeed Studio as part of their Propaganda program. I documented the build-out process with several YouTube videos and some posts on The Life Unwired.
RGB_LED_Shield_1.1.zip - includes schematic, board image, and design files for Eagle CAD
HTINK RGB Shield 1.1 by Ben Combee is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.