Matriz Led de 8 columnas y 4 filas

Saludos

Anteriormente pedí ayuda con un letrero led que quería hacer,
pero me hablaron y cerraron el tema, por aplicar la ley del mínimo esfuerzo XD.

Ahora pongo a su consideración uno que he hecho yo solito. :)

En si es algo similar a esto.

Les dejo el circuito diseñado en proteus y en microcode.

El problema del circuito es que hay demasiado código, debe haber una manera mas sencilla de hacerlo.

Intente con el registro de movimiento (creo que así llama)

x VAR BYTE
LEDS VAR portb
trisb=0
LEDS=1

FOR x=1 TO 7
LEDS=LEDS<<1
NEXT

FOR x=1 TO 7
LEDS=LEDS>>1
NEXT

Pero no hace lo que necesito.

Entonces use el trisb=%00000111
Que hay que programar uno por uno, y es demasiado código. (Pero me funciono!)

Ahora si alguien me podría explicar como hacer lo que he hecho, en menos código, se lo agradeciera muchísimo.

Casi lo olvido, tengo otro problema, en la simulación del ISIS, me sale que el PIC no es capaz de entregar suficiente corriente a los leds, por lo que he usado un uln2803, que me da mas corriente en el voltaje negativo, pero aun así parece no ser suficiente, me puede alguien decir, que C.I puedo usar para dar mas corriente al voltaje positivo, algo similar al uln2803

Y si a alguien le sirve lo que está hecho, pues es libre de usarlo como a bien tenga.

Gracias de antemano.
 

Adjuntos

  • correccion.zip
    109 KB · Visitas: 42
Última edición por un moderador:
Saludos edyrron.
Felicidades, buen proyecto. (y)
Ahora si alguien me podría explicar como hacer lo que he hecho, en menos código, se lo agradeciera muchísimo.
Adjunto una forma de hacerlo con menos código, espero te sirva.
Está basado en la función LookUp para el manejo de tablas, con este método se reduce bastante el código.
Use para el ejemplo dos de tus primeras rutinas secuenciales convertidas a hex dentro de la tabla,
y tu template del diseño en ISIS para probar el programa.
me puede alguien decir, que C.I puedo usar para dar mas corriente al voltaje positivo, algo similar al uln2803
Me parece que con el ULN2803 debe funcionar bien tu circuito,
pero todo depende de cuanta corriente consuman los LEDs que estas usando.
En el diseño que adjunto, lo hice con transistores, calculando cada resistencia para los LEDs que se controlará.
Y si a alguien le sirve lo que está hecho, pues es libre de usarlo como a bien tenga.

Gracias de antemano.
Gracias a ti por compartir tu proyecto. :apreton:

Suerte.
 

Adjuntos

  • Ejemplo LookUp.zip
    23.6 KB · Visitas: 40
Hola edyrron!!!
tu proyecto esta muy bueno, pero... veo que las letras son fijas, es decir, cambia la secuencia de iluminación pero no cambia la posición de las letras.

si quieres mejorarlo en ese aspecto y aumentar los caracteres,te podríamos ayudar en ello.

ahora, si nesesitas mas corriente para los leds, podrias trabajar con FETs y tambien tienes que tener en cuenta que la fuente tiene que entregar suficiente corriente para abastecer el consumo de todo el circuito en maximo consumo (con todos los leds encendidos)
 
Adjunto una forma de hacerlo con menos código, espero te sirva.
Está basado en la función LookUp para el manejo de tablas, con este método se reduce bastante el código.

Gracias, amigo ya lo voy a chequear, y te cuento que tal me fue..

Me parece que con el ULN2803 debe funcionar bien tu circuito,
pero todo depende de cuanta corriente consuman los LEDs que estas usando.

En el diseño que adjunto, lo hice con transistores, calculando cada resistencia para los LEDs que se controlará.

la verdad prefiero no usar transistores porque ocupa mucho espacio en la placa.
pero bueno el problema esta en que tanto el transistor como el C.I, se le administra un v+, y este entrega un v-, lo que necesito ahora es lo contrario, administrar un v- y que entregue un v+, o administrar un v+ y que entregue un v+, para poder hacer la animación de arriba hacia abajo, y para dar suficiente corriente a todos los leds, aquí dejo los datos que encontré de cuanto consumen

https://dl.dropbox.com/u/22647102/imagenes/Captura de pantalla (4).png



Hola edyrron!!!
tu proyecto esta muy bueno, pero... veo que las letras son fijas, es decir, cambia la secuencia de iluminación pero no cambia la posición de las letras.
si quieres mejorarlo en ese aspecto y aumentar los caracteres,te podríamos ayudar en ello.

Saludos, si amigo de echo eso es justo lo que quiero lograr, vi este vídeo en el internet
y es por eso que me puse manos a la obra, aunque solo pude lograr lo que ya viste, pero supongo que con unos cuantos ajustes podría servir, y si mi ayudas seria genial, te lo agradezco muchísimo

ahora, si nesesitas mas corriente para los leds, podrias trabajar con FETs y tambien tienes que tener en cuenta que la fuente tiene que entregar suficiente corriente para abastecer el consumo de todo el circuito en maximo consumo (con todos los leds encendidos.

no estoy familiarizado con los FETs, pero ya los busco para ver como funcionan, gracias.
 
Última edición por un moderador:
Hola...
en el vídeo me da la impresión de que los caracteres los maneja una pc y los pic solo actúan como interfaces para la comunicación serial (perdonaran si me equivoco)
ahora si queremos mensajes o caracteres desplazándose en un tablero o matriz de leds controlado por PIC tenemos que espesar así...

1-cada matriz de leds por carácter debería tener como mínimo 5 columnas de 7 leds para un total de 35 leds por carácter mas una columna para separar los caracteres con un total de 42 leds (carácter y espacio)

2-el sistema para manejar el tablero debe ser multiplexado porque nos ahorra circuito y conecciones.

3-podemos utilizar el PIC16f877A que tiene un total de 33 pines disponibles para su uso, utilizaríamos un puerto que manejaría los 7 leds de las columnas y nos quedarían disponibles 26 pines de salida para que nos habiliten cada columna dándonos la opción de manejar 4 caracteres (con sus respectivos espacios) mas dos columnas.

con lo anterior podríamos visualizar 4 caracteres en un tablero de leds y darles el efecto que deseemos (correr a la derecha o a la izquierda, efecto de explosión, correr letra por letra, formar las letras con efecto de lluvia etc.), con tan solo el PIC16f877A, pero si queremos aumentar mas caracteres, podríamos utilizar el decodificador 74LS154 que maneja 16 salidas seleccionadas con 4 entradas (binario) y así resumiendo cuentas podríamos manejar 15 caracteres con sus respectivos espacios (utilizaríamos 6 I.C. 74LS154)
 
Atrás
Arriba