ntsdt.net

never the same day twice

I spent an evening last week constructing a simple LED matrix.  I’ve been experimenting with Arduino for a while, and had previously ordered sample chips from various semiconductor manufacturers.  One sample chip I’d been planning to use for a while is the TLC5940 – which is can be used to drive up to 16 LEDs (daisy-chained it can drive even more).

You might think there’s nothing special sounding about this.. and you’d be right – only the TLC5940 also takes care of something called PWM (pulse width modulation) which allows control over LED brightness.  Not a huge deal, but still pretty neat.

Interfacing the TLC5940 with Arduino

A library has already been produced  (by Alex Leone) to allow the Arduino to be linked with the TLC5940.  More info about the library can be found here.  The datasheet provided by TI is also actually also pretty useful for working out how to create the supporting circuit.

I built the actual circuit using stripboard.  Stripboard (also known as veroboard) is handy for prototyping circuits.  It’s constructed from a board embossed with strips of copper, which have been punctuated with with evenly spaced holes.  The holes are used for placing the various through-hole components that your circuit requires.

I’ve found that stripboard is much like a permanent form of breadboard – another simple tool used for electronics prototyping.

Planning the circuit

Planning a circuit using stripboard requires a degree of ingenuity, due to the limited amount of copper strips available.  Often to makes the most efficient use of space, the copper needs to be broken at various points to route the flow of electricity.  Previously I’d tried to constuct my circuit on paper before putting iron to solder… but this time I’d heard about a program called VeeCAD so I used that.  I really recommend VeeCAD .. it makes the process of visualising how the circuit will work much, much easier.

Schematic produced in VeeCAD

Fig. 1 - Schematic produced in VeeCAD

Creating the circuit board

After producing the schematic – translating the design onto stripboard was pretty straightforward.  The first step involved marking out where the copper needed to be broken on the board.

When working with stripboard you need to break the flow of electricity in various places in the circuit. Previously I’d used a screwdriver to scrape away the copper, but small bits of metal were occasionally left behind, making short-circuits an eventuality … so this time I decided to use a drill.

Once the holes had been drilled I could go about assembling the rest of the circuit.

My soldering skills are not the best, but they’re slowing improving.  If you’re a beginner like me, I’d suggest you take it slowly and plan as much as possible before hand.  I tried to approach the building of the board in a measured way; tackling wiring first, followed by the IC sockets and the LEDs.  I found that as long as I took one step at a time I was fine.

Once I’d built the board, I checked continuity with a multimeter and loaded the TLC5940 into the IC socket.  After hooking the board up to my Arduino using some jump leads, I was able to load up some of the demo code from the TLC5940 library and watch it in action.

Drilled holes to break the flow of electricity in the circuit

Fig. 2 - Drilled holes to break the flow of electricity in the circuit

Board minus the TLC5940, resistors and LEDs

Fig. 3 - Board minus the TLC5940, resistors and LEDs

Finished Board

Fig. 4 - Final board

Glowing LED Matrix

Fig. 5 - Glowing LED Matrix

Once the holes had been drilled I could go about assembling the rest of the circuit.

My soldering skills are not the best, but they’re slowing improving.  If you’re a beginner like me, I’d suggest you take it slowly and plan as much as possible before hand.  I tried to approach the building of the board in a measured way; tackling wiring first, followed by the IC sockets and the LEDs.  I found that as long as I took one step at a time I was fine.

Once I’d built the board, I checked continuity with a multimeter and loaded the TLC5940 into the IC socket.  After hooking the board up to my Arduino using some jump leads, I was able to load up some of the demo code from the TLC5940 library and watch it in action.

Next project will be to produce an LED cube.

Post a Comment

Your email is never shared. Required fields are marked *

*
*

Hosting provided by webfaction.

This WP blog has been designed to produce valid xHTML.

Valid XHTML 1.0 Transitional