arduino uno quanti display 7 segmenti potrebbe pilotare direttamente?

è un po di giorni che sono alle prese con il pilotaggio dei display 7 segmenti piu che altro per imparare :D volevo chiedere arduino uno quanti didplay 7 segmenti riuscirebbe a pilotare correttamente in multiplex ovviamente, (MA SENZA NESSUN INTEGRATO SUPPLEMENTARE)

sicuramente qualcuno ha gia provato e testato i limiti

Difficile perché in multiplex un pin deve reggere la somma delle correnti di tutti i segmenti accesi. Percui se calcoli con 40mA corrente massima per pin e 7 segmenti piú punto decimale ti restano solo 5mA per segmento. Se consideri che Arduino uno ha 20 pin digitali e Ti servono 8 per i segmenti restano 12 per selezionare la cifra puoi fare un 12 diplay a 7 segmenti pi´z punto decimale. Se lasci via il punto decmale hai una cifra in piú. Ti consiglio di usare i MAX7219 che pilotano un diplay a 8 cifre e sono cascabili. Ciao Uwe

uwefed: Difficile perché in multiplex un pin deve reggere la somma delle correnti di tutti i segmenti accesi. Percui se calcoli con 40mA corrente massima per pin e 7 segmenti piú punto decimale ti restano solo 5mA per segmento. Se consideri che Arduino uno ha 20 pin digitali e Ti servono 8 per i segmenti restano 12 per selezionare la cifra puoi fare un 12 diplay a 7 segmenti pi´z punto decimale. Se lasci via il punto decmale hai una cifra in piú. Ti consiglio di usare i MAX7219 che pilotano un diplay a 8 cifre e sono cascabili. Ciao Uwe

scusami ma tu parli per ipotesi di matematica (20 pin totale 7 per i segmenti e 13 per il multiplex) ? ma all'atto pratico quanti ne puo reggere senza problemi di sfarfallio o scarsissima luminosita?

no ho compreso nemmeno che ragionamento hai fatto per il consumo di corrente, mica stanno tutti fissi a 88888888888 cosa che mi sembra irreale

Se non vuoi sfarfalii, poca luminosità o non vuoi fondere il micro per aver fornito troppa corrente ti rispondo: nessuno.

Se piloti in multiplexing, ti dico: uno. Il mio progetto “Micrologio” (cerca nel forum) è lì a dimostrartelo: un display 7 segmenti a 4 cifre pilotato senza driver esterni.

leo72: Se non vuoi sfarfalii, poca luminosità o non vuoi fondere il micro per aver fornito troppa corrente ti rispondo: nessuno.

Se piloti in multiplexing, ti dico: uno. Il mio progetto "Micrologio" (cerca nel forum) è lì a dimostrartelo: un display 7 segmenti a 4 cifre pilotato senza driver esterni.

ok ho visto il progetto micrologio intendevo proprio una cosa del genere, solo che guardando lo schema elettrico mi sembra non corretto come hai messo le resistenze su i display, perche in quel modo la resistenza fa da "diga" alla corrente e quella che passa se la devono suddividere tutti i segmenti accesi il che significa che se viene visualizzato il numero 1 se la dividono il 50% un segmento e il 50% l'altro, se viene visualizzato il numero 8 la corrente se la devono dividere in 7 segmenti 7% a segmento, questo causa diversa luminosità in base al numero visualizzato,

le resistenze vanno messe su i segmenti (tutte uguali) cosi ogni segmento passa la stessa corrente sempre

obiezione già fatta ;), ma lui ha giustamente evidenziato che il suo mux accende un segmento per volta e non tutto il display, quindi in quel modo e per quell'uso vanno benissimo

GINGARDU:

uwefed: Difficile perché in multiplex un pin deve reggere la somma delle correnti di tutti i segmenti accesi. Percui se calcoli con 40mA corrente massima per pin e 7 segmenti piú punto decimale ti restano solo 5mA per segmento. Se consideri che Arduino uno ha 20 pin digitali e Ti servono 8 per i segmenti restano 12 per selezionare la cifra puoi fare un 12 diplay a 7 segmenti pi´z punto decimale. Se lasci via il punto decmale hai una cifra in piú. Ti consiglio di usare i MAX7219 che pilotano un diplay a 8 cifre e sono cascabili. Ciao Uwe

scusami ma tu parli per ipotesi di matematica (20 pin totale 7 per i segmenti e 13 per il multiplex) ? ma all'atto pratico quanti ne puo reggere senza problemi di sfarfallio o scarsissima luminosita?

no ho compreso nemmeno che ragionamento hai fatto per il consumo di corrente, mica stanno tutti fissi a 88888888888 cosa che mi sembra irreale

Multiplexing significa che devi visualizzare una cifra alla volta. Per visualizzare un 8 sono accesi tutti i segmenti vuol dire che il pin che deve dare la somma di tutti le correnti dei singolo segmenti non puó dare piú di 40mA.

Comunque non sará un display luminoso perche devi lavorare con correnti basse e dividere il tempo di acensone per tutte le cifre che sono.

Per migliorare la situazione usa un transistor per ogni cifra e puoi avere delle correnti piú alte o il MAX7219 giá citato.

Ciao Uwe

