numero minimo di pin per 2 shift register

Ciao!!
Devo comandare due display a 7 segmenti con arduino, avendo anche altre linee di I/O dovrei riuscire a limitare al minimo quelle per i display.
Ho quindi pensato di usare 2 shift register che mi farebbero passare i pin usati da 14 a 6, che già non è male, ma vi chiedo se c'è modo di ridurli ancora.
Io avevo pensato di usare le linee di dati ed enable in comune gestendo l'inserimento dei dati tramite due linee di clock separate, in modo da inserire i dati solo in quello necessario e riabilitandoli poi entrambi insieme, in questo modo passerei da 6 a 4 pin...ma si può fare o ci sono dei problemi?

Secondo me puoi farlo, solo che io metterei i clock in comune, lavorando poi alternativamente sull'enable, visto che è il pin di abilitazione specifico del chip

Ti bastano solo 3 pin collegando gli shift register in cascata

:slight_smile:

Anch' io userei il clock e i dati in comune e 2 enable. in tutto 4 Pins. Ma come dice pelletta i Shift register si possono mettere in cascata trasmettendo sempre 16 Bit. Cosí servono 3 Pin. Si arriva a 2 Pin quando usi dei Port expander con interfaccia I2C.
Ciao Uwe

Grazie!
Si in effetti sapevo di poter usare solo 3 pin con gli sr in cascata, ma dei 16 bit comunque 8 dovrebbero rimanere identici per 9 volte su 10, dovrei rimandare lo stesso valore e mi sembra uno spreco di risorse di arduino (vabè, non esagerato eh!)...però se mi dite che è norma fare così vada per i 3 pin.
Una cosa, ma il condensatore tra latch e massa va messo o no? Perchè ho visto che alcuni consigliano di si, altri di no

Comunque lo shift register deve leggere i bit in seriale, motivo per cui devono essere inviati tutti sempre..non capisco perchè dici che "sprechi" risorse, anzi secondo me l'utilizzo dello shift register alleggerisce il carico su arduino, alla fine deve gestire semplicemente 2 byte di dati...più che ragionevole per pilotare 2 schermi a segmenti!

Ci sono anche altre soluzioni comunque per gli schermi a segmenti, ma non so quanto ti convengano..io ad esempio mi trovo benissimo con gli shift register e il tutorial che ti hanno linkato è molto esauriente e di facile interpretazione.

In giro ci dovrebbe anche essere una libreria di un utente per gestire gli schermi a segmenti in maniera molto semplice, io l'ho usata e funziona, ma alla fine ho optato per crearmene una mia e usare quella.

Con la configurazione a 4 pin, considerando che uno dei due shift dovrebbe eeesere aggiornato raramente, avrebbe la possibilità di inviare ogni volta solo 8 bit, abilitando lo shift relativo; con la conficurazione in cascata temo debba inviare ogni volta tutti i 16 bit, quindi anche quegli 8 che variano raramente; onestamente non so se questo sia uno spreco di risorse, se non lo è ovviamente è preferibile la soluzione a tre pin, visto che ne risparmia uno ulteriore.