Ajuda com MAX7221

Olá,

Quero testar ligar um MAX7221 a este display de 7 Segmentos duplo (Cátodo Comum):

As características são:

Estou a ligar tudo como supostamente seria, os pinos SegA-SegF + SegDP aos respetivos pinos do display (seguindo a datasheet).

O DIG0 liguei ao pino 10 do display e o DIG1 ao pino 5 do display.

A resistência ISET coloquei de 30k (ou 10k).

A biblioteca usada é a Ledcontrol e o exemplo que vem:

//We always have to include the library
#include "LedControl.h"

/*
 Now we need a LedControl to work with.
 ***** These pin numbers will probably not work with your hardware *****
 pin 12 is connected to the DataIn 
 pin 11 is connected to the CLK 
 pin 10 is connected to LOAD 
 We have only a single MAX72XX.
 */
LedControl lc=LedControl(12,11,10,1);

/* we always wait a bit between updates of the display */
unsigned long delaytime=250;

void setup() {
  /*
   The MAX72XX is in power-saving mode on startup,
   we have to do a wakeup call
   */
  lc.shutdown(0,false);
  /* Set the brightness to a medium values */
  lc.setIntensity(0,8);
  /* and clear the display */
  lc.clearDisplay(0);
}


/*
 This method will display the characters for the
 word "Arduino" one after the other on digit 0. 
 */
void writeArduinoOn7Segment() {
  lc.setChar(0,0,'a',false);
  delay(delaytime);
  lc.setRow(0,0,0x05);
  delay(delaytime);
  lc.setChar(0,0,'d',false);
  delay(delaytime);
  lc.setRow(0,0,0x1c);
  delay(delaytime);
  lc.setRow(0,0,B00010000);
  delay(delaytime);
  lc.setRow(0,0,0x15);
  delay(delaytime);
  lc.setRow(0,0,0x1D);
  delay(delaytime);
  lc.clearDisplay(0);
  delay(delaytime);
} 

/*
  This method will scroll all the hexa-decimal
 numbers and letters on the display. You will need at least
 four 7-Segment digits. otherwise it won't really look that good.
 */
void scrollDigits() {
  for(int i=0;i<13;i++) {
    lc.setDigit(0,3,i,false);
    lc.setDigit(0,2,i+1,false);
    lc.setDigit(0,1,i+2,false);
    lc.setDigit(0,0,i+3,false);
    delay(delaytime);
  }
  lc.clearDisplay(0);
  delay(delaytime);
}

void loop() { 
  writeArduinoOn7Segment();
  scrollDigits();
}

Já testei com outros exemplos mas mesmo assim não consigo, os displays ficam sempre ligados (e não há qualquer alteração…). Será que estou a perceber isto mal?

Boas
Olhando à tua descrição não consigo ter a certeza de como tens isso ligado. No entanto tu dizes que o teu display de 7 segmentos é cátodo comum e usaste estes pinos:

O DIG0 liguei ao pino 10 do display e o DIG1 ao pino 5 do display.

Não estarás a fazer confusão com os pino DIG0 e DIG1 do MAX7221 com os pinos de cátodo comum do display?
É que olhando para o pinout do display que postaste, penso que eles querem apenas dizer Digit1 "Dig.1" e Digit2 "Dig.2"
Se o teu é cátodo comum devias ligar o pino 5 e 10 do display ao ground e não ao max.Os pinos de Dig0-Dig7 são pinos de "sinking"

Estou a ligar tudo como supostamente seria, os pinos SegA-SegF + SegDP aos respetivos pinos do display (seguindo a datasheet).

Se estas a usar estes pinos nos teus leds , eles so devem acender caso lhes forneças corrente "sourcing" como o datasheet te diz , ao passo que os pinos de Dig0-Dig7 são pinos de "sinking"

Ahh, estava a fazer confusão de facto mas com o raio do Display, afinal é de Anodo comum.. as ligações até estavam bem! Obrigado pela ajuda