AMIGOS

Hacemos toda clase de trabajos con microcontroladores PIC, comunicarse a proyectoselectronicos_@hotmail.com.

Vendo grabadores de PIC puerto serial con zocalo ZIF a 35 soles, este precio no incluye el envio a todo el Peru.

viernes, 4 de enero de 2013

MATRIZ DE LEDS 7X5

Estos displays son muy utilizados para transmitir mensajes en bancos y instituciones de atención al publico, la ventaja de estos son la gran cantidad de caracteres que se pueden formar y el gran tamaño de los displays (desde 3 x 2 cm hasta 15 x 8cm), en esta práctica aprenderemos a manejar un display de 35 segmentos de 14 pines, pero también existen displays bicolores y tienen 28 pines. Esta práctica consiste en formar un hombrecito saludando, una vez familiarizado será muy sencillo ir implementando más displays del mismo tipo.


 En la matriz  7x5 tenemos 7 filas denominadas ABCDEFG y 5 columnas desde 1,2,3,4,5.  Si queremos encender el 2do led de la columna 2, debemos conectar el pin B a 5 V. y el pin 2 a Gnd. Si queremos encender el led del centro podemos conectar el pin D o el pin H a positivo (el pin H es auxiliar) y a tierra el pin 3 o el 6 ya que también tiene un auxiliar.



;EL PROGRAMA



En el programa haremos 4 secuencias de un hombrecito levantado las manos, por lo que tendremos 4 repeticiones usando el FOR NEXT una para cada secuencia. El puerto controla las columnas y solo activa o enciende una sola columna a la vez y luego hacelo mismo con la siguiente columna y asi sucesivamente hasta la 5 columna.
Una vez que este  activado una columna podemos  encender los leds de las filas correspondientes a esa columna  para formar la figura que deseamos, si se fijan en el puerto B se forma la figura que se mostrara en el display pero esta en forma horizontal o echada la matriz.

cmcon=7                                                         ;convierte el puerto A en digital
trisa=0                                                             ;hace salida todo el puerto A
trisb=0                                                             ;convierte en salidas el puerto B
x VAR BYTE                                                   ;crea variable x de 255
inicio:
FOR x = 1 TO 10                                                 ;repetir esta secuencia 10 veces
porta=%0000001 :portb=%0010000 :PAUSE 4   ;esperar 4 mls, total 20 mls
porta=%0000010 :portb=%0100111 :PAUSE 4             
porta=%0000100 :portb=%1111000 :PAUSE 4
porta=%0001000 :portb=%0100111 :PAUSE 4
porta=%1000000 :portb=%0010000 :PAUSE 4
NEXT
FOR x = 1 TO 10                                                 ;repetir esta secuencia 10 veces
porta=%0000001 :portb=%0100000 :PAUSE 4
porta=%0000010 :portb=%0100111 :PAUSE 4
porta=%0000100 :portb=%1111000 :PAUSE 4
porta=%0001000 :portb=%0100111 :PAUSE 4
porta=%1000000 :portb=%0100000 :PAUSE 4
NEXT
FOR x = 1 TO 10                                                 ;repetir esta secuencia 10 veces
porta=%0000001 :portb=%1000000 :PAUSE 4
porta=%0000010 :portb=%0100111 :PAUSE 4
porta=%0000100 :portb=%1111000 :PAUSE 4
porta=%0001000 :portb=%0100111 :PAUSE 4
porta=%1000000 :portb=%1000000 :PAUSE 4
NEXT
FOR x = 1 TO 10                                                  ;repetir esta secuencia 10 veces
porta=%0000001 :portb=%0100000 :PAUSE 4
porta=%0000010 :portb=%0100111 :PAUSE 4
porta=%0000100 :portb=%1111000 :PAUSE 4
porta=%0001000 :portb=%0100111 :PAUSE 4
porta=%1000000 :portb=%0100000 :PAUSE 4
NEXT
GOTO inicio                                                          ;volvemos a inicio
END

Para descargar el archivo HEX. click de este link:
http://www.4shared.com/file/t0lsTNil/matrizhombrecito.html




