display 7 segmenti anodo comune & arduino

Salve a tutti, ho acquistato questo display multiplo 7 segmenti ad anodo comune:

http://www.robot-italy.com/product_info.php?cPath=59_170&products_id=1847

ma non sono riuscito a trovare in rete materiale che spieghi come collegarlo ad Arduino...qualcuno potrebbe aiutarmi? Grazie 1000. :slight_smile:

Io ho usato un integrato come quello x comandare molti led

Essendo ad anodo comune, dovresti collegare l'anodo al pin 5v su Arduino, ed i catodi a qualche pin digitale a tua scelta.
Quando imposterai il pin su LOW, il segmento si accenderà perché ci sarà differenza di potenziale fra anodo e catodo, quando lo imposterai su HIGH, si spegnerà perché anodo e catodo saranno allo stesso livello di potenziale :wink:

Ti consiglio di cercarti un integrato che gestisca questo tipo di display: usi meno pin e puoi dare più corrente, se c'è bisogno (:

NeXTWay:
Essendo ad anodo comune, dovresti collegare l'anodo al pin 5v su Arduino, ed i catodi a qualche pin digitale a tua scelta.
Quando imposterai il pin su LOW, il segmento si accenderà perché ci sarà differenza di potenziale fra anodo e catodo, quando lo imposterai su HIGH, si spegnerà perché anodo e catodo saranno allo stesso livello di potenziale :wink:

Ti consiglio di cercarti un integrato che gestisca questo tipo di display: usi meno pin e puoi dare più corrente, se c'è bisogno (:

io ho risolto con due 74hc595 :wink:

ricordarsi di mettere una resistenza altrimenti lo bruci, 150ohm ne limita la corrente a 10mA, pero' servirebbe sapere come intendi collegarlo, a vedere lo schema bastano 6 resistenze per come lo collegherei io (ti servono anche i led : e .?)

reizel:
ricordarsi di mettere una resistenza altrimenti lo bruci, 150ohm ne limita la corrente a 10mA, pero' servirebbe sapere come intendi collegarlo, a vedere lo schema bastano 6 resistenze per come lo collegherei io (ti servono anche i led : e .?)

Sinceramente non ne ho idea, vorrei creare un semplice timer di contdown per imparare a pilotare il display. Se per quello singolo a catodo comune ho trovato diverso materiale per studiare (schema pin, esempi, ecc.) come collegare e pilotare il display per questo più grande a anodo comune sono fermo al palo. Consigli?

dmaster:
Sinceramente non ne ho idea, vorrei creare un semplice timer di contdown per imparare a pilotare il display. Se per quello singolo a catodo comune ho trovato diverso materiale per studiare (schema pin, esempi, ecc.) come collegare e pilotare il display per questo più grande a anodo comune sono fermo al palo. Consigli?

Come uno a catodo comune, ma mettendo una resistenza all'anodo ed invertendo la logica.
Poi puoi usare quello che vuoi: shif register, multiplexer, pin su Arduino :wink:

NeXTWay:

dmaster:
Sinceramente non ne ho idea, vorrei creare un semplice timer di contdown per imparare a pilotare il display. Se per quello singolo a catodo comune ho trovato diverso materiale per studiare (schema pin, esempi, ecc.) come collegare e pilotare il display per questo più grande a anodo comune sono fermo al palo. Consigli?

Come uno a catodo comune, ma mettendo una resistenza all'anodo ed invertendo la logica.
Poi puoi usare quello che vuoi: shif register, multiplexer, pin su Arduino :wink:

Ok, per ora mettiamo il caso di voler andare direttamente sui pin di arduino...qui ho 16 pin...ma non conosco il loro schema.

dmaster:
Ok, per ora mettiamo il caso di voler andare direttamente sui pin di arduino...qui ho 16 pin...ma non conosco il loro schema.

Spero che qualcuno ti dia un'idea migliore: io, col mio display (a catodo comune), avevo preso due fili...
Ad uno attacchi una resistenza e lo colleghi a 5v, l'altro a massa.
Poi, poggi il 5v su un pin del display e velocemente scorri gli altri pin con il filo che va a massa.
Ripeti finché non trovi l'anodo (è quello che fa accendere tutti gli altri, quando passi il filo che va a massa).
Ora prendi carta e penna e t'appunti le posizioni dei pin...
È l'unico modo che conosca: un po' lunghetto ma facilissimo :smiley:

NeXTWay:

dmaster:
Ok, per ora mettiamo il caso di voler andare direttamente sui pin di arduino...qui ho 16 pin...ma non conosco il loro schema.

Spero che qualcuno ti dia un'idea migliore: io, col mio display (a catodo comune), avevo preso due fili...
Ad uno attacchi una resistenza e lo colleghi a 5v, l'altro a massa.
Poi, poggi il 5v su un pin del display e velocemente scorri gli altri pin con il filo che va a massa.
Ripeti finché non trovi l'anodo (è quello che fa accendere tutti gli altri, quando passi il filo che va a massa).
Ora prendi carta e penna e t'appunti le posizioni dei pin...
È l'unico modo che conosca: un po' lunghetto ma facilissimo :smiley:

Grande! :smiley:
Farò come hai detto! Spero di non metterci tutta la notte. :stuck_out_tongue_closed_eyes:

dmaster:
Grande! :smiley:
Farò come hai detto! Spero di non metterci tutta la notte. :stuck_out_tongue_closed_eyes:

Mi raccomando la resistenza: è un metodo poco ortodosso e non voglio display sulla coscienza :stuck_out_tongue:
Buonanotte a tutti ^-^

NeXTWay:

dmaster:
Grande! :smiley:
Farò come hai detto! Spero di non metterci tutta la notte. :stuck_out_tongue_closed_eyes:

Mi raccomando la resistenza: è un metodo poco ortodosso e non voglio display sulla coscienza :stuck_out_tongue:
Buonanotte a tutti ^-^

Dormi serano, la resistenza c'è. :sleeping: :sleeping: :sleeping:

e' possibile che non ci sia il datasheet su internet di questo display ?
che modello e' ?

per il funzionamento, come gia' suggeritoti, devi solo ragionare al contrario del catodo comune, e nello sketch inverti ON con OFF

dmaster:
Salve a tutti, ho acquistato questo display multiplo 7 segmenti ad anodo comune:

http://www.robot-italy.com/product_info.php?cPath=59_170&products_id=1847

ma non sono riuscito a trovare in rete materiale che spieghi come collegarlo ad Arduino...qualcuno potrebbe aiutarmi? Grazie 1000. :slight_smile:

Ora voglio sentirmi utile io per una volta :smiley: ...eccoti i pin, corretti :smiley: ! ho lo stesso schermo :wink:

1: Cifra 1
2: Cifra 2
3: D
4: Anodo Due Punti
5: E
6: Cifra 3
7: Punto Decimale
8: Cifra 4 16: B
16: B
15: G
14: A
13: C
12: Catodo Due Punti
11: F
10: Anodo Apostrofo
9: Catodo Apostrofo

il datasheet e' sempre nella stessa pagina di robotitaly

reizel:
il datasheet e' sempre nella stessa pagina di robotitaly

http://www.sparkfun.com/datasheets/Components/LED/7-Segment/YSD-439AB4B-35.pdf

è sbagliato quel datashet :wink:
appunto per quello gli ho dato quello nuovo :wink:

Quel display ha gli anodi delle 4 cifre separati e i sette segmenti tutti in comune, va per forza di cose pilotato multiplexando gli anodi altrimenti si possono fare due cose: o accendere una sola cifra per volta o accenderle tutte assieme, mostrando su tutte la stessa cifra, tipo ubriacatura selvaggia e vista quadrupla.
Per pilotarlo correttamente se si hanno pin a disposizione si fa direttamente da Arduino, altrimenti vanno bene gli shift register, come già detto, inviando ogni volta la logica di una sola cifra in rapidissima successione, tipo:
1 - mando high su anodo uno, low sugli altri tre
2 - mando HIGH-LOW ai sette segmenti per la cifra uno
3 - mando high su anodo due, low sugli altri tre
4 - mando HIGH-LOW ai sette segmenti per la cifra due
ecc. ecc. per cifra tre, poi la quattro, poi si ricomincia.
A mio avviso servirebbe un minimo di libreria, opppure deve prevedere 10 array "high-low" per le 10 combinazioni dei sette segmenti.

Potresti usare un decoder binario (se così si chiama) utilizzando 4 uscite digitali dell'arduino, ora non ricordo il circuito ma lo abbiamo utilizzato a scuola.
edit:qui il circuito e qui il datasheet dell'integrato

Grazie al vostro aiuto sono riuscito finalmente a collegare il display e pilotarlo una cifra per volta. Però come suggerito pilotarlo direttamente da arduino non è conveniente, troppe porte in uscita perse.
Sono a digiuno di elettronica , quindi cercherò materiale di studio su multiplex o shif register. Grazie a tutti. :wink:

Difatti quei display li dotano di un micro montato sotto che funge da driver, ad esempio un Atmega168 SMD.
Potresti affiancargli un piccolo chip da usare per gestire il display e poi comunicare con la seriale o via I2C dall'Atmega: in questo modo consumi solo 2 pin.
Devi avere solo la pazienza di scriverti il firmware per il chip driver ed un piccolo protocollo di comunicazione.