3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

Disco Drinks Coaster

Step 3Drive the board

This is the tricky bit. You need to use something (probably a microcontroller) to drive the board in a way which generates an image. Attach power and data cables to the connector in the bottom right of the board. Seen from above, we number the six pins:

1 2 3
4 5 6

The corresponding signals are:

1. XVOLTS - drive voltage for LEDs. Connect to 4V current limited supply.
2. SERIAL_CLOCK - shift data from SERIAL_DATA on positive-going edge.
3. SERIAL_LATCH - latch 40 bits from shift register to LED control on positive-going edge.
4. GROUND - common ground.
5. 5VOLTS - supply voltage for control circuitry. Connect to 5V supply.
6. SERIAL_DATA - input data for shift register.

To scan the display, clock 10 4-bit numbers into the shift register. To clock in a bit:

- bring SERIAL_CLOCK low
- modify SERIAL_DATA
- bring SERIAL_CLOCK high

Once 40 bits have been clocked in, the SERIAL_LATCH signal can be brought high to transfer them to the LED control circuitry. Each 4 bit number selectively enables the red, green and blue LEDs in one row, and selectively disables all LEDs in one column. So if we clock in a string:

0011 0100 0111 ...
RGCB RGCB RGCB

This sets all the LEDs in row 0 to blue, all the LEDs in row 1 to green and all the LEDS in row 2 to cyan (green + blue). It disables all the LEDs in columns 0 and 2. By rapidly clocking in various combinations of values (typically with only 1 of the 10 column-disable bits low), we can scan the array to build up an image, and use pulse-width modulation to give a range of apparent intensities.

The attached firmware can be used with an Atmel ATmega644 to generate the required signals in response to serial input from a PC or Mac.
« Previous StepDownload PDFView All StepsNext Step »

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
4
Followers
1
Author:ebenupton