Go Down

Topic: [RISOLTO] Max7219 mostra "8888" (Read 1 time) previous topic - next topic

matrix77

Jun 03, 2013, 08:46 pm Last Edit: Jun 04, 2013, 01:03 am by matrix77 Reason: 1
Salve a tutti,


Oggi ho collegato "il driver MAX7219" a 4 display da 7 segmenti, successivamente ho collegato i segnali seriali ad Arduino.

Il risultato di partenza non è stato dei migliori, dal momento che già alimentando il circuito, senza sketch caricato, i 4 display indicano "8 8 8 8 ", (quattro otto).Faccio presente di aver collegato solo un condensatore elettrolitico da 100 micro al 7219, perchè l'altro da 10 non polarizzato, lo andrò ad acquistare in settimana.Volevo sapere che cosa indica una visualizzazione di questo tipo.Si potrebbe essere guastato il driver?

Ricapitolando : Ho collegato su "Iset" una resistenza da 10 k, display collegati in parallelo come da datasheet, solo un condensatore elettrolitico da 100 micro, mentre l'altro non è stato collegato.

Ciao

uwefed

Stai usando dei Display con anodo comune al posto dei catodo comune che sono necessari per il MAX7219?
Ciao Uwe

matrix77


Stai usando dei Display con anodo comune al posto dei catodo comune che sono necessari per il MAX7219?
Ciao Uwe

Salve Uwe,

No purtroppo, sto utilizzando quelli giusti (KW1561CSA)

gingardu


Salve a tutti,


Oggi ho collegato "il driver MAX7219" a 4 display da 7 segmenti, successivamente ho collegato i segnali seriali ad Arduino.

Il risultato di partenza non è stato dei migliori, dal momento che già alimentando il circuito, senza sketch caricato, i 4 display indicano "8 8 8 8 ", (quattro otto).Faccio presente di aver collegato solo un condensatore elettrolitico da 100 micro al 7219, perchè l'altro da 10 non polarizzato, lo andrò ad acquistare in settimana.Volevo sapere che cosa indica una visualizzazione di questo tipo.Si potrebbe essere guastato il driver?

Ricapitolando : Ho collegato su "Iset" una resistenza da 10 k, display collegati in parallelo come da datasheet, reset non collegato, solo un condensatore elettrolitico da 100 micro, mentre l'altro non è stato collegato.

Ciao



ma scusa non comprendo dove è il probl,  se non invii il numero da visualizzare che ti aspetti?  tutto spento?
Le cose si possono considerare facili in due casi: quando le si conosce bene o quando non le si conosce affatto...

uwefed

Allora hai invertito sul MAX7219 i dig con i seg.
Ciao Uwe

matrix77



Salve a tutti,


Oggi ho collegato "il driver MAX7219" a 4 display da 7 segmenti, successivamente ho collegato i segnali seriali ad Arduino.

Il risultato di partenza non è stato dei migliori, dal momento che già alimentando il circuito, senza sketch caricato, i 4 display indicano "8 8 8 8 ", (quattro otto).Faccio presente di aver collegato solo un condensatore elettrolitico da 100 micro al 7219, perchè l'altro da 10 non polarizzato, lo andrò ad acquistare in settimana.Volevo sapere che cosa indica una visualizzazione di questo tipo.Si potrebbe essere guastato il driver?

Ricapitolando : Ho collegato su "Iset" una resistenza da 10 k, display collegati in parallelo come da datasheet, reset non collegato, solo un condensatore elettrolitico da 100 micro, mentre l'altro non è stato collegato.

Ciao



ma scusa non comprendo dove è il probl,  se non invii il numero da visualizzare che ti aspetti?  tutto spento?


Salve e grazie per il tuo intervento,
Scusa, ma non ho molta dimestichezza con questo driver e pensavo rimanesse spento senza comunicazione, quindi in pratica multiplexa in base ad un suo valore di default?

BaBBuino

Prova a scollegare i pin della SPI (MOSI e Clock) e scollega anche il CS, poi smanetta quest'ultimo tra il +5 e GND e poi dicci cosa succede.

uwefed


Salve e grazie per il tuo intervento,
Scusa, ma non ho molta dimestichezza con questo driver e pensavo rimanesse spento senza comunicazione, quindi in pratica multiplexa in base ad un suo valore di default?

Il MAX7219 per tener spento i Display li tiene polarizzati in modo inverso.

dal datasheet:
Shutdown Mode
When the MAX7219 is in shutdown mode, the scan oscillator is halted, all segment current sources are pulled to ground, and all digit drivers are pulled to V+, thereby blanking the display. ... Data in the digit and control registers remains unaltered. Shutdown can be used to save power or as an alarm to flash the display by successively entering and leaving shutdown mode. ..

Initial Power-Up
On initial power-up, all control registers are reset, the display is blanked, and the MAX7219/MAX7221 enter shutdown mode. Program the display driver prior to display use. Otherwise, it will initially be set to scan one digit, it will not decode data in the data registers, and the intensity register will be set to its minimum value.

Si entra/ esce dal shutdown mode resettando / settando il bit D0 del Shutdown Register (0xXC)

