maxim7219

salve e buon natale,

sto integrando in un progetto che prevede l'utilizzo di diversi display a 7 segmenti il MAXIM7219. fino a quando dovevo gestire solo un maxim7219 tutto ok e funziona bene, invece il problema nasce quando ho inserito a cascata un altro maxim7219. Infatti il primo assegna ai display una numerazione che va da 0 a 7, mentre non so come richiamare appunto i display gestiti dal secondo maxim7219 p.s. nello codice di prova che ho scritto ho richiamato la libreria LedControl.h grazie

Glielo dici in fase di inizializzazione della lib quanti Max hai collegato. Hai letto bene qui?

http://playground.arduino.cc//Main/LedControl

The fourth argument to LedControl(dataPin,clockPin,csPin,numDevices) is the number of cascaded MAX72XX devices you're using with this LedControl.

Sì ho letto, io userò 3 maxim7219, quindi dovrò usare il numero 3? Ma poi per richiamare i display del 2 maxim7219 devo continuare la numerazione oppure no? Cioè il primo Maxim7219 gestisce i display Con una numerazione da 0 a 7 quindi il 2 e il 3 come li gestisco?

Premetto che non ho mai usato quella lib ma leggendo quella pagina ed il codice con i relativi commenti vedo che puoi indirizzare i singoli led per fila e per colonna, nonché impostare anche un determinato numero su una cifra specificando il numero del Max.

Io ho letto ma non riesco a capire. Con un solo Maxim uso lo stesso codice di esempio che è riportato e posso gestire i dispaly cambiando il terzo valore . Infatti se digito 0 mi da il primo display e così via. Ovviamente mi riferisco al comando lcdigit. Ma se invece continuo la numerazione dopo il numero 7 non funziona nessun display. No riesco a venire a capo di questa cosa perché stranamente non c'è nessun esempio con doppio Maxim. ...come posò fare :disappointed_relieved:

La lib supporta solo 8 display. Quindi numerazione da 0 a 7. Dopo 7 non va più.

A ecco. Quindi non ha senso scrivere nella guida della libreria la possibilità di aggiungere altri maximum. .....cmq visto che ho questa esigenza saresti così gentile da indicarmi una libreria idonea allo scopo così inizio a studiare.....stavo vedendo SPI ma non ho capito se da questa possibilità. ...grazie

Ma tu quanti Maxim dovresti pilotare? Perché potresti pensare a costruire una matrice di MCU collegate su un bus ed ognuna che piloti un certo numero di integrati. Sui display molto grandi viene fatto così perché materialmente credo che più di un tot di driver non puoi mettere in cascata.

Io devo pilotare in tutto 4 display a tre cifre 1 display a 2 cifre e 1 display a 1 cifra. Quindi ho pensato di usare tre maxim . Quindi come dovrei procedere? Grazie

leo72:
La lib supporta solo 8 display. Quindi numerazione da 0 a 7. Dopo 7 non va più.

finalmente ci sono riuscito…e cioe si possono comandare fino ad 8 dispositivi. per poter pilotare i vari integrati si deve inserire questo codice nel void setup

for(int index=0;index<lc.getDeviceCount();index++) {
      lc.shutdown(index,false);

quindi fatto cio posiamo richiamare ogni integrato con una nunmerazione che va da 0 per il primo 1 per il secondo e invece per l’ultimo -1. per ora ho gestito due integrati e funzionano egregiamente. spero possa essere di aiuto a chi iniziera ad usare questo integrato

:slight_smile: :slight_smile: :slight_smile: