How to wire up a LED matrix and program it

66 views
Skip to first unread message

Maw

unread,
Aug 18, 2011, 7:05:54 PM8/18/11
to toasted circuits lightuino
Hi Andrew, I have no idea of how I should connect a LED matrix with
lightuino v5 neither program it, can you help me with that? for
example with a 9x9 charlyplexed matrix, sorry for my english..

Andrew Stone

unread,
Aug 18, 2011, 9:51:31 PM8/18/11
to toasted-circu...@googlegroups.com
Hi Mauricio,

Imagine an LED matrix with rows and columns.  Let's say that the rows connect to the LED's anodes (+) and the columns connect to the LED cathodes (-).  Its just a convention if your matrix is the opposite, then rotate it by 90 degrees :-).

So if you energize a single row and a single column, a single LED (the intersection between the row and column) will light.

Or energize a single row, and all columns.  This will turn on ALL LEDs in a row.  Or a single row, and specific columns.  This will turn on specific LEDs in that row.

Now in a "for" loop, energize rows 1 through 9 in order and when row 1 is on, turn on just the columns you want to show on row 1.  When row 2 is on, turn on the columns you want for row 2.  And so on for all 9.
Do this really fast > 30 times a second and the eye will see the rows as always on.

The Lightuino provides 16 500mA "source drivers".  They emerge out the top right 16 pin right angle connector.  Hook 9 of these up to your rows.
It also provides 70 20mA "sink drivers".  Hook 9 of these up to your columns.  Or if you want 40mA per LED hook 2 up to each column (they are additive).

Write the for loop I described above & you are done!

The "begin_here5" sketch shows how to turn on the source drivers and the sink drivers.

Specific matrix example code is located at: http://code.google.com/p/arduino-m5451-current-driver/source/browse/trunk/latest/libraries/lightuino5_lib_dev/lightuinoMatrix.cpp
This code works for a 16x70 matrix which is a lot bigger then you need.  That is why you should treat it as an example.  You should use the smallest matrix possible because the fewer the rows, the greater % time each row will be on.

In fact, if your matrix is not wired up yet, if I were you I'd consider wiring up a "matrix" that is electrically 2x41 that happens to be physically arranged as 9x9

Cheers!
Andrew
Reply all
Reply to author
Forward
0 new messages