← Capitanfuturo

Arduino e il registro a scorrimento SN74HC595N

[Arduino]

:computer: Introduzione

Nel precedente articolo sulla matrice di LED 1588BS ho anticipato che avrei provato ad inserire nel circuito uno shift register da 8 bit per provare come diminuire il numero di porte usate sull’Arduino per pilotare la matrice. Nello starter kit comprato su Banggood: UNO Basic Starter Learning Kit è presente un registro a scorrimento della Texas Instruments a 8 bit, modello SN74HC595N. Scrivo qui qualche appunto sul componente e sul suo utilizzo. Il datasheet ufficiale è scaricabile da qui: Data sheet ufficiale Texas Instrument

Caratteristiche del SN74HC595N

La parte in alto si riconosce da uno scanso semicircolare in prossimità del simbolo della Texas Instrument. La seguente tabella ne descrive i PIN di collegamento

NomePIN di sinistraPIN di destraNome
QB116VCC
QC215QA
QD314DATA
QE413OE
QF512LATCH
QG611CLOCK
QH710MR
GND89QH’

con la seguente descrizione

NomePINDescrizione
QA - QH15,1-7Output da 0 a 7
GND8Terra, polo negativo (-)
QH’9Output per mettere in serie, in cascata un altro shift register, permettendoci ancora di aumentare il numero di output
MR10Master Reclear, da collegare al polo positivo se non si vuole il reset di tutto il registro
CLOCK11Clock o shift clock, serve per comunicare al registro quando abbiamo finito di inviare un bit
LATCH12Latch PIN o storage clock. Dopo aver inviato tutti gli 8 bit serve per comunicare al registro che abbiamo finito di inviare e che il registro può inviare tutti i segnali in output
OE13Output Enable, da collegare a terra per abilitare le porte
DATA14Input seriale dei dati. Serve per inviare un bit alla volta al registro
VCC15Input di tensione, polo positivo

Utilizzo con 8 LED

Un interessante video che mostra la base di utilizzo del registro è visibile qui: https://www.youtube.com/watch?v=MRy47jCn3zA. Per approfondire l’argomento ho trovato invece molto interessante questo articolo https://lastminuteengineers.com/74hc595-shift-register-arduino-tutorial/. La prima prova è stata quindi quella di cablare all’Arduino 8 LED e il registro a scorrimento per ottenere questo effetto:

SN74HC595N

Il codice è disponibile su https://github.com/capitanfuturo/arduinoSalad/blob/master/006_8bit_shift_register/006_8bit_shift_register.ino

Utilizzo con una Matrice di LED 8x8

Prendendo spunto dall’esempio di prima l’idea è di usare lo stesso meccanismo per pilotare le colonne della nostra matrice LED 8x8 con il risultato seguente:

SN74HC595N+1588BS

Il codice è disponibile su https://github.com/capitanfuturo/arduinoSalad/blob/master/007_8x8_plus_shift_register/007_8x8_plus_shift_register.ino

Le idee (memi) migliori sopravvivono per selezione culturale. Quindi sopravvivono alla competizione non le idee più forti, ma quelle che si adattano meglio. (Massimo Chiriatti)