74HC595 e display a anodo comune?

ciao a tutti, eccomi a rompere con un'altro dilemma...io ho acquistato 2 displey a 4 cifre, 7 segmenti con anodo comunque, poi mi è venuto il dubbio, il 74HC595 alle uscite da i 5 V che entrano... e quindi per un display a katodo comune nessun problema...ma quelli ad anodo comune?...come faccio a far uscire dalle uscite il gnd invece che i 5 V?... magari basta impostare a "1" quelli che mi servono spenti e a 0 quelli che mi servono accesi...ma su questa cosa dubito, perchè in caso sbagliassi a collegarlo farei corto quindi chiedo a voi...grazie

Esatto, inverti la logica. Se cerchi nel forum ne abbiamo gia' parlato, anche questo mese mi pare.

ma scusa, poi in caso di uscita “1” e quindi il segmento del display spento, si troverebbero i 5 V (che poi verran diminuiti dalle resistenze) sia da una parte che dall’altra del led all’interno del segmento e quindi faccia cortocircuito? grazie

Credo sia per la differenza di potenziale.
Se hai 5v da una parte e da un'altra la differenza di potenziale è eguale a zero. Per cui niente tensione.
Se invece da una parte hai 0V e dall'altra 5V la differenza di potenziale esiste eccome, ed è circa 5V :slight_smile:

Se sono anodo comune devi collegare il +5 dell'anodo al display, e tutti gli altri pin catodi al 595.
Tranquillamente!

http://users.wowway.com/~mmclaren/Modular%2020%20Digit%20CA.PNG

obnubilated:
Credo sia per la differenza di potenziale.
Se hai 5v da una parte e da un'altra la differenza di potenziale è eguale a zero. Per cui niente tensione.
Se invece da una parte hai 0V e dall'altra 5V la differenza di potenziale esiste eccome, ed è circa 5V :slight_smile:

Giusto

capito, grazie :smiley:

Se sono anodo comune devi collegare il +5 dell'anodo al display, e tutti gli altri pin catodi al 595.
Tranquillamente!

Sui catodi vanno le resistenze per limitare la corrente.

Ciao Uwe

ma scusa una cosa, ci ho passato su un pò sulla pagina dedicata e ho capito tutto sul come farlo funzionare...ma non sul come funziona diciamo...cioè in particolare in questa riga di codice :
shiftOut(dataPin, clockPin, MSBFIRST, bitsToSend);

MSBFIRST a cosa serve? ... cioè da quel che ho capito io datapin serve per dare l'uscita se I/O , e il clockpin fà scorrere al bit successivo, poi interviene il datapin e così via... la dicitura bitToSend serve per dire all'arduino quali uscite mettere in I/O (tipo su un 8 bit; 11100101) ...fin qui tutto esatto? ma la dicitura "MSBFIRST" a cosa serve? O.o grazie

MSBFIRST significa Most Significant Bit first. È la sequenza nella quale escono i dati sul dataPin. Si puó iniziare col bit 0 poi bit 1 ecc oppure con bit 7, bit 6 ecc. In pratica dice quale bit uscirá sul uscita 0 e quale sul uscita 7 del 595.
bitsToSend é il nuero a 8 bit che vuoi trasmettere.
Sul dataPin escono i dati;
Il datapin va a H o L a secondo il bit da trasmettere é 1 o 0
Al fianco salente del clockPin l' integrato sposta il segnale del Datapin nello registro interno e fa spostare gli altri di un posto.
Ciao Uwe