Olimex 8x8LED

Hi,
I have a problem with a matrix led from Olimex, here is the link MOD-LED8x8 - Open Source Hardware Board
I connect the matrix to arduino and run this code:

/*
 LED Matrix - Display blinking text
 Version: 1.0
 Author: electricteardown (http://insidegadgets.wordpress.com)
 Created: 6/11/2010
 Last Modified: 6/11/2010

*/

//Pin connected to ST_CP of 74HC595
int latchPin = 8;
//Pin connected to SH_CP of 74HC595
int clockPin = 12;
//Pin connected to DS of 74HC595
int dataPin = 11;

int counter = 0;

int LEDs[8][8] = {   
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0, 0}      
};

int letterH[8][8] = {   
  {0, 1, 0, 0, 0, 0, 1, 0},
  {0, 1, 0, 0, 0, 0, 1, 0},
  {0, 1, 0, 0, 0, 0, 1, 0},
  {0, 1, 1, 1, 1, 1, 1, 0},
  {0, 1, 1, 1, 1, 1, 1, 0},
  {0, 1, 0, 0, 0, 0, 1, 0},
  {0, 1, 0, 0, 0, 0, 1, 0},
  {0, 1, 0, 0, 0, 0, 1, 0}      
};

int letterI[8][8] = {   
  {0, 0, 0, 1, 1, 0, 0, 0},
  {0, 0, 0, 1, 1, 0, 0, 0},
  {0, 0, 0, 1, 1, 0, 0, 0},
  {0, 0, 0, 1, 1, 0, 0, 0},
  {0, 0, 0, 1, 1, 0, 0, 0},
  {0, 0, 0, 1, 1, 0, 0, 0},
  {0, 0, 0, 1, 1, 0, 0, 0},
  {0, 0, 0, 1, 1, 0, 0, 0},     
};


void setup() {
  //set pins to output because they are addressed in the main loop
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}

void loop() {
  
  if (counter < 50) {
    lightLED(letterH);
  }
  if (counter > 50) {
    lightLED(letterI);
  }
  if (counter > 100) {
    counter = 0;
  }
  counter++;
}

void lightLED(int tempLED[8][8]) {
  byte columnbitsToSend = 0;
  byte rowbitsToSend = 0;
  
  int x = 0;
  int y = 0;
  for (x = 0; x < 8; x++) {
    columnbitsToSend = 0;
    rowbitsToSend = 0;
      
    for (y = 0; y < 8; y ++) {
      if (tempLED[x][y] == 1) {
        bitWrite(rowbitsToSend, y, HIGH);
      } 
    }
    
    digitalWrite(latchPin, LOW);
    bitWrite(columnbitsToSend, x, HIGH);
    shiftOut(dataPin, clockPin, MSBFIRST, columnbitsToSend);
    shiftOut(dataPin, clockPin, MSBFIRST, rowbitsToSend);
    digitalWrite(latchPin, HIGH);   
    delay(2);
  }
}

All good, but when i try to chain a second matrix to the first, the second matrix display the same image as the first.How i can control them separately or what code should i use to scroll a text on them, starting from one and ending to the other one?
And there is another way to control them,like using some library, because i want to display not only text but custom graphics.
Ive tried “Adafruit-GFX-Library-master” and “Adafruit-LED-Backpack-Library-master” but my arduino IDE cant compile them.First error is this:“The library “Adafruit-GFX-Library-master” cannot be used.Library names must contain only basic letters and numbers”. I remove the “-” from the name folder but when i try to compile one example from the library i get many errors like this:
"\Arduino\libraries\AdafruitLEDBackpack\Adafruit_LEDBackpack.cpp: In constructor ‘Adafruit_8x8matrix::Adafruit_8x8matrix()’:
\Arduino\libraries\AdafruitLEDBackpack\Adafruit_LEDBackpack.cpp:97: error: no matching function for call to ‘Adafruit_GFX::Adafruit_GFX(int, int)’
\Arduino\libraries\Robot_Control/Adafruit_GFX.h:41: note: candidates are: Adafruit_GFX::Adafruit_GFX(const Adafruit_GFX&)
\Arduino\libraries\Robot_Control/Adafruit_GFX.h:41: note: Adafruit_GFX::Adafruit_GFX()
\Arduino\libraries\AdafruitLEDBackpack\Adafruit_LEDBackpack.cpp: In constructor ‘Adafruit_BicolorMatrix::Adafruit_BicolorMatrix()’:
\Arduino\libraries\AdafruitLEDBackpack\Adafruit_LEDBackpack.cpp:133: error: no matching function for call to ‘Adafruit_GFX::Adafruit_GFX(int, int)’
\Arduino\libraries\Robot_Control/Adafruit_GFX.h:41: note: candidates are: Adafruit_GFX::Adafruit_GFX(const Adafruit_GFX&)
\Arduino\libraries\Robot_Control/Adafruit_GFX.h:41: note: Adafruit_GFX::Adafruit_GFX() "

Sorry for the long post.

I think the reason you have had no answers to date is that these displays while nicely built and readily "chained", are more expensive and thus less used than the more common Chinese ones. :smiley:

Perhaps more in their disfavour, is that they require to be actively multiplexed, whilst the MAX7219 displays are automatically multiplexed.

OK, your problem is that the code you are using (which not necessarily your fault, I am finding a trifle confusing with apparent unused variables and such) is only configured for a single module, so it shifts information in for that module - repeatedly - and strobes the information to the latches. As you do so, the same information "overflows" into the second module, so that it indeed displays as well.

You need to make it shift in two modules' worth of (separate) data before strobing the latches.

There is another minor design problem with this display here (unless I mis-read it) - I gather you have to strobe both row and column information through each of the modules on each occasions. The more modules you use, the more "legwork" is involved and you have to keep doing this continuously. Which is why the MAX7219-based modules are somewhat more popular here.