Matriz led 8 x 20

#1
Disculpen la molestia... podrían ayudarme con una duda... es que al construir una matriz led de 8 x 20 necesito transistores tanto en los ánodos de cada fila como en los catodos de cada columna para no sobra cargar al microcontrolador y llegar a un punto donde pueda quemarse ???? ...
 
#2
Hola Furlan6

Por lo general SI se requieren transistores en las columnas y en las filas.
Pero. . . más bien depende de qué magnitud de corriente requieran los LED’s que pretendes encender.

saludos
a sus ordenes
 
#3
lo que dice MrCarlos es cierto y depende de los leds

yo he usado los 2n3904 que son npn para el barrido por columnas unicamente y las filas las conecto directo al micro o shift (con su repsectivo resistor) ; y he obtenido buenos resultados con una sola pila de 3.7 v de celular (Li-po)
 
Última edición:
#4
Hola que tal!
Una vez utilice registros de desplazamiento tipo SIPO, especificamente el 74595, para manejar las columnas y los pines del pic con transistores para manejar las filas, y funciona muy bien.
 
#5
disculpen las molestias... necesito su ayuda.... anteriormente he trabajado con matrices led de 8x8 en las qe programaba una funcion con la letra qe deseaba y luego en el programa principal llamaba todas las funciones necesarias para formar las palabras deseadas y no mostraba problema ya que la primera letra se movia en la matriz y al terminar llamaba a la otra y no se notaba ya que la matriz era pequeña pero ahora programo las funciones de las letras que quiero y debido al tamaño de la matriz las letras se notan con una gran distancia entre ellas... podrian decirme si hay alguna forma de mostrarlas con la menor distancia posible entre las letras??? muchas gracias por su ayuda..... ...
 
#7
Este es el procedimiento que hacía para luego llamarlo en el programa principal.
El mismo consistía en que la letra terminara en recorrer toda la matriz para luego llamar a la siguiente.
En la matriz de 8x8 se miraba bien pero en una de 8x20 se ve mal que las letras no se corran en la matriz separadas por un poco de espacio sino que tendría que correrse toda una letra y desaparecer para que luego aparezca otra letra del mensaje.
Código:
sub procedure A
portD=%00000001
portB=%11000001
delay_ms(50)
portD=%00000010
portB=%11000001
delay_ms(10)
portD=%00000001
portB=%10110111
delay_ms(50)
portD=%00000100
portB=%11000001
delay_ms(10)
portD=%00000011
portB=%10110111
delay_ms(50)
portD=%00001000
portB=%11000001
delay_ms(10)
portD=%00000110
portB=%10110111
delay_ms(10)
portD=%00000001
portB=%11000001
delay_ms(50)
portD=%00010000
portB=%11000001
delay_ms(10)
portD=%00001100
portB=%10110111
delay_ms(10)
portD=%00000010
portB=%11000001
delay_ms(50)
portD=%00100100
portB=%11000001
delay_ms(10)
portD=%00011000
portB=%10110111
delay_ms(50)
portD=%01001000
portB=%11000001
delay_ms(10)
portD=%00110000
portB=%10110111
delay_ms(50)
portD=%10010000
portB=%11000001
delay_ms(10)
portD=%01100000
portB=%10110111
delay_ms(50)
portD=%11000000
portB=%10110111
delay_ms(10)
portD=%00100000
portB=%11000001
delay_ms(50)
portD=%10000000
portB=%10110111
delay_ms(10)
portD=%01000000
portB=%11000001
delay_ms(50)
portD=%10000000
portB=%11000001
end sub
 
Última edición por un moderador:
#8
hola, no se nada de basic, pero por lo que pude ver el barrido lo haces por el puerto D no??, entonces recuerda que el barrido siempre debe ser fila por fila, una a la vez, y en tu codigo a veces prendes 2 bits al mismo tiempo y te saltas pasos

p. ejemplo

PORTD = 00010000 t saltas a PORTD = 01000000 y como te dije a veces prendes dos bits en un mismo instante,checalo
 
Arriba