19 comentarios:

  1. ¿Cómo podría hacer que letreto muestre letras?

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. Hola. es facil si te fijas en el puerto b tenemos la imagen o letra que queremos mostrar en la matriz solo q esta en forma echada.
    portb=10000 :PAUSE 4
    portb=%0100111 :PAUSE 4
    portb=%1111000 :PAUSE 4
    portb=%0100111 :PAUSE 4
    portb=10000 :PAUSE 4
    Aqui esta el hombrecito echado (los unos forman la imagen) para cualquier letra solo tienes que rellenar con unos y el resto con ceros.

    ResponderEliminar
  4. muy bueno para el emprendimiento en la fabricacion de carteles tipo LED, pasa mensajes.

    ResponderEliminar
  5. Solo fijate en la parte de portb del programa ahi esta el truco, las letras se hacen en forma echada de igual forma cualquier letra o numero

    ResponderEliminar
  6. hola que tal saludos:
    Quizas no tienes mas circuitos ...de matriz de leds .

    ResponderEliminar
  7. Apenas tenga tiempo retomare esta pagina web subiendo nuevos cktos y programas, debido al trabajo no tengo mucho tiempo.

    ResponderEliminar
  8. no funciona ya lo monte y me da error

    ResponderEliminar
  9. funciona perfecto, gracias

    ResponderEliminar
  10. solo una duda los de la pata de los colectores debe de ir a los anodos o a los katodos porque yo hice una coneccion de unir los diodos en forma horizontal de katodo y luego el anodo tenia una union con el otro anodo del led y asi en forma horizontal y vertical a la ves pero yo ordene los diodos de una forma que de la resistencia de 330 llegara al katodo y de los colectores a los anodos si me pudieran ayudar porfa

    ResponderEliminar
  11. que programa usa para programar

    ResponderEliminar
  12. hola saludos. Hice mi prototipo como mencionabas y si funciona pero mi pregunta es: después de programar tres o cuatro secuencias como la del hombrecito por ciclos for/ next hace el muestreo en los leds pero me gustaría que la velocidad de transición de los ciclos sea un poco mas rápida, como puedo programarla en pic basic,

    ResponderEliminar
  13. Disminuir los PAUSES DE 4 a 3 o 2, y prueba dismminuendo el FOR NEXT.. de 1 a 5

    ResponderEliminar
  14. Como podria hacer para controlar un mensaje scroll con dos matrices

    ResponderEliminar
  15. Hermano el codigo esta imcompleto, para los novatos: El sotfware de programacion es proton ide.

    El codigo completo es:

    Config INTRC_OSC_NOCLKOUT , WDT_OFF, PWRTE_ON, CP_OFF, BODEN_OFF, LVP_OFF, MCLRE_OFF
    Device = 16F628A
    XTAL = 4
    CMCON=7 ;convierte el puerto A en digital
    TRISA=0 ;hace salida todo el puerto A
    TRISB=0 ;convierte en salidas el puerto B
    x VAR Byte ;crea variable x de 255
    inicio:
    For x = 1 To 10 ;repetir esta secuencia 10 veces
    PORTA=00001 :PORTB=10000 ;esperar 4 mls, total 20 mls
    PORTA=00010 :PORTB=%0100111
    PORTA=00100 :PORTB=%1111000
    PORTA=01000 :PORTB=%0100111
    PORTA=%1000000 :PORTB=10000
    Next
    For x = 1 To 10 ;repetir esta secuencia 10 veces
    PORTA=00001 :PORTB=%0100000
    PORTA=00010 :PORTB=%0100111
    PORTA=00100 :PORTB=%1111000
    PORTA=01000 :PORTB=%0100111
    PORTA=%1000000 :PORTB=%0100000
    Next
    For x = 1 To 10 ;repetir esta secuencia 10 veces
    PORTA=00001 :PORTB=%1000000
    PORTA=00010 :PORTB=%0100111
    PORTA=00100 :PORTB=%1111000
    PORTA=01000 :PORTB=%0100111
    PORTA=%1000000 :PORTB=%1000000
    Next
    For x = 1 To 10 ;repetir esta secuencia 10 veces
    PORTA=00001 :PORTB=%0100000
    PORTA=00010 :PORTB=%0100111
    PORTA=00100 :PORTB=%1111000
    PORTA=01000 :PORTB=%0100111
    PORTA=%1000000 :PORTB=%0100000
    Next
    GoTo inicio ;volvemos a inicio
    End ;volvemos a inicio
    End

    ResponderEliminar
  16. hola tengo un problema con una libreria de arduino FrequencyTimer2,
    cuando compilo para programar el arduino uno con ATMEGA328P, me genera el siguiente error uint8_t no name type, que puedo hacer.

    ResponderEliminar
  17. saludos Mario, aun estas? quería saber si se puede hacer uno que tenga dos matrices a más.

    ResponderEliminar
  18. hola amigo disculpe tengo una pregunta como le aria para hacerlo en arduino ?

    ResponderEliminar