Paso 4:595 y ShiftOut
A continuación tomaremos un vistazo a la hoja de datos de 595 a encontrar los pines derecha para conectarse. Esta primera imagen de arriba muestra las conexiones de 595 pin. Hay 16 pernos en el 595, etiquetado 1-16. Aviso el medio círculo de la marca en un lado del chip, el pin #1 siempre se encuentra en el lado izquierdo de este chip. El resto de los pines se numeran en el chip va en sentido antihorario.
La segunda imagen muestra el nombre de pin, ordenado por número de pin, con una breve descripción. Pernos de 1-7 y 15 son las salidas Q0-Q7, deje esos pernos desconectados por ahora. Pin 8 es un pin de tierra, conéctelo a tierra de Arduino. PIN 9 es una salida de datos en serie, que se utiliza para conectar a otros 595 para cadena tipo margarita. Encadenamiento de Margarita le permite conducir salidas 16 o más usando sólo tres de los pines digitales del Arduino. Es un poco fuera del alcance de este tutorial, pero puedes leer más sobre ello aquí. Ya que no utilizaremos el pin 9, podemos dejamos desconectados (también llamado "flotante"). El PIN 10 es el reset maestro, cuando este pin va bajo, hace que el registro de desplazamiento restaurar - perder ningún dato podríamos haber almacenado previamente. No queremos esta funcionalidad ahora mismo, así Conecte el reset a 5V para evitar la reposición del suceso. PIN 11 es el reloj de entrada o "reloj pin", conéctelo al pin digital de Arduino 7. Pin 12 es la entrada de reloj del registro de almacenamiento de información o "traba perno", conéctelo al pin digital de Arduino 6. 13 el PIN es el pin de salida permiten, cuando es baja permite la 595 enviar datos a sus salidas, queremos esto, conectar este pin a tierra. PIN 14 es la entrada de datos serie, conéctelo al pin digital de Arduino 5. Pin 16 es la fuente de alimentación al chip, conectarlo a 5V. El circuito debe parecerse a la imagen 3.
Ahora conectar un LED y un resistor a tierra a cada uno de los pins de ocho salidas de 595. El circuito deberá verse ahora como imagen 4. Ahora establecer un pin de salida del alto 595 se encenderá el LED correspondiente y colocarla bajo se apaga el LED. Añadir el siguiente código:
Este código introduce un nuevo tipo de datos llamado byte, byte es como int, pero puesto que bytes requieren solamente 8 bits de memoria, sólo almacenar números entre 0 y 255 (2 ^ 8 = 256).
El resto del código es sencillo, a excepción de la línea:
shiftOut (dataPin, clockPin, LSBFIRST, numberToDisplay);
En esta línea, el Arduino utiliza los pines de datos y reloj de la 595 para enviar el número 154 (el valor actual de numberToDisplay) en el registro de desplazamiento. El número 154 contiene los Estados de todos los 8 pines de la 595:
es de 154 convertido a binario 10011010
Si nos fijamos en los Estados de sus LEDs, verás que el LED conectado a Q0 es el Q1 y Q2 están apagados, Q3 y Q4 están en, Q5 está apagado, Q6 es en y Q7 está apagado. Así que los LEDs siguen el mismo patrón que el número binario, un 1 representa un LED encendido y 0 representa un LED apagado.
Tratar ahora de otros números, el número 15 es binario 00001111, usted puede encontrar otro decimal a binario conversiones en google escribiendo un # entonces la frase "binario" (el número escupe comenzará con 0b, ignorar esa parte y agarrar los últimos 8 dígitos). Recuerde que solo enviamos números binarios con 8 dígitos en ellos (8-bit) para el registro de desplazamiento porque sólo tiene 8 pines de salida, así que el valor de numberToDisplay debe estar entre 0 y 255.
Ahora intente cambiar el parámetro LSBFIRST a MSBFIRST, debería ver el orden de lo contrario de LEDs, esta variable establece la dirección que nos envíe el número binario en el 595: LSBFIRST significa "menos pedacito significativo primero" y MSBFIRST significa "más significativo bit primero".
Para que sea un poco más interesante, haga lo siguiente:
Ahora ha convertido su LED en un contador binario: