Cercando dei moduli con 8 display a 7 segmenti da 0,56" (quelli classici, più grandi di quelli da 0,36" solitamente usati nei moduli con MAX7219) mi sono reso conto che, contrariamente a quelli da 0,36", solitamente usano il 74HC595 al posto del MAX7219. C'è una ragione? Forse perché è più economico ed evitano di alzare troppo il prezzo rispetto a quelli più piccoli?
Il 74HC595 non ha generatori di corrente costante e non può regolare la luminosità; la corrente massima è 6mA, ma con i moderni display ad alta efficienza sono più che sufficienti; ci sono altre cose da tenere in considerazione? C'è una libreria ugualmente comoda nell'uso?
Un'altra differenza fra il MAX7219 e i 74HC595 è che il primo, essendo fatto apposta per pilotare anche display a 7 segmenti, incorpora la decodifica per i numeri da 0 a 9 e alcuni caratteri, mentre usando i 74HC595 bisogna inviare (scrivendoli nel codice o tramite una libreria) i codici per accendere i segmenti uno per uno.
Buongiorno a tutti,
ho acquistato anch'io lo stesso prodotto e sono due giorni che sto cercando di capire come accendere i singoli segmenti dei display senza alcun risultato. Prima di "gettare la spugna"
ho quindi pensato di chiedere consiglio a chi ha maggiore esperienza.
Il miglior "risultato" l'ho ottenuto con il seguente sketch che però spegne un segmento alla volta e di cui non ho minimamente capito la logica!!
Che sciocco!! stavo lavorando con una versione più piccola che montava il MAX e mi sono interstardito ad usare la stessa libreria. Dovrò ri-studiarmi il 74HC595!!
Da quanto intuisco, con solo due shift register e 8 cifre a gruppi di 4, ci sarà da multiplexare a mano cambiando la cifra accesa ogni 2,5 ms.
La prima cosa da capire è se sono display ad anodo o catodo comune (questo serve per capire la "polarità" dei bit da inviare, sia per i segmenti che per i terminali comuni).
La seconda è come sono fisicamente collegate le uscite degli shift register. Ipotizzo: uno shift controlla gli 8 terminali comuni, e l'altro i segmenti.
La terza è se va inviato per primo il byte contenente gli stati dei segmenti, o quello che sceglie la cifra accesa.
La quarta è l'ordine dei bit nei byte (quale bit inviato comanda cosa).
Per fare tutto questo bastano due shiftOut con valore 1 e 2, e si vede quale segmento di quale cifra si accende. Se si accende quasi tutto tranne una cifra e un segmento sappiamo che la "polarità" dei bit va invertita.
Fin qui ci ero arrivato, accendo un display alla volta, continuo a spegnere un segmento alla volta; inverto il treno di bit per accendere uno alla volta ... nessun risultato!
Ora riposo, penso di riprendere tra una settimana sperando su nuove idee!!
Costa qualcosa come 10€ e il venditore non è nemmeno tanto affidabile...
Si, ma è l'unico trovato quando e SE arriva ti avverto!
Finalmente oggi mi è arrivato il primo ordinato (questo).
Molto bello, con il MAX7219, cifre da 0.56, ecc.
Unica pecca è la mancanza di specifiche tecniche; nel particolare la piedinatura è per 6 PIN, precisamente: VCC, GND, CS. SCK. SO E SI. Manca il consueto DATA IN, sostituito (ritengo) da SO e/o SI.
Qualcuno potrebbe chiarirmi il significato di questi? (SignalIn/SignalOut ???) e come dovrebbero essere utilizzati?
Direi che sono i pin del bus SPI ... SO = MISO (Master Input Slave Output), SI = MOSI (Master Output Slave Input), SCK = SCK (Serial [Bus] Clock) e CS = CS (Chip Select).