metodo migliore per comandare 4 display 7 segmenti

secondo voi quale è il miglior modo per comandare 4 dysplay a 7 segmenti pewr fare un orologio?

utilizzare 4 cd4511 e selezionare ogni singolo display con un 4556 che comanda gli enable dei 4 display

utilizzare 1 solo cd4511 e un 4556 che mi comanda diretamente il comune di ogni singolo display

o utilizzare gli shift register?(non ne ho capito molto bene il funzionamento)

prima di inizare vorrei sapere il metodo migliore io ho a disposizione solo 7 pin di arduino perchè gli altri sono gia utilizzati .

ciao pdor90 non ho esperienza degli altri integrati, ma ho usato gli shiftregister. escono con 8 pin positivi (5v, penso devi mettere un po' di resistenze), quindi presumo che devi avere display con anodo comune. per ogni display uno shiftregister: li puoi mettere in cascata, quindi occupando 3 pin dell'arduino li gestisci tutti. cerca "shiftout arduino" qui nel forum o su google

Ciao pdor90
Presumo che il display sia a LED 7segmenti con punto decimale.
Prova con un MAX7219 che puó gestire fino 8 cifre di display a 7 segmanti con catodo comune e ha un interfaccia SPI (3 fili).
L’intgrato ha 2 modalitá. per display a 7 segmenti dove si da la cifra e fa la conversione a 7 segmenti e per una matrice di led 8x8 dov si accende un ogni led via programmazione.
L’inegrato gestisce da solo il multiplexing e puoi anche regolare la luminositá complessiva del display.

http://www.arduino.cc/playground/Main/LEDMatrix
e
http://www.arduino.cc/playground/Main/LedControl

Costa intorno ai 12 Euro.

Ciao Uwe

e si l'ho visto il max ma in casa ho un po di cd4511 4017 uln2803 e roba varia quindi volevo sapere se era possibile usare quelli

Penso che sia fattibile ma molto piú complicato e Ti servono piú piedini del Arduino oppure devi espandere i piedini con dei 74hc595

Se usi 2 74hc595 e li colleghi a 4 cd4511 e poi ai Display funziona. Ti serve una resisteza per ogni segmento del display e 4 display a catodo comune oppure con display a anodo comune anche 4 ULN2003 ( o uln2803) oppure 28 transistori. cosí ti servono 3 piedini.

Alternativa metti 4 piedini del arduino sulle entrate dei 4 CD4511 e altri 4 su ciascun su un enrata LE. Cosí ti servono 8 piedini.

oppure 1 74HC595 e 4 CD4511.

In tutti i casi devi scrivere il programma per pilotare l' elettronica.

http://www.datasheetcatalog.org/datasheets/150/109579_DS.pdf http://talkingelectronics.com/ChipDataEbook-1d/html/4511.html

Ciao Uwe

di fatti era quello che pensavo di fare 4 4511 che comandano i 7 pin dei miei 4 disp a catodo comune e poi un 4556 che è un multiplexer a 4 uscite che sceglie il display cosi uso 4 pin per l’uscita in bcd dei disp e 2 pin che fanno la scansione dei 4

Ciao pdor90 puoi prendere anche un 74HC595 e usare 4 uscite per il valore da visualizzare e gli altri 4 per selezionare il 4511 a cui dai il valore. Cosí ti servono solo 3 pin del Arduino. http://www.arduino.cc/en/Tutorial/ShiftOut Ciao Uwe

non eiste un tutorial in italiano che spiega bene come funzionano e come si gestiscono gli shift register. perche se è fattibile solo con 3 fili e ottima come idea.

io penso di aver capito questo: io do in pasto allo shift register un numero "normale" la funzione shiftout fa tutto lei lo converte in binario e lo manda allo shiftregister e lui lo emette sui suoi pin.

facciamo un esempio: utilizzo un solo disp collegato su i 4 pin meno significativi dello shift . Qa Qb Qc Qd sono collegati nel cd4511 se voglio vedere 0 sul mio disp devo avere 0000 sui i primi 4 pin devo mandare in shift out il valore 0. e cosi via per tutti gli altri valori? quinid devo trare le varie combinazioni di numeri che mi permettono anche di fare il multiplexing o io posso emettere un byte a mio piacimento che dichiaro come costante? esempio byte uno = b10001000 cosi dovrei avere 1 sul primo display byte due= b01000010 cosi dovrei avere 2 sul 3° display?

se è cosi be allora e fattibile il lavorocon un solo 74595 e 1 o 4 4511 in base a come faccio il multiplexing

uwefed ti ringrazio per la pazienza

Ciao pdor90

Il tutorial in inglese che Ti ho indicato non va bene? Il shift register devi usare la version HC o HCT percui 74HC595.

Se usi i 4 bit meno significativi per trasmettere il numero Ti escono sui pin Q0 fino Q3 e vanno collegate ciascuna alle 4 entrate di ogni 4511 (Q0 alle 4 entrate A, Q1 alle 4 entrate B ecc) Usa i 4 bit piú significativi per selezionare uno dei 4 4511 nel senso: Q4 va al LE del primo 4511 Q5 va al LE del secondo 4511 Q6 va al LE del terzo 4511 Q7 va al LE del quarto 4511

se mandi il seguente numero al shiftregister: b0001 0010 visualizzi il numero 2 sul display 1 b0010 0010 visualizzi il numero 2 sul display 2 b0100 0010 visualizzi il numero 2 sul display 3 b1000 0010 visualizzi il numero 2 sul display 4

per il tutorial bo' magari mi sono perso io qualche pezzo ma non mi è sembrato cosi esaustivo. sono felice della tua conferma alla mia idea quindi appena il mio negozio di fiducia riapre vado a prendere un paio di 74hc595 una piccola scorta nn fà mai male be comandando direttamente i singoli enable dei 4511 non dovrei nemmeno avere l'effetto sfarfallio dovuto al multiplexing visto che la cifra rimane quando tolgo l'enabled. ottimo la mia lampada rgb tuttofare sta prendendo forma piano piano ;D ;D

dopo un lungo pomerigio di lavoro e di sofferenza per il caldo ho fatto la scheda che comanda i display è composta da 4 cd4511 che comandano i display tutti i segnali bcd sono in comune fra i 4 , gli enable invece sono utilizzai per fare il multiplexing anche se non è un vero e propio multiplexing visto che i disp rimangono accesi fissi su l'ultimo numero che io gli do quando l'enabled è basso. tutto questo è comandato da un 74hc595 che comanda i 4511 e gli enabled il tutt oe montato su una basetta millefori a matrice di dimensioni 100*160 e bella grandina ma considerando che i disp sono grandi 48*32 ho sfruttato bene gli spazi mettendo i cd4511 sotto i disp e i disp sono sostituibili in pochi secondi in caso di bruciatura di un led visto che sono innestati in strip per circuito integrato. adesso devo scrivere la libreria per comandare il disp penso di avr trovato un mezzo modo costruisco una matrice 10*4 dove metto tutti i numeri decimali che corrispondono ai numeri binari per comandare ogni singolo disp per esempio 224 = 11100000 quindi vedro 0 sul primo display e cosi via fino al 234 che spegnera il display. trovando i valori giusti e mettendoli nella matrice dovrei essere gia ad un buon punto poi quando funzionerà anche il modulo rtc dovro passare i valori di ore e minuti alla libreria la libreria deve scomporre i 2 numeri ore e minuti e inviare tutto allo shift register.

se trovo un modo per poter caricare le immagini inizio a postare le img della schede ma imageshack non mi carica le immagini

ciauu e grazie uwefed ;D