Paso 2: El registro de desplazamiento
El registro de desplazamiento simple
En aislamiento, un registro de cambio solo recibe ocho salidas por el precio de tres O de en su Arduino. Es un circuito integrado que requiere de alimentación y tierra y 3 entradas de Arduino. Estos pines de entrada (11,12,14) llaman el reloj patillas, clavija de enganche y datos respectivamente. De 16 pernos del registro de desplazamiento, ocho son salidas que pueden utilizarse para varios dispositivos de control digital. Los Estados de estas salidas se determinan mediante el envío de los datos de registro de cambio. Dado un byte de datos el registro de desplazamiento se convertirá sus ocho salidas ya sea alto o bajo, 1 alto, 0 para el punto bajo. Arduino utiliza el reloj y pernos de cierre para contar el cambio de registro al recibir datos y cuándo procesarlo, mientras que el el pin de datos es donde realmente se lleva a los datos. El Arduino tiene un comando para dar los datos para el registro de desplazamiento. Puede encontrar un tutorial aquí: http://www.arduino.cc/en/Tutorial/ShiftOut. Conocimiento del comando shiftOut descrito en el tutorial es importante, pero fácilmente resumido. La sintaxis es:
digitalWrite (latchpin; BAJO); señales de cambio de registro que está a punto de recibir datos
shiftOut (dataPin, clockPin, MSBFIRST, datos); envía byte llamado 'datos', comenzando con el bit más significativo.
digitalWrite (latchpin; ALTA); señales de cambio de registro para procesar los datos, cambio de salidas deseados.
Este comando lo hace Dile el Arduino para enviar cualquier byte que hemos llamado 'data' para el registro de desplazamiento. El registro de desplazamiento se tomar un byte y utilizar el valor del primer bit para el control de su primera salida y así sucesivamente. El comando MSBFIRST indica el Ardunio que bit a enviar hacia fuera primero. El bit más a la izquierda es el más importante. Así, por ejemplo, si los datos = 11111111, el registro de desplazamiento va a escribir todas sus salidas a alta. Si datos = 00000000, el registro de desplazamiento va a escribir todas sus salidas a bajo.
Múltiples registros de desplazamiento: La cadena de Margarita
El poder real en el registro de desplazamiento proviene de su capacidad para vincularse en un encadenar. Si dos registros de desplazamiento tienen su reloj pernos y pernos de cierre conectados, y conectamos los datos hacia fuera del perno (9) de registro de un cambio en el pin de datos (14) de otro, el Arduino puede comunicarse a ambos en serie. De esta manera el Arduino puede comunicarse a un número prácticamente ilimitado cambiar de registros y otros dispositivos, aún mediante sólo tres / O de Si reemplazamos nuestro byte solitario, 'datos', por una matriz de bytes como: [] datos = {a, b;} donde un = 00000000 y b = 11111111, entonces el comando shiftOut (dataPin, clockPin, MSBFIRST, datos); dará byte una y el segundo registro de desplazamiento, byte b para el registro de desplazamiento original. De esta manera una cadena arbitrariamente larga de Margarita funciona igual que una cinta transportadora. El primer byte en la matriz de datos es el primero en ser cambiado de puesto hacia fuera y va directamente al primer registro de desplazamiento, que le da apagado el siguiente registro de desplazamiento y así sucesivamente hasta el final de la cadena. Esto sucede con cada byte, por lo que el último turno registro acaba de recibir el primer byte de la matriz, mientras que el primer registro de desplazamiento recibe el último. Esto hace cadena de registros de cambio de una gran manera de una serie de 54 RGB LED de control de codificación con un Arduino.