[RISOLTO] 10 display 7 segmenti collegati a max7219

Salve a tutti,

Come da titolo, ho collegato 10 display a 7 segmenti a 2 max7219 (il secondo in cascata al primo DOUT—>DIN) e caricando uno sketch di test:

//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
***** Please set the number of devices you have *****
But the maximum default of 8 MAX72XX will also work.
*/
LedControl lc=LedControl(12,11,10,[tt][b]2[/b][/tt]);

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

/*
This time we have more than one device.
But all of them have to be initialized
individually.
/
void setup() {
//we have already set the number of devices when we created the LedControl
int devices=lc.getDeviceCount();
//we have to init all devices in a loop
for(int address=0;address<devices;address++) {
/The MAX72XX is in power-saving mode on startup/
lc.shutdown(address,false);
/
Set the brightness to a medium values /
lc.setIntensity(address,8);
/
and clear the display */
lc.clearDisplay(address);
}
}

void loop() {
//read the number cascaded devices
int devices=lc.getDeviceCount();

//we have to init all devices in a loop
for(int row=0;row<
** **10;row++** **
) {
for(int col=0;col<
** **10;col++** **
) {
for(int address=0;address<devices;address++) {
delay(delaytime);
lc.setLed(address,row,col,true);
delay(delaytime);
lc.setLed(address,row,col,false);
}
}
}
}

Il software fa illuminare tutti i segmenti dei display collegati in scansione, ma il problema lo riscontro negli ultimi due display (il nono e il decimo e per l’appunto, quelli collegati al 2° integrato) che mi mostra in maniera speculare, la stessa sequenza di accensione del 1° display collegato al primo integrato.Le parti marcate sono quelle che ho ritoccato per adattare il software a leggere gli ultimi due display.
Un salutone a tutti e grazie eventualmente a chi mi darà qualche dritta.

Salve a tutti e buona domenica innanzitutto,

purtroppo sono ancora qui perché il problema che affligge il 2° display, collegato al relativo"MAX7219"

in cascata al primo, rimane, anche dopo aver corretto il software che si occupa di far visualizzare le cifre su

tutti i display.

Riporto il software e l’immagine:

#include “LedControl.h”
int test = 7;
LedControl lc=LedControl(12,11,10,2);
/* we always wait a bit between updates of the display */
unsigned long delaytime=200;
void setup() {
{

lc.shutdown(0,false);
lc.shutdown(1,false);
lc.setIntensity(0,5);
lc.setIntensity(1,5);
lc.clearDisplay(0);
lc.clearDisplay(1);
}
void loop() {
//read the number cascaded devices

lc.setDigit(0,0,test,false);
lc.setDigit(0,1,test,false);
lc.setDigit(0,2,test,false);
lc.setDigit(0,3,test,false);
lc.setDigit(0,4,test,false);
lc.setDigit(0,5,test,false);
lc.setDigit(0,6,test,false);
lc.setDigit(0,7,test,false);
lc.setDigit(1,0,test,false);

}

Grazie e saluti

Paolo

Nella foto si vedono solo alcuni display e tantissimi cavi.

1) dacci il link alla libreria che usi: 2) dacci uno schema del circuito (anche disegnato a mano e fotografato/scannerizzato)

Cia Uwe

Ciao Uwe e grazie per il tuo interessamento,

Ti riporto lo schema che ho seguito e come saprai, l’unica differenza dei collegamenti rispetto al primo ic, sta

nel collegamento in cascata e per la precisione, ho collegato il “DOUT” del 1°, al “DIN” del 2°, i “CLK”

e “LOAD” in parallelo, per il resto è tutto uguale, ho ricontrollato decine di volte i collegamenti, i primi 8 display

funzionano alla perfezione, ma lo sfarfallio degli ultimi due rimane.

Se ti può servire; i pin “DIG” non utilizzati del secondo ic sono liberi, ma per provare, gli avevo portati a massa,

ottenendo sempre lo stesso risultato, mentre la resistenza, “ISET” come i condensatori, sono uguali al

primo ic.

Forse manca qualcosa nel software??

Ciao e grazie di nuovo.

cascata_MAXIM.jpg

Penso di aver risolto, anzi ho risolto, ma non ho capito il perché...; per farla breve, i pin 4 e 9 del max,

sono GND ed in base allo schema vanno uniti, se però li porto a massa sulla breadboard, i display si

spengono, boh......

Ciao a tutti....

Penso di aver risolto, anzi ho risolto, ma non ho capito il perché...; per farla breve, i pin 4 e 9 del max,

sono GND ed in base allo schema vanno uniti, se però li porto a massa sulla breadboard, i display si

Hai sbagliato anodo e catodo dei Display?

Prova di pilotare prima uno poi l' altro MAX7219 da soli.

Ciao Uwe

uwefed: Hai sbagliato anodo e catodo dei Display?

Prova di pilotare prima uno poi l' altro MAX7219 da soli.

Ciao Uwe

Ciao, no i catodi sono stati rispettati.... in un primo momento la colpa è stata dei cavetti che facevano falsi

contatti nella breadboard, ma poi rieseguendo tutti i collegamenti e rimuovendo il riferimento della massa

comune, dai pin 4 e 9, i display si sono accesi e il problema dello sfarfallio e sparito, per adesso sembra che

funzioni tutto, o per meglio dire, ha funzionato tutto fino ad un oretta fa, adesso gli ultimi due display, quelli

collegati al 2° max, si spengono dopo qualche secondo, mostrando però correttamente il dato impostato.

Domani salderò tutto su di una piastra pcb forata, così da eliminare qualsiasi problema di contatti

anomali.

Ciao e grazie ancora

matrix77: Domani salderò tutto su di una piastra pcb forata, così da eliminare qualsiasi problema di contatti anomali.

Ciao e grazie ancora

Una buon passo per eliminari poblemi saltuari e casuali. Ciao Uwe