Ciao Uwe

matrix77



Salve e grazie per il tuo intervento,
Scusa, ma non ho molta dimestichezza con questo driver e pensavo rimanesse spento senza comunicazione, quindi in pratica multiplexa in base ad un suo valore di default?

Il MAX7219 per tener spento i Display li tiene polarizzati in modo inverso.

dal datasheet:
Shutdown Mode
When the MAX7219 is in shutdown mode, the scan oscillator is halted, all segment current sources are pulled to ground, and all digit drivers are pulled to V+, thereby blanking the display. ... Data in the digit and control registers remains unaltered. Shutdown can be used to save power or as an alarm to flash the display by successively entering and leaving shutdown mode. ..

Initial Power-Up
On initial power-up, all control registers are reset, the display is blanked, and the MAX7219/MAX7221 enter shutdown mode. Program the display driver prior to display use. Otherwise, it will initially be set to scan one digit, it will not decode data in the data registers, and the intensity register will be set to its minimum value.

Si entra/ esce dal shutdown mode resettando / settando il bit D0 del Shutdown Register (0xXC)

Ciao Uwe


Grazie per le info che mi hanno portato a ricontrollare tutti i collegamenti su pcb; effettivamente non riceveva i segnali il driver, ed infatti avevo sbagliato a collegare il clock sotto all' ic, colpa della stanchezza e dei tanti collegamenti....grazie al Vostro intervento, ho scartato l'idea che l'ic fosse guasto e nel frattempo ho caricato uno sketch d'esempio e funziona, adesso devo solo collegare i due led rossi centrali e domani inizierò a prendere un po' di pratica con la libreria.

Come ultima cosa volevo sapere se fosse possibile utilizzare un ide più aggiornato della versione "023", perchè purtroppo le ultime versioni non accettano la libreria "ledcontrol.h".

BaBBuino

L'IDE successivo alla 023 è la 1.5.x.

Ti suggerisco di conservarle entrambe, perchè tra una e l'altra c'è un bel salto di parametri.

Io uso principalmente la vecchia 0023, e solo quando ho progetti che richiedono librerie e funzioni della nuova, uso la 1.5.


uwefed

Dalla versione IDE1.0.0 é stato cambiato il WProgram.h con Arduino.h. Devi modificare la libreria.
Quote from: http://arduino.cc/en/Main/ReleaseNotes
The WProgram.h file, which provides declarations for the Arduino API,
  has been renamed to Arduino.h. To create a library that will work in
  both Arduino 0022 and Arduino 1.0, you can use an #ifdef that checks
  for the ARDUINO constant, which was 22 and is now 100.  For example:

  #if defined(ARDUINO) && ARDUINO >= 100
  #include "Arduino.h"
  #else
  #include "WProgram.h"
  #endif


Quote
L'IDE successivo alla 023 è la 1.5.x.

Questo é sbaglaiato.

La versione 1.5.x é per la Arduino DUE.
Per tutti gli altri Arduini:
La versone dopo la IDE0023 é la IDE1.0.0. La versione attuale é la IDE1.0.5

Ciao Uwe

matrix77


Dalla versione IDE1.0.0 é stato cambiato il WProgram.h con Arduino.h. Devi modificare la libreria.
Quote from: http://arduino.cc/en/Main/ReleaseNotes
The WProgram.h file, which provides declarations for the Arduino API,
 has been renamed to Arduino.h. To create a library that will work in
 both Arduino 0022 and Arduino 1.0, you can use an #ifdef that checks
 for the ARDUINO constant, which was 22 and is now 100.  For example:

 #if defined(ARDUINO) && ARDUINO >= 100
 #include "Arduino.h"
 #else
 #include "WProgram.h"
 #endif


Quote
L'IDE successivo alla 023 è la 1.5.x.

Questo é sbaglaiato.

La versione 1.5.x é per la Arduino DUE.
Per tutti gli altri Arduini:
La versone dopo la IDE0023 é la IDE1.0.0. La versione attuale é la IDE1.0.5

Ciao Uwe

Ancora un grazie!!, poi eseguirò la modifica che mi hai consigliato.

Ciao

leo72


L'IDE successivo alla 023 è la 1.5.x.


E la serie 1.0.x dove la metti?  ;)

BaBBuino

Leo c'è qualcosa che non mi torna. Io sto usando la 1.5, e non ho Arduino DUE. Però funziona. Cosa sto sbagliando?

uwefed

L'IDE 1.5.x é l' unica che gestische Arduino DUE ede in stato beta. Gestisce anche gli altri modelli Arduino.
È preferibile usare con gli Arduino non DUE l'IDE1.0.x perché é piú stabile e la piú aggiornata.

Sulla pagina per scaricare la IDE http://arduino.cc/en/Main/Software:

Quote
Download Arduino 1.5 BETA (with support for Arduino Due Board)

If you have the new Due Board you must download the 1.5.2 version. Once you get the software follow this instruction to get started with the Arduino Due.

WARNING: This software is a beta version, you may encounter bugs or unexpected behaviours. Please discuss any issues in the Due forum 


Ciao Uwe

Go Up