arduino max7219 e 8x8matrix

ho collegato un max7219 ad una matrix led 8x8, ho seguito gli schemi del playground/e altri siti, e provato decine di sketch trovati in decine di siti

nessuno mi funziona, qualsiasi sketch la matrix rimane accesa tutti e 64 i led, ho 2 integrati 7219 e fa lo stesso con entrambi

i collegamenti son giusti, la resistenza per la corrente alla matrix e' giusta, ci son i 2 condensatori, i pin che vanno ad arduino son sempre corretti a seconda dello sketch ma nulla, sempre tutto on

(i max7219 li ho persi su ebay in cina per la cronaca)

avete idee?

Per ora io ho usato i 7219 solo con led RGB e non con la matrice 8x8 (che ho a casa).
Che libreria hai usato?

Posso confermare che gli esempi sul playground relativi a matrici di led e max7219 funzionano.

ho provato con i 2 esempi di arduino (matrix), poi con altri sketck, uno usava la LedControl.h

per me non ha senso che rimangano i 64led sempre accesi fissi, neanche avessi dei max7219 finti...

qui ci sono gli schemi usati e la mia matrix e' identica (sempre stessi schemi pure del playground)
http://tronixstuff.wordpress.com/2010/07/09/review-maxim-max7219-led-display-driver-ic/

Le matrici sono tutte made in china, quindi lasciamo perdere questo dato.
Sbagli qualcosa senz'altro. E' possibile avere uno schema/foto?

Ancora mi ricordo il groviglio di cavi che feci sulla breadboard per collegare la matrice, per scovare un falso contatto ci misi un'ora.
Magari è il tuo stesso problema, la breadboard a volte e bastarda

leo, lo schema e' come questo


se vuoi faccio una foto pessima come quella di ieri :*

pelletta, dici che potrebbe dipendere dalla breadboard? pensa che mi son pure messo a controllare se i fili facevano contatto con i pin del max...
provo a rifarlo in altra posizione allora, prima di mettere tutto nel microonde...

Usa la morsa da banco, c'è più soddisfazione a sentirli scricchiolare :wink:

Pelletta:
Usa la morsa da banco, c'è più soddisfazione a sentirli scricchiolare :wink:

ci manca poco, ho rifatto tutto in altra posizione e sempre tutta la matrice accesa

il pin 24 va lasciato aperto? non l'ho mai visto collegato su singola matrice

Lo lasci scollegato.

Ma collegando a mano 1 solo led della matrice, questo ti si accende? Per capire se è il micro o la matrice guasta.

leo72:
Lo lasci scollegato.

Ma collegando a mano 1 solo led della matrice, questo ti si accende? Per capire se è il micro o la matrice guasta.

la matrice funziona perche' ci ho giocato collegandola a 16 pin di arduino con 8 res di limitazione, insomma ci scrivevo quello che volevo.

ma ora nulla, rimane sempre tutta on, e ho 2 integrati max, identico risultato

Uhm... se 1+1 fa 2, o hai sbagliato qualche collegamento o i chip sono tarocchi :sweat_smile:

leo72:
Uhm... se 1+1 fa 2, o hai sbagliato qualche collegamento o i chip sono tarocchi :sweat_smile:

1+1 fa anche 10... io non so piu' che pesci pigliare, lo schema e' giusto, i collegamenti pure, io ho dubbi sui max7219, c'e' un modo senza arduino per testarlo?

Il display è a catodo comune, vero?

Se il display é una matrice 8x8 monocolore non c'é anodo o catodo comune.

Ciao Uwe

il mio e' catodo comune, ora inverto tutti i fili perche' non so che altro fare

ne sono quasi venuto a capo, ho invertito tutti i fili, poi altri li ho spostati a tentativi finche' ho trovato le posizioni giuste

a questo punto posso solo pensare d'aver preso una 8x8 "stramba" da ebay con piedinatura diversa dalle solite catodo comune, quando l'ho usata con 16 uscite d'arduino mi son cercato io i pin

ora ho mal di testa... vi rompo domani per capire come funziona il max7219, grazie intanto :wink:

sto usando questo sketch che fa scorrere il led da alto sinistra in colonne fino a basso destra

#include "LedControl.h" //  need the library
LedControl lc=LedControl(12,11,10,1); // lc is our object
// pin 12 is connected to the MAX7219 pin 1
// pin 11 is connected to the CLK pin 13
// pin 10 is connected to LOAD pin 12
// 1 as we are only using 1 MAX7219
void setup()
{
// the zero refers to the MAX7219 number, it is zero for 1 chip
lc.shutdown(0,false);// turn off power saving, enables display
lc.setIntensity(0,8);// sets brightness (0~15 possible values)
lc.clearDisplay(0);// clear screen
}
void loop()
{
for (int row=0; row<8; row++)
{
for (int col=0; col<8; col++)
{
lc.setLed(0,col,row,true); // turns on LED at col, row
delay(50);
lc.setLed(0,col,row,false); // turns off LED at col, row
delay(50);
}
}
}

reizel:
ne sono quasi venuto a capo, ho invertito tutti i fili, poi altri li ho spostati a tentativi finche' ho trovato le posizioni giuste

a questo punto posso solo pensare d'aver preso una 8x8 "stramba" da ebay con piedinatura diversa dalle solite catodo comune, quando l'ho usata con 16 uscite d'arduino mi son cercato io i pin

Ma non hai il datasheet o per lo meno lo schema di come sono collegati i suoi pin?

no leo, niente datasheet, costava niente su ebay, un motivo c'era :slight_smile:

ora devo girare tutte le colonne perche' la scrive speculare, poi ci sono

se hai uno sketch che scrive testo facendolo scorrere postamelo qui :wink:

risolto, avevo una matrix 8x8 cinese... da quello che ho capito righe e colonne erano invertite e le righe invertite in modo speculare, da qui collegandola come una matrix normale rimaneva tutta accesa/non funzionante

avevo trovato un link dove altri si lamentavano che che quelle matrix cinesi non andavano con arduino finche' non hanno scoperto l'inghippo, pure loro le avevano prese alettati del prezzo bassissimo