[quote author=Michele Menniti link=topic=112802.msg848398#msg848398 date=1341396234] obiezione già fatta ;), ma lui ha giustamente evidenziato che il suo mux accende un segmento per volta e non tutto il display, quindi in quel modo e per quell'uso vanno benissimo [/quote]

ok dai alla fine conta il risultato se il micrologio e abbastanza luminoso e non presenta le cifre con differente luminosita avvertibile vuol dire che va bene

comunque mi pare dalle prove che sto facendo (non molte per adesso) le resistenze per i display in multiplex sono da togliere perche abbassano la luminosita o almeno per quello che sperimento se le tolgo, la luminosita aumenta di molto e tutto continua a funzionare perfettamente, boh... misteri

uwefed:

GINGARDU:

uwefed: Difficile perché in multiplex un pin deve reggere la somma delle correnti di tutti i segmenti accesi. Percui se calcoli con 40mA corrente massima per pin e 7 segmenti piú punto decimale ti restano solo 5mA per segmento. Se consideri che Arduino uno ha 20 pin digitali e Ti servono 8 per i segmenti restano 12 per selezionare la cifra puoi fare un 12 diplay a 7 segmenti pi´z punto decimale. Se lasci via il punto decmale hai una cifra in piú. Ti consiglio di usare i MAX7219 che pilotano un diplay a 8 cifre e sono cascabili. Ciao Uwe

scusami ma tu parli per ipotesi di matematica (20 pin totale 7 per i segmenti e 13 per il multiplex) ? ma all'atto pratico quanti ne puo reggere senza problemi di sfarfallio o scarsissima luminosita?

no ho compreso nemmeno che ragionamento hai fatto per il consumo di corrente, mica stanno tutti fissi a 88888888888 cosa che mi sembra irreale

Multiplexing significa che devi visualizzare una cifra alla volta. Per visualizzare un 8 sono accesi tutti i segmenti vuol dire che il pin che deve dare la somma di tutti le correnti dei singolo segmenti non puó dare piú di 40mA.

Comunque non sará un display luminoso perche devi lavorare con correnti basse e dividere il tempo di acensone per tutte le cifre che sono.

Per migliorare la situazione usa un transistor per ogni cifra e puoi avere delle correnti piú alte o il MAX7219 giá citato.

Ciao Uwe

si ovvio quello che intendo io e proprio quello che hai detto, un transistor sul comune e una resistenza sul segmento cosi ogni segmento ha tutta la corrente di un pin limitata dalla resistenza (se c'è)

Bisogna anche studiare il tipo di display che vuoi pilotare, ossia la caduta di tensione introdotta dal tipo di led (se rossi, verdi, blu ecc…) usati dal display stesso, e la tensione con cui alimenti il circuito.

Se usi una tensione di alimentazione di poco superiore a quella di caduta dei led, tipo i 3V del mio Micrologio con display a led rossi, la R “potresti” anche eliminarla se la durata dell’accensione del singolo segmento è molto breve perché in multiplexing ho misurato correnti medie molto inferiori a quelle previste sulla carta.

perché misteri? in realtà il mux è velocissimo per cui il segmento non riesce ad arrivare alla piena luminosità per il poco di tempo che gli arriva corrente. Anch'io ho fatto prove senza le R e non ho avuto problemi e tuttavia ancora devo lavorarci e fare un po' di misure di assorbimento, prima di decidere di toglierle del tutto; credo, ma non posso assicurarlo, che l'erogazione di picchi di corrente per istanti infinitesimali non comporti rischi reali per il micro, però, ripeto, a breve farò delle prove più approfondite con tanto di misure e poi farò un burning test di 12 ore e vediamo che ne esce :)

EDIT se si aggiunge un TR sull'anodo (o catodo) le R diventano assolutamente obbligatorie per salvaguardare i display

EDIT2 i test di Leo confermano quanto sto dicendo

GINGARDU: [quote author=Michele Menniti link=topic=112802.msg848398#msg848398 date=1341396234] obiezione già fatta ;), ma lui ha giustamente evidenziato che il suo mux accende un segmento per volta e non tutto il display, quindi in quel modo e per quell'uso vanno benissimo

ok dai alla fine conta il risultato se il micrologio e abbastanza luminoso e non presenta le cifre con differente luminosita avvertibile vuol dire che va bene

comunque mi pare dalle prove che sto facendo (non molte per adesso) le resistenze per i display in multiplex sono da togliere perche abbassano la luminosita o almeno per quello che sperimento se le tolgo, la luminosita aumenta di molto e tutto continua a funzionare perfettamente, boh... misteri [/quote] Non mi piacciono questi esperimenti masochistici e sono un po infastidito quando le persone vogliono sapere le cose meglio del produttore che li pubblica nei datasheet perche per 1 o 2 ore le cose non vanno in fumo.

Se si usano dei LED si deve limitare la corrente con qualche dispositivo. Un uscita del ATmega che a causa della sua resistenza interna non ce la fa a erogare correnti superiori ai 80-100mA non é un dispositivo adatto a questo scopo.

Ma fate quello che volete, l'Arduino é vostro. =( =( =(

Ciao Uwe

Uwe, mi sembri un po’ troppo teso :fearful:
Quello che chiami esperimento masochistico per me finora ha significato misurare max 3mA in uscita dal pin del micro, perché il micro lo sto alimentando a 3V e sto usando un display a 2,3V ed un altro addirittura a 3,4V.
Come già detto il mux di Leo pilota un segmento per volta quindi nella ipotesi più disfattista escono 20mA, anche senza la R di limitazione, non capisco come si possa distruggere Arduino (che poi manco Arduino è, io sto provando in stand-alone ;))
Gli esperimenti che sto facendo vanno in un senso più ampio, e certamente li sto facendo tenendo conto del data-sheet, ma anche di condizioni empiriche che si riscontrano sul banco di lavoro con la strumentazione.
Ora io non aggiungo più nulla perché prima parlavo di ipotesi da sperimentare e siccome non voglio coinvolgere nessuno in cose di cui non sono certo, aspetto di vederne i risultati, tra qualche giorno, e poi semmai se ne riparla.
Approfitto per segnalarti che stamattina ti ho mandato un MP, naturalmente non sei tenuto a rispondere, ma almeno così sono certo che non ti sia sfuggito.
Ciao.