Paso 7: Envío de Bytes a una matriz de LED multiplexados
Hasta ahora el código que hemos estado usando para enviar datos al LED es un poco incómodo escribir. Ha implicado asignar explícitamente un estado alto o bajo para cada uno de los pines de Arduino conectados a una columna. Si quisiéramos programar la matriz para mostrar un patrón diferente para cada uno de sus 8 filas, tendremos que escribir un montón de línea de código. Aquí es una manera de organizar las cosas:
¿Recuerdas cómo utilizamos un número entre 0 y 255 (un byte) para establecer los Estados de 8 LED ' s conectados a la 595? Ahora he agregado una función llamada setStates() que nos permite establecer los Estados de 8 LED ' s en cada fila de la matriz de LED con un byte. La primera cosa que hace de setStates ocupa todos los pines conectados a columnas de la matriz de LED baja para apagar cualquier LED que puede ser en. A continuación, comprueba cada dígito binario del byte de 8 dígitos utilizando el operador &; Si alguno de los dígitos es 1, establece el pin correspondiente alta.
El código anterior establece la fila conectada al pin digital 8 con el número 56. En binario, 56 se representa como:
00111000
Y el resultado de LED se muestra en la primera imagen de arriba, puedes ver que cada 1 del número binario se corresponde con un LED encendido en la matriz.
Siguiente prueba cada fila de la matriz de LED para mostrar el número del pin digital se une de programación:
La salida se muestra en la segunda imagen de arriba.