Led matrix and arduino ... how to ...

Hi!

I have created a patch in max for transforming a video inte ledmatrix and I know want to build a ledmatrix for controlling with arduino.

I got two questions:

  1. How do I connect a 192 rgb-leds led-matrix 12x16 leds in to arduino?
  2. where can I find what I need? what modules and so on do I need?
  3. I only found pretty small led-matrixes (well the sizes of leds :slight_smile: ),such as: http://www.electrokit.se/images/40300301.jpg
    this one is 6x6 cm. thats the biggest one I found.

but any tips how I can do if I want bigger displays? Im going to have this in exhibition purpose so need something at least 50 x 50 cm

thanks

  1. How do I connect a 192 rgb-leds led-matrix 12x16 leds in to arduino?

sp. "12x16x3"
Even if your LEDs are only 20mA each, you'll need nearly 12 amps of power supply.
If you want to dim the LEDs individually, you're going to need something like 3 TLC5940s.
That's a lot of board space.

If you want to dim the LEDs individually, you're going to need something like 3 TLC5940s.

Did you mean to say 3 TLCs or 30 TLCs (i.e. 37)?

To the original poster?

  • Is there a maximum size?
  • Do you want to stream the matrix content directly from a computer?
  • You say video - how many frames per second are you looking for?

These questions will determine how feasible the arduino platform is for this purpose.

but any tips how I can do if I want bigger displays?

Build them out of individual LEDs

You can cut down on the number of TLC5940s by multiplexing them at 4 to 1, any more and it is a bit too dim.
To see how to do that see:-
http://www.thebox.myzen.co.uk/Hardware/Mini_Monome.html

Did you mean to say 3 TLCs or 30 TLCs (i.e. 37)?

Oops, sorry, typo, meant to say "36"

thanks for reply.

  1. @marklar

Did you mean to say 3 TLCs or 30 TLCs (i.e. 37)?

what does this mean :slight_smile:

  • Is there a maximum size?

no theres not really maximum size. but I would imagine the size to be at least 50 cm in height and maybe maximum 90 cm in height

  • Do you want to stream the matrix content directly from a computer?

Im using max/msp/jitter so are transforming the matrix in max into leds and to the led-matrix through arduino

  • You say video - how many frames per second are you looking for?

maybe round 30 fps

  1. @AWOL

If you want to dim the LEDs individually, you're going to need something like 3 TLC5940s.

are there any schematic or sketch for how to build this?

  1. @Grumpy_Mike

You can cut down on the number of TLC5940s by multiplexing them at 4 to 1, any more and it is a bit too dim.

what does this mulitplexing mean?

thanks a lot!!!

maybe round 30 fps

From your responses it seems you are looking to stream a 200 LED matrix from the computer at 30fps.

Pretty tall order for an arduino but maybe not impossible.

Are you a computer person wanting to control a matrix? If so, what language are you using, etc?

what does this mulitplexing mean?

Read the link. It means turning only one row on at a time but you change the row so often it looks like it is on all the time. That is how you control a matrix.

Another page to help you with these absolutely fundamental concepts is:-
http://www.thebox.myzen.co.uk/Workshop/LED_Matrix.html

Did you mean to say 3 TLCs or 30 TLCs (i.e. 37)?
what does this mean

See:-
http://www.arduino.cc/playground/Learning/TLC5940

and while you are at it you probably know nothing about decoupling chips:-

http://www.thebox.myzen.co.uk/Tutorial/De-coupling.html

Pretty tall order for an arduino but maybe not impossible.

in what way? is it not enough power to drive so many leds? I guess the power from the usb isnt enough and need to connect to a external powersupply? or is it in any other way problematic to build something like this.

Are you a computer person wanting to control a matrix? If so, what language are you using, etc?

Im using max/msp/jitter http://cycling74.com/

Im guess I need something like this:
TLC5940 - but how many rgb leds can one TLC5940 drive? so I can get individual control of every led?
192 st rgb leds

what else?
any circuit somewhere to study?

The TLC chip details can be found here .. it runs 16 channels - which means one can run 5.3 leds.
http://www.arduino.cc/playground/Learning/TLC5940
It will take 36/37 TLC chips to run that many leds unless you multi-plex. If you re-read all the posts you will see the 3 TLC comment was a typo.

You need to get the data quick enough to update the data 30 fps directly from the computer - that may be pushing the serial limits of the arduino - hence the tall order comment.

The TLC link I provided above was the first result in a search for TLC5940 on this site - you will have to learn to do some forum searches and start doing lots of learning. Check this other forum link - 112 RGBs and see the scale of the project.
http://arduino.cc/forum/index.php/topic,8664.0.html

So consider the scale, time and budget of what you want to do and more forward accordingly if a build is your plan.

Pretty tall order for an arduino but maybe not impossible.
in what way?

Sorry but if you have to ask why then I would venture that this is impossible for you. You seem to have no idea as to the difficulty or complexity of the task.

Wiring up 37 TLC59540s and getting them to work is a massive challenge both physically and electrically.
Scaling up in electronics is not always easy. You are dealing with high speed signals so you will need to use a number of buffers, you can't just connect an arduino output to 37 chips inputs and expect it to work just like that. Also layout is going to be critical and wiring quite a maze.

With 192 LEDs you need 192 * 3 * 2 = 1152 bytes to store the data for one frame, this is just about on the limit of the free memory on a system.

If I were doing this I would split it up into 4 separate systems, with an arduino controlling each.

As mike says - breaking into multiple parts is a great way to attack such a project. I use that concept for most of my larger arduino based builds. Feeding that many LEDs directly from the computer is not hard using the right technology. However, it will be a long term learning project for you to build this from scratch with raw chips, the arduino and little experience. That can be very rewarding - just be ready for it. Also start much smaller and understand you can't just "scale up directly" as Mike says.

If an electronics project designed to teach you about the micro-processors is what you are after, then arduino is perfect. If you are a computer pro that wants to program a matrix then a "turn key" system may be in order.

You seem to have no idea as to the difficulty or complexity of the task.

thats probably true but I will give it a try :slight_smile: and thanks a lot for your input!

If I were doing this I would split it up into 4 separate systems, with an arduino controlling each.

maybe I shall consider this.

If you are a computer pro that wants to program a matrix then a "turn key" system may be in order.

more towards this direction. but Im mainly a bit skilled in max. not really a computer pro :slight_smile: what does the english expression turn key mean by the way.

do anyone know any good tutorial that can point me in the right direction and help me to understand a bit more what Im doing :slight_smile:

but I think I need to use the multiplexing way to hold down the costs of TLC59540s cause (maybe stupid question again :slight_smile: ) then I only need 4 times less number of TLC59540s?

thanks a lot for all your help!!!

what does the english expression turn key

Well, it used to mean "jailer", but now has come to mean a pre-configured system that all you need to do is "turn-the-key" for it to work as you want.

  1. How do I connect a 192 rgb-leds led-matrix 12x16 leds in to arduino?

Take a look at this project:

The display is 16x10 RGB + 16x2 single-colour, pretty close to your requirements.
It uses individual LEDs that can be placed on a bigger board if that's what you need.
You can also contact Justin & co for advice.

I have posted some beta code in the ShiftPWM topic to support matrices.
Maybe it will work for you. I use shift registers for the rows and shift registers for the columns and do all the PWM in software.