ho deciso di scrivere un post perché da bravo incompetente non sono riuscito a trovare aiuto sul web...
Sto lavorando ad un progetto che mi permetta di controllare 88 Led indipendentemente con Arduino Uno, e ho pensato che il sistema più efficace poteva essere quello di utilizzare 11 shift register 74hc595n in cascata (daisy chain). Di informazioni ne ho trovate tantissime, il funzionamento del circuito mi è chiaro, ma non riesco a determinare l'accensione e lo spegnimento dei singoli led dal monitor seriale.
In particolare ci sono 2 tutorial che mi hanno molto aiutato:
il secondo che permette un di determinare l'accensione e lo spegnimento di 8 led collegati ad un unico shift register dal monitor seriale nel modo più indicato ed efficace per il mio progetto
In 2 parole vorrei fare una sintesi dei 2 progetti così da controllare gli 88 led indipendentemente con il sistema del secondo tutorial, lavorando con 11 shift register in cascata.
Devi prevedere un array di 11 byte, ogni byte corrisponderà ad uno shift register, ogni bit di ogni byte corrisponderà ad un pin del chip. Bit ad 1 sarà uscita del piedino alta, bit a 0 uscita del piedino bassa.
Per spedire i dati dovrai mettere il pin di latch degli shift register su stato basso (tutti i latch collegati insieme), poi spedire gli 11 byte in sequenza con shiftOut, ed alla fine riattivare il latch, che farà intendere agli shift register di presentare sui pin lo stato del registro interno.
Devi considerare che ogni bit che inserisci serialmente nel primo shift register scorre di 1 posto ad ogni segnale di clock e quando hai riempito gli 8 bit del 1° registro i dati escono da quest'ultimo ed entrano nel secondo e così via, per cui chiamando 11 volte la shiftOut tu spedirai i bit uno ad uno fino all'ultimo shift register.
Solo 2 cose: non so se c'è un limite al numero di shift register concatenabili, ed occhio alle correnti perché mi pare che un 74HC595 regga max sugli 80 mA per chip, quindi 10 mA per uscita.
Solo 2 cose: non so se c'è un limite al numero di shift register concatenabili, ed occhio alle correnti perché mi pare che un 74HC595 regga max sugli 80 mA per chip, quindi 10 mA per uscita.
C'é un limite: la corrente massima di uscita del Arduino. Visto che il clock e il latch li colleghi a tutti devi poter dare a tutti la corrente per pilotare le entrate. per oviare usa dei driver non invertenti per esempio tipo 74HC125 e dividi le Entrate dei 595 in gruppi che vengono pilotati dal 125.
Ciao Uwe