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
¿Cómo podría hacer que letreto muestre letras?
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarHola. 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.
ResponderEliminarportb=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.
muy bueno para el emprendimiento en la fabricacion de carteles tipo LED, pasa mensajes.
ResponderEliminarPodrias hacer la letra A
ResponderEliminarSolo 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
ResponderEliminarhola que tal saludos:
ResponderEliminarQuizas no tienes mas circuitos ...de matriz de leds .
Apenas tenga tiempo retomare esta pagina web subiendo nuevos cktos y programas, debido al trabajo no tengo mucho tiempo.
ResponderEliminarno funciona ya lo monte y me da error
ResponderEliminarfunciona perfecto, gracias
ResponderEliminarsolo 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
ResponderEliminarque programa usa para programar
ResponderEliminarhola 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,
ResponderEliminarDisminuir los PAUSES DE 4 a 3 o 2, y prueba dismminuendo el FOR NEXT.. de 1 a 5
ResponderEliminarComo podria hacer para controlar un mensaje scroll con dos matrices
ResponderEliminarHermano el codigo esta imcompleto, para los novatos: El sotfware de programacion es proton ide.
ResponderEliminarEl 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
hola tengo un problema con una libreria de arduino FrequencyTimer2,
ResponderEliminarcuando compilo para programar el arduino uno con ATMEGA328P, me genera el siguiente error uint8_t no name type, que puedo hacer.
saludos Mario, aun estas? quería saber si se puede hacer uno que tenga dos matrices a más.
ResponderEliminarhola amigo disculpe tengo una pregunta como le aria para hacerlo en arduino ?
ResponderEliminar