Portal    Foro    Talleres    Buscar    FAQ    Registrarse    Conectarse
Publicar Nuevo Tema  Responder al Tema Página 1 de 9
Ir a la Página 1, 2, 3, 4, 5, 6, 7, 8, 9  Siguiente
MATRIZ DE LED 8X8
Autor Mensaje
Responder Citando  
Mensaje MATRIZ DE LED 8X8 
 
Hola a todos Very Happy ...

Muchos de uds. habrán visto los carteles de LEDS que venden en Paruro y hasta se pueden apreciar en algunos centros comerciales...a veces solo se ven textos estáticos como también textos en movimiento y hasta pocas veces animadas...estos carteles están usando las denominadas "matrices de leds" que son un conjunto de leds distribuidos en filas y columnas especialmente para mostrarnos en algunos casos textos, tanto en movimiento y estático, y además pequeñas animaciones y hasta juegos como el "tetris"...pero ¿Cómo se programan o se arman?...

Yo me animé a comenzar desde cero a programar una matriz de 8x8 (8 filas x 8 columnas) con la ayuda del ISIS de Proteus y para ello utilicé la información que me brindó la página de Ucontrol:

http://www.ucontrol.com.ar/wiki/ind..._matriz_de_LEDs

En el enlace nos detalla una explicación muy buena sobre cómo montar y programar el circuito, pero en mi caso como soy nuevo en este tema de las matrices de LED  Razz , aún me está costando trabajo programar, porque el algoritmo si es entendible y lo que aún no consigo es programar bien el PIC (que en este caso es el 16F628) para mostrar al menos una letra  Mr. Orange ...

Para complementar la información de arriba observé los videos de Guillermo (robo3001) que ya programó algunas matrices con buenos resultados y ojalá se anime a postear sobre este tema porque para mí está reinteresante...aquí algunos videos:





Anímense a seguir el tema ya que yo seguiré con él hasta lograr al menos mostrar un mensaje que diga "KANTUTO"  Laughing ...para quienes conocen del tema por favor aporten y tenga la libertad de dar los consejos que sean necesarios, porque quizás el circuito que nos da el enlace de arriba no sea muy conveniente y quizás haya otro mejor... bueno espero haber animado a la gente robomaniaca con este proyecto y veremos que sucede en las proximas semanas  Mr. Green ...

Saludos...

Bytes  Cool
  



Desconectado Ver perfil del usuario Enviar Mensaje Privado
Descargar Mensaje Volver arriba Página Inferior
AQUÍ PUEDE IR TU PUBLICIDAD
Responder Citando  
Mensaje Re: MATRIZ DE LED 8X8 
 
aca tengo una info que esta en otro foro, les doy el link:

Reloj con Panel de Leds 2x32
http://www.todopic.com.ar/foros/ind...21894#msg121894
  




____________
Visiten mi blog:
microembebidos por henry laredo
Image
Desconectado Ver perfil del usuario Enviar Mensaje Privado
Descargar Mensaje Volver arriba Página Inferior
Responder Citando  
Mensaje Re: MATRIZ DE LED 8X8 
 
Hola gente, como les va, gracias Pavel por poner mis videos  Embarassed (que roxhe) jajaja. Bueno interesante el tema que estas tratando, pues inicialmente puedo colaborar con la primera matriz que realice hace algunos años (la del primer video), aquí el proyecto completo:

http://rapidshare.com/files/235507740/MATRIX_DE_8x64_2008-0.rar


'****************************************************************
'*  Name    : MATRIZ DE LEDS.BAS                                *
'*  Author  : Guillermo Evangelista                             *
'*  Notice  : Copyright (c) 2008 All Rights Reserved            *
'*  Date    : 16/03/2008                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'****************************************************************

DEFINE OSC 20         'se define el oscilador a 20Mhz

ADCON1=%00000110      'colocando 6 o 7 se configura todas
                      'analogas a  modo digitales  

TRISB=0               'todo el puertoB como salida
TRISC=0               'todo el puertoC como salida
TRISD=0               'todo el puertoD como salida
TRISE.0=1             'el puertoE.0 como entrada
TRISE.1=1             'el puertoE.1 como entrada


arrow var byte[16]    'se define un array de 16 datos
                      'del tipo byte

arrow[0] =%11111111
arrow[1] =%11111111
arrow[2] =%11111111
arrow[3] =%11100111
arrow[4] =%11000011
arrow[5] =%10000001   'en este array se almacena
arrow[6] =%11000011   'los datos que van a generar
arrow[7] =%11000011   'la multiplexacion de una flecha
arrow[8] =%11000011   'la cual se va a usar para describir
arrow[9] =%11000011   'el tipo de efecto del panel
arrow[10]=%11000011
arrow[11]=%11000011
arrow[12]=%11000011
arroW[13]=%11111111
arrow[14]=%11111111
arrow[15]=%11111111    

col var byte[8]       'se define un array de 8 datos
                      'del tipo byte

col[0]=%00000001
col[1]=%00000010
col[2]=%00000100      'en este array se almacena
col[3]=%00001000      'los datos que generan que se  
col[4]=%00010000      'active una columna a la vez
col[5]=%00100000
col[6]=%01000000
col[7]=%10000000

row var byte[64]      'se define un array de 64 datos
                      'del tipo byte

row[0] =%11111111
row[1] =%00000000
row[2] =%00000000
row[3] =%11001100
row[4] =%10001100
row[5] =%00100000
row[6] =%01110001
row[7] =%11111111     'R

row[8] =%11111111
row[9] =%10000001
row[10]=%00000000
row[11]=%00111100
row[12]=%00111100
row[13]=%00000000
row[14]=%10000001
row[15]=%11111111     'O

ROW[16]=%11111111
row[17]=%00000000
row[18]=%00000000
row[19]=%00100100
row[20]=%00100100
row[21]=%00000000
ROW[22]=%10011001  
ROW[23]=%11111111     'B

row[24]=%11111111
row[25]=%10000001
row[26]=%00000000
row[27]=%00111100
row[28]=%00111100
row[29]=%00000000
row[30]=%10000001
row[31]=%11111111     'O

row[32]=%11111111
row[33]=%00111100
row[34]=%00100100
row[35]=%00100100
row[36]=%00100100
row[37]=%00000000
row[38]=%10011001
row[39]=%11111111     '3

row[40]=%11111111
row[41]=%10000001
row[42]=%00000000
row[43]=%00101100
row[44]=%00110100
row[45]=%00000000
row[46]=%10000001
row[47]=%11111111     '0
          
row[48]=%11111111
row[49]=%10000001
row[50]=%00000000
row[51]=%00101100
row[52]=%00110100
row[53]=%00000000
row[54]=%10000001
row[55]=%11111111     '0

row[56]=%11111111
row[57]=%11111011
row[58]=%11111001
row[59]=%00000000
row[60]=%00000000
row[61]=%11111111
row[62]=%11111111
row[63]=%11111111     '1

M  var byte
SM VAR BYTE
FC VAR BYTE
R  VAR byte
i  var byte
T  VAR BYTE

FAC1 VAR BYTE
FAC  VAR BIT
    
FAC1=1
TIPO_SECUENCIA:
repeat      
    FOR M=0 TO 7
        FC=0
        FOR SM=0 TO 1
            PORTD=SM
            PORTC=col[M]
            R=M+FC
            SELECT CASE FAC1
                CASE 1
                    PORTB=ARROW[R]
                CASE 2
                    PORTB=~ARROW[R]
                CASE 3
                    PORTB=ARROW[15-R]
                CASE 4
                    PORTB=~ARROW[15-R]
                CASE ELSE
                    FAC1=1    
            END SELECT        
            pause 1
            fc=fc+8
        NEXT SM
    NEXT M  
    IF PORTE.1=0 THEN
        GOsub FACTOR
    ENDIF
until (PORTE.0=0)
FAC1=FAC1+1
PAUSE 250    
GOTO TIPO_SECUENCIA  
    

FACTOR:
IF (FAC1=1 OR FAC1=3) THEN
    FAC=0
ENDIF
IF (FAC1=2 OR FAC1=4) THEN
    FAC=1
ENDIF
IF (FAC1=1 OR FAC1=2) THEN
    GOTO BARRIDO1
ENDIF  
IF (FAC1=3 OR FAC1=4) THEN
    GOTO BARRIDO2
ENDIF
return


BARRIDO1:
    I=0
BUCLE1:
    gosub multiplexacion    
    i=i+1                        'factor para realizar corriemiento
    if i>112 then                'condicional que evita que el corrimiento se desborde
        i=0                      'si el corrimiento se desborda se regresa al inicio
    endif                        'cierra condicional                      
    goto BUCLE1                  'repite toda la secuencia  

    
BARRIDO2:
    i=112
BUCLE2:  
    gosub multiplexacion  
    I=I-1
    IF I<2 THEN
        I=112
    endif
    goto bucle2    
    
    





multiplexacion:
for t=0 to 3                 'EL valor de T pertime manipular la velocidad de la matriz total                
    FOR M=0 TO 7             'M representa las multiplexaciones de columnas realizadas en 1 matriz de 8x8            
        FC=0                 'factor q permite multiplexar columnas entre matricez            
        for SM=2 TO 7        'selecciona la matriz inicial y final donde se visualiza el mensaje
            PORTD=SM         'SM variable que alterna las matrices de 8x8 para poder multiplexarlas posteriomente
            PORTC=col[M]     'manda por el puertoC el valor de M para q puedan alternar las columnas    
            R=M-48+FC+i      'R factor que sirve para realizar la mutiplexacion en filas y tambien realiza el corrimiento
            if (r>63 OR R<0)then 'condicional que evita residuos al inicio y fin del mensaje mutiplexado
                r=0          'si sucede reisudio colocando en 0 a R limpia dicho residuo
            endif
            IF FAC=0 THEN
                PORTB=ROW[R] 'manda por el puerto B el valor guardado en el array row
                PAUSE 1      'retardo de 1000us para refrescar el efecto de multiplexaje                  
            ENDIF
            IF FAC=1 THEN
                PORTB=~ROW[R]'manda por el puerto B el valor guardado en el array row
                PAUSE 1      'retardo de 1000us para refrescar el efecto de multiplexaje
            ENDIF            'cierra condicional
            FC=FC+8          'FC factor de incremento para columnas en matrices            
        NEXT SM              'itera el siguiente valor de SM          
    NEXT M                   'itera el siguiente valor de M          
next t                       'iteraciona el siguiente valor de T
return

  




____________
En la vida no siempre gana el hombre mas fuerte o el mas ligero, sino el que cree poder hacerlo.
Desconectado Ver perfil del usuario Enviar Mensaje Privado Visitar sitio Web del Usuario MSN Messenger
Descargar Mensaje Volver arriba Página Inferior
Responder Citando  
Mensaje Re: MATRIZ DE LED 8X8 
 
Gracias por sus aportes  Very Happy ...

Voy a revisar bien ambas infos y seguiré buscando más en la red...lo importante es que primero logremos programar una matriz de LED "pequeño" como el que propuse de 8x8 para luego ya con los aprendido lograr programar otras matrices con mas columnas  Mr. Green ...

Puedo notar que al final cada programador realiza su propio programa para su matriz , como mencionan algunas páginas y es cierto ya que el ejemplo de Guillermo (robo3001) lo demuestra...creo que con ambas infos ya estamos logrando reunir lo necesario para seguir investigando sobre el tema...pronto subiré el circuito que armé en el ISIS de Proteus y ojalá también un video donde nos muestre ya alguna letra  Mr. Green ... sigan aportando y si logramos esto nos podrá servir para incorporarlo, quien sabe, a uno de nuestros bots con su nombre en la matriz  Surprised ...

Saludos... Cool
  



Desconectado Ver perfil del usuario Enviar Mensaje Privado
Descargar Mensaje Volver arriba Página Inferior
Responder Citando  
Mensaje Re: MATRIZ DE LED 8X8 
 
Bueno no necesariamente, siempre hay que PRE-INSCRIBIR el mensaje para programa, como dije ese es de la matriz vieja; bueno lo que se puede hacer es enviar información desde VB por ejemplo con la frase ó información que quisiéramos mostrar y hacer que el microcontrolador la lea por Interrupción o simplemente con un switch Thumbup ; eso quiere decir que lo que tenemos pre-inscrito en el uControlador es el abecedario del cual extraeremos todos los valores para mostrar el mensaje recibido, reduciré el código de la segunda matriz posteriormente (aprovechando las vacaciones) y pues subiré esta nueva info, bueno depende la demanda de interés Cool

  




____________
En la vida no siempre gana el hombre mas fuerte o el mas ligero, sino el que cree poder hacerlo.
Desconectado Ver perfil del usuario Enviar Mensaje Privado Visitar sitio Web del Usuario MSN Messenger
Descargar Mensaje Volver arriba Página Inferior
Responder Citando  
Mensaje Re: MATRIZ DE LED 8X8 
 
además podemos cargar una cantidad muy grande de estos mensajes pre-escritos sobre una memoria SD y dispararlas a nuestro antojo. una SD se puede manejar hasta con un pic16F84A aunque de preferencia con un chip que posea el SPI incorporado.
  




____________
Visiten mi blog:
microembebidos por henry laredo
Image
Desconectado Ver perfil del usuario Enviar Mensaje Privado
Descargar Mensaje Volver arriba Página Inferior
Responder Citando  
Mensaje Re: MATRIZ DE LED 8X8 
 
Hola, pues sí, bueno hoy de madrugada estuve tratando de plantear una matriz sencilla y de la cual todos tengamos la economía o "metiendo PALANA" a nuestros labs podamos encontrar los componentes Laughing , de un rato la subo, responde pavel Very Happy  tiras la primera piedra, ahora sigue dandole psss  Mr. Green , sino cuando te vea te hago hora Razz
  




____________
En la vida no siempre gana el hombre mas fuerte o el mas ligero, sino el que cree poder hacerlo.
Desconectado Ver perfil del usuario Enviar Mensaje Privado Visitar sitio Web del Usuario MSN Messenger
Descargar Mensaje Volver arriba Página Inferior
Responder Citando  
Mensaje Re: MATRIZ DE LED 8X8 
 
Laughing En la misma página de Ucontrol también está adecuado para conectarse al puerto serie con la ayuda del VB u otro programa que nos permita mandar los datos por los puertos de la PC  Rolling Eyes , aquí el circuito:



 Surprised Las memorias SD serían muy útiles y como no sabia mucho al respecto, con este enlace aclare algunas cosas Mr. Green :



Y sobre que es SPI Razz  este otro enlace:



No respondi rápido porque hoy estuve todo el día por Lima y recién estoy de vuelta  Mr. Orange ...yo seguiré con este tema hasta que funcione  Cool ...jaaaa siempre haces hora Guille  Laughing ...

Saludos...
  



Desconectado Ver perfil del usuario Enviar Mensaje Privado
Descargar Mensaje Volver arriba Página Inferior
Responder Citando  
Mensaje Re: MATRIZ DE LED 8X8 
 
Hace unos momentos conversando con Guillermo (robo3001) me comentó que el circuito que había planteado para la matriz de 8x8 no nos podrá simular por el ISIS de Proteus  Sad  ya que como trabaja con el C.I. 74164 debido a los tiempos con los que trabaja en software no logrará visualizar bien el mensaje que querramos ver, por ello es que yo cuando simulaba mi programa tenia el inconveniente de que el ISIS de Proteus se cerraba sólo luego de un tiempo sin simular bien lo que quería...recién me aviso Guillermo y él va a plantear otra manera de armar una matriz con otro C.I...

Dejo el datasheet del C.I. 74164 para quienes lo deseen conocer  Mr. Green :


  



Desconectado Ver perfil del usuario Enviar Mensaje Privado
Descargar Mensaje Volver arriba Página Inferior
Responder Citando  
Mensaje Re: MATRIZ DE LED 8X8 
 
De regreso Shocked , bueno craneando un rato pues se me ocurre el siguiente diseño el cual tiene las siguiente características:

  • uControlador=16F628A: Xtal externo a 20Mhz, uso de Resistencia para MCLR externo, asi evitamos el ruido( desde afuera) Idea
  • ENTER, UP, DOWN: pulsadores para poder programar la matriz manualmente, NO uso R de pull-up por que activo las intertas del pic Cool
  • RX: Pin para ingreso de información serial desde la PC haciendo uso de interrupción por RX Cool
  • 24C256: memoria EEPROM de 256K de memoria para almacenar varios mensajes o frames Tick
  • 4094: registro serie-paralelo con desplazamiento  wink


Bueno como observarán uso registros en cascada (carry de uno es la entrada del siguiente) para enviar la información a filas y columnas, y uso un subcircuito para la etapa de potencia que pues consta de transistores de alta velocidad y baja potencia del tipo PNP.

A esta altura ya es momento de escoger el software de programación para el MCU, pues me decidí por MKCP2009 (mikroC PRO 2009) pero también haré el código en BASIC

Ahora espero opiniones para empezar a detallar desde como usar los registros, grabar en la EEPROM (auque si buscan eso ya lo explique con simulación incluida en otro post de otro tema) hasta la programación, bueno ya avance con la base de datos del abecedario (1784 valores  Razz )



IMAGEN NO DISPONIBLE

  




____________
En la vida no siempre gana el hombre mas fuerte o el mas ligero, sino el que cree poder hacerlo.
Desconectado Ver perfil del usuario Enviar Mensaje Privado Visitar sitio Web del Usuario MSN Messenger
Descargar Mensaje Volver arriba Página Inferior
Mostrar mensajes anteriores:
Publicar Nuevo Tema  Responder al Tema   Página 1 de 9
Ir a la Página 1, 2, 3, 4, 5, 6, 7, 8, 9  Siguiente

Usuarios navegando en este Tema: 0 Registrados, 0 Ocultos y 0 Invitados
Usuarios Registrados conectados: Ninguno


 
Lista de Permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No Puede descargar archivos
Puede enviar eventos al Calendario