Рет қаралды 166
Programacion de una matriz de led de 5 x 5 y CI 74HC595 (Registro de desplazamiento) + CODIGO PARA DESCARGAR
Comentarios adicionales al video:
Los caracteres estan dibujados en espejo, esto se debe a que cuando se intenta desplazar a la izquierda un numero binario se incremente y peligra su capacidad maxima, 32 bits (unsigned Long es la variante mas larga que se puede crear y es de 32 bits), es por esto que se decidio espejar los dato a a la salida moviéndose hacia la derecha y no hacia la izquierda.
A la derecha todos los carecteres tienen un 0, esto es el espacio entre ellos, la columna de espacio, como se leen desde el LSB es el primero que sale, garantizando una columna de espacio entre los caracteres.
La variable que acumula los caracteres del string y la info, por fila, de las columnas correspondientes a cada letra o número está limitada a [32] [5] osea, 32 letras de 5 filas cada una, pero la cantidad de columnas, el ancho del carácter es variable, es por esto que al recorrer el primer for este índice varía de carácter a carácter.
La tecnica utilizada para unir informacion en filas es sumar al binario de la info de columnas del primer caracter (H en el ejemplo de HOLA) la info de las columnas de de la letra O. Para esto se debe multiplicar el primer bit de la O por la potencia que le corresponderia en el numero binario concatenado.
Por ejemplo si el renglón de abajo de la letra H es 10010 y quiero concatenaelo con el renglón de abajo de la letra O 01100 quedaría así:
10010 (7) +( 001100 (12) x32) dando el número: 00110010010 , este es otro número, ni 17 ni 7 , ni la suma de ambos, sino el resultado de la concatenacion.
Por su parte el 74hc595 es un registro de desplazamiento de 8 bits, un chip se usa para las columnas y otro para filas, yo las utilizo así porque tengo 5 filas y 5 columnas, pero si la matriz es de 10 columnas no hay mas que enviar la info de las primeras 8 columnas en el chip 1 y la info de las ultimas dos columnas en el chip 2, lo qiue le dejaria al chip 2 la posibilidad de manejar o encender 6 filas, osea podriamos con dos chips tener un control de 10 columnas y 6 filas, 16 bits.
Codigo para descargar:
drive.google.c...