In ARDUINO abbiamo 20 pin I / O, quindi possiamo programmare 20 pin di UNO da utilizzare sia come input che come output. Sebbene ci siano più pin sul controller ATMEGA328P che su UNO, questo perché durante la progettazione della scheda alcuni pin sono predefiniti.
Ora per alcune applicazioni abbiamo bisogno di più di 30 pin, diciamo se vogliamo progettare un CUBO LED 5x5x5, quindi per questo abbiamo bisogno di 5x5 + 5 = 30 pin. In questi casi utilizziamo chip di conversione da seriale a parallelo o registro a scorrimento. Un chip del registro a scorrimento prende i dati dalla scheda UNO in modo seriale e fornisce l'output in configurazione parallela a 8 bit.
Componenti richiesti
Hardware: scheda Arduino uno, pin di collegamento, resistenza da 220Ω, LED (otto pezzi), IC 74HC595, breadboard.
Software: Arduino notturno
Schema del circuito e spiegazione del funzionamento
In questo caso invieremo i dati in una dimensione di otto bit attraverso un singolo canale allo shift register. Il registro a scorrimento prende i dati in serie e li archivia nella sua memoria. Una volta che i dati sono stati inviati dal controller, invieremo un comando al registro a scorrimento per mostrare i dati in uscita, con questo comando il registro a scorrimento invia i dati in parallelo.
Questa uscita è indicata da otto LED collegati all'uscita.
Per collegare il registro a scorrimento ad Arduino UNO dobbiamo fare due cose:
|
Per prima cosa dobbiamo impostare tre pin qualsiasi di UNO come output. Quindi dobbiamo collegare il pin digitale, il pin dell'orologio e il pin di chiusura a questi tre pin di uscita. Dopodiché dobbiamo dire all'UNO quale pin del chip è collegato ai pin della scheda UNO. Questo viene fatto semplicemente scrivendo nel comando "
shiftOut(dataPin, clockPin, data);
". I dati qui possono essere binari, decimali o esadecimali. Le informazioni a otto bit che devono essere inviate vengono scritte al posto di "dati".
I dati inviati vengono eseguiti come:
Disabilita latch, questo dice al chip di non mostrare l'output per ora.
Per otto volte invieremo i dati con clock in serie, quindi clock alto basso-data-clock basso e così via.
Abilita latch, questo dice al chip di mostrare i dati a otto bit.
Il funzionamento di ARDUINO con SHIFT REGISTER è spiegato passo dopo passo nel codice C riportato di seguito: