A ARDUINO tenim 20 pins d'E / S, de manera que podem programar 20 pins d'UNO per utilitzar-los com a entrada o sortida. Tot i que hi ha més pins al controlador ATMEGA328P que a UNO, això es deu al fet que durant el disseny de la placa alguns pins estan predeterminats.
Ara, per a algunes aplicacions necessitem més de 30 pins, digueu si volem dissenyar un LED CUBE de 5x5x5, de manera que necessitem 5x5 + 5 = 30pin. En aquests casos, fem servir xips convertidors de sèrie a paral·lel o registre de desplaçament. Un xip de registre de desplaçament pren les dades de la placa UNO en sèrie i dóna sortida en configuració paral·lela de 8 bits.
Components necessaris
Maquinari: placa Arduino uno, pins de connexió, resistència de 220Ω, LED (vuit peces), IC 74HC595, placa de pa.
Sofware: Arduino cada nit
Diagrama de circuits i explicació de treball
Aquí enviarem dades de vuit bits a través d’un canal per canviar el registre. El registre de desplaçament pren les dades en sèrie i emmagatzema aquestes dades a la seva memòria. Una vegada que el controlador envia les dades, enviarem una ordre per canviar el registre per mostrar les dades a la sortida, amb aquesta ordre el registre de desplaçament posa dades paral·leles.
Aquesta sortida es mostra mitjançant vuit LED connectats a la sortida.
Per connectar el registre de canvis a Arduino UNO, hem de fer dues coses:
|
Primer, hem d’establir tres pins d’UNO com a sortida. A continuació, hem de connectar el pin digital, el pin del rellotge i el pin del pestell a aquests tres pins de sortida. Després d'això, hem de dir a l'ONU quin pin de xip està connectat als pins de la placa UNO. Això es fa mitjançant una simple escriptura a l'ordre "
shiftOut(dataPin, clockPin, data);
". Les dades aquí poden ser binàries, decimals o hexadecimals. La informació de vuit bits que cal enviar s'escriu en lloc de "dades".
Les dades enviades es realitzen com:

Desactiveu el latch, això indica al xip que no mostri la sortida per ara.
Durant vuit vegades, enviarem les dades amb el rellotge en sèrie, de manera que el rellotge és baix i baix, i així successivament.
Activa el latch, això indica al xip que mostri dades de vuit bits.
El funcionament de ARDUINO amb SHIFT REGISTER s'explica pas a pas en el codi C que es mostra a continuació:
