Help with MAX7219 and matrixes

Pretty basic question from a beginner - can a single MAX7219 run 4 LED matrixes in series? I don't know if "in series" is the correct definition here, but basically I bought this beautiful device:

and I'm wondering how to get my Arduino to run it. I've managed to run a single 8x8 matrix with the MAX7219 without any issues, but anything I've tried for the 8x32 matrix doesn't work (Parola, LedControl, LedControlMS, some other library as well).

I'm looking to be able to trigger individual diodes, much in the way that for example lc.setRow(0,1,B10000000) does. Any help is welcome!

AS there is no datasheet get your money back and get very very nasty with Amazon. With out a data sheet it's just useless junk - If your in the UK complain to your local trading standards or start a small claims case.

Rule - if you don't already know how to use it and there is no datasheet on the site DON'T BUY IT!

Mark

Well, it's essentially 4 1088AS matrixes, the one you get with the starter kit.

That's the datasheet for them I believe.

Any other help? :confused:

A single MAX7219 can drive just 64 LED in an 8x8 matrix. To drive 4 8x8 matrices will required 4 MAX7219.

On eBay you can buy a 8x8 matrix / MAX7219 module pairs which which can be chained together. To make a ticker-tape display I have chained 6. The only problem I found was that when the modules are chained in their natural orientation the character orientation is 90 degrees out from that desired and additional software is required to change the orientation.

Looking at the other stuff this guy has to offer he looks like he clones uther peoples stuff. So look for the same thing for other companies try sparkfun or adafruit.

Mark

stowite:
A single MAX7219 can drive just 64 LED in an 8x8 matrix. To drive 4 8x8 matrices will required 4 MAX7219.

On eBay you can buy a 8x8 matrix / MAX7219 module pairs which which can be chained together. To make a ticker-tape display I have chained 6. The only problem I found was that when the modules are chained in their natural orientation the character orientation is 90 degrees out from that desired and additional software is required to change the orientation.

Sorry, each LED matrix module has a MAX7219 chip under it. I just don't know how to make it work. So essentially, each matrix has its own MAX7219. I must be messing up the coding. Any help with that?

Okay, this code makes all 4 matrixes work. Does anyone know how I can control them independently? Right now each one mirrors what the first one is doing.

#include <LedControl.h>

int DIN = 12;
int CS = 11;
int CLK = 10;

LedControl lc1=LedControl(DIN,CLK,CS,1);

void setup(){
lc1.shutdown(0,false); //The MAX72XX is in power-saving mode on startup
lc1.setIntensity(0,2); // Set the brightness to maximum value
lc1.clearDisplay(0); // and clear the display
// and clear the display
}

void loop(){
delay(500);
lc1.setRow(0,1,B10101010);
lc1.setRow(0,2,B01010101);
}

void printByte(byte character [])
{
int i = 0;
for(i=0;i<8;i++)
{
lc1.setRow(0,i,character*);*

  • }*
    }
    [/quote]

snowvictim2:
Okay, this code makes all 4 matrixes work. Does anyone know how I can control them independently? Right now each one mirrors what the first one is doing.

Assuming you have chained them together properly then you would do well to look at the MAX7219 datasheet and the content of LedControl.h . As with all libraries you need to understand the parameters of the methods declared in the .h files in relation to the hardware you are controlling.

Check out the Parola.h library, written for driving multiple MX7219s.
https://majicdesigns.github.io/MD_Parola/

LedControl lc1=LedControl(DIN,CLK,CS,1);

Don't you need to tell it 4 matrices here?

I tried that, but then no LEDs come on. When I tell it there's only 1 MAX7219, it actually runs the light sequence on all 4 matrices. I think that means that all 4 MAXs are getting the command, no? I just don't know how to tell MAX 2, MAX 3, and MAX 4 to display something other than what I'm inputting for MAX 1.

I thought it might be something to do with the wiring. From what I understand, the single 8x8 module chaining still requires you to connect the CLK and CS pins on each individual MAX back to the Arduino. Could that be the problem?

You have this?
Arduino clock - to all 4 devices
Arduino chip select - to all 4 devices
Arduino data -to 1st chip data in. 1st chip data out to 2nd chip data in. 2nd chip data out to 3rd chip data in. 3rd chip data out to 4th chip data in.

10uF, 0.1uF on power pin of each chip to Gnd.
10K or so resistor on each chip's Rset pin to (Vcc or Gnd, I don't recall which)