Tutte le schede Arduino sono dotate di un numero specificato di pin I/O e se ci sono un gran numero di dispositivi che devono essere collegati alla scheda Arduino, potrebbe sorgere il problema della carenza di pin. Per soddisfare questo problema ci sono registri di turno attraverso i quali possiamo aumentare il numero di pin I/O dell'Arduino. Come funzionano questi registri di turno e come possiamo usarli con Arduino, scopriamo:
Come funzionano i registri del turno
Come descritto sopra, il registro a turni viene utilizzato principalmente per risolvere la carenza di pin del microcontrollore nel caso in cui un gran numero di dispositivi deve essere interfacciato con il microcontrollore. Il registro a turni sposta i dati da un bit a un altro rispetto agli impulsi dell'orologio del registro e i dati che spostano sono archiviati in esso. Esistono tre pin principali del registro a turni: uno è il pin di clock, il secondo è il pin di chiusura e il terzo è il pin di dati.
La configurazione del pin di un singolo registro a turni (74HC595) è riportata di seguito nella tabella:
Categoria dei pin (dal lato sinistro di Grove) | Numeri di pin | Rappresentazione | Descrizione |
---|---|---|---|
Pin di output | 1-7 e 15 | Q1 a Q7, Q0 | Pin in cui il dispositivo deve essere interfacciato con il controller |
Pin di potenza | 8 e 16 | GND, VCC | Pin che accenderanno il registro a turni |
Ingresso seriale | 14 | (DS) Serin | PIN che riceve i dati dal controller attraverso la comunicazione seriale |
Abilita output | 13 | Oe | Questo pin è basso quando la tensione è alta e viceversa |
Pin chiavistello | 12 | (ST_CP) RCLK | Quando questo pin è alto, i dati vengono inviati ai pin di output e vengono anche memorizzati nella memoria |
Pin dell'orologio | 11 | (SH_CP) | Pin dell'orologio per il registro di cambio |
RESET PIN | 10 | (Sh_cp) srclr | Pin Utilizzare per ripristinare il registro dandogli uno stato basso |
Interfaccia di altri registri | 9 | Q7s (QH ') | Quando devono essere utilizzati più di uno registri, questo pin viene utilizzato |
Utilizzo del registro a turni con Arduino
Per spiegare come possiamo usare il registro a turni con Arduino abbiamo dimostrato un esempio di collegamento di più LED con Arduino Uno attraverso un registro a turni. Ecco l'elenco dei componenti che abbiamo usato in questo esempio:
Abbiamo progettato il circuito usando i componenti sopra elencati e il suo schema è riportato di seguito:
Assemblaggio hardware per l'utilizzo del registro Shift con Arduino Uno
Per vedere come sarà il circuito sulla breadboard, abbiamo fatto per la prima volta il gruppo hardware come nell'immagine qui sotto:
Per la tua comprensione abbiamo spiegato le connessioni dei componenti utilizzati nei circuiti:
Codice Arduino per l'utilizzo del registro Shift con Arduino Uno
Per utilizzare Shift Register con Arduino dobbiamo configurarlo programmando il microcontrollore, quindi di seguito abbiamo fornito il codice:
int latch = 5; // pin 5 di Arduino per il pin di chiusura del registroDimostrazione hardware
Abbiamo implementato il circuito progettato per l'interfacciamento del registro a turni 74HC595 con Arduino Uno secondo il gruppo hardware che abbiamo descritto in precedenza. Per dimostrare come abbiamo trasformato i LED in uno schema che abbiamo dato la GIF animata di seguito:
Conclusione
I registri a turni vengono utilizzati principalmente quando dobbiamo aumentare i pin I/O dei microcontrollori in modo da poter interfacciarsi più dispositivi con esso. Per dimostrare come possiamo usare il registro a turni, interfacciamo 8 LED con il microcontrollore Arduino solo usando i suoi 3 pin. Per ulteriori chiarimenti abbiamo dato lo schema dei circuiti e la sua implementazione di hardware insieme allo schizzo Arduino utilizzato per programmare il controller.