diseño de circuito logico de 8bits de entrada y 256 leds de salida

mi gente estoy diseñando un circuito para poder operar una placa cuadrada forrada de leds y por lo cual los leds prendan de la forma que yo quiero y aparentar figuras moviendose por ellos. ya hise mi contador de 8bits para obtener 256 formas de figuras en el cubo. el problema es que yo manejo muy bien el mapa de kanaugh de 5 variables, pero necesito simplificar 8 bits, por que el circuito que estoy diseñando tiene como entrada 8 variables y 256 salidas, si alguien sabe como poder simplificar un mapa de 8 variables se lo agradeceria ya que es un reto para mi, la otra opcion es usar algebra booleana para simplificar poco a poco lo mas que pueda. o si saben de un ic que me pueda ayudar, pues mejor!
 
Algo de lo que estás diciendo no me cierra. Si tenés que encender 256 LEDs necesitás 32 registros de 8 bits cada uno, o lo que es mejor, 16 registros de 16 bits cada uno. Cada uno de los bits de esos registros representa el estado encendido-apagado de cada uno de los LEDs de la matriz cuadrada.
 
Buenas tardes.

Una corrección para el amigo chaclau...
el compañero beblum no está en un error, con 8bits puede seleccionar 256 Díodos Led ya que
2^8 = 256
Supongo que lo que pretende realizar beblum es una matriz de 16x16
Con 4 + 4 bits lo tiene resuelto, con los cuatro primeros direcciona los 16 horizontales con los otros cuatro selecciona los 16 verticales.

Sal U2
 
No estoy de acuerdo.

Eso sería cierto si cada imagen posible consistiera solamente de un pixel encendido. Pero no es esa la situación, puede haber diversas combinaciones de bits encendidos y apagados, por eso la imagen en memoria de la matriz de LEDs tiene que existir sí o sí-
 
pues claro que se poria con un decoder / demultiplexer de 8bit de entrada. (si lo uviera e el mercado comercial mente) pero acer una animacion con ellos.. no te serviria para encernder algun aparato dentro de los 255 que uviera.
al acer un cubo o un cuadrado tenrias que acer barridos lo cual que cual simplemente con querer tener mas e la mi tad de led encendidos comeris 1/128 avo de Vcc lo cual que apenas alumbrarian.

para eso hay chip matriciales para led o pantallas led o lcd.
en principio con somo todos los chip que llevan las patallas de cualquier aparato. funcionan por una entrada serial que carga una ram que dispone el integrado y el mismo integrado por su cuenta ace los barricos acia los led. sulen tener tantas calidas como pixeles de base y columnas.

si te fijas por youtuve veras alguos cubos y pantallas echos con esos integrados. pero mas normalitos.. pongamos que 128X64.. lo que no me acuerdo el nombre del modelo, o modelos. pero buscando por you tuve y leyendo los comentarios muchas veces ponen el modelo matricial que usaron

un saludo
 
lo puedo hacer con dos 7493 por que obtengo 256 configuraciones diferentes, y lo de las caidas de voltaje en los diodos no me preocupan por que no pretendo prender todos los diodos al mismo tiempo, y si asi fuera puedo regular ese voltaje con un diodo zener, la pregunta es si hay alguna forma de simplificar 8 variables usando karnaugh u otro método, voy a buscar lo q me dijiste en youtube a ver que aparece si lo llegaras a encontrar me dejas saber, gracias desde puerto rico.



tienes razon miguelus eso es lo lo que pretendo hacer

pero tengo que hacer un circuito logico de 8 entradas, en la cuales estarán las salidas de dos contadores de 4 bits cada uno
 
Última edición:
Discúlpenme pero no entiendo cómo proponen hacerlo. Yo les diría que pongan aquí un ejemplo más pequeño, incluso uno de 4x4.

Las matrices como bien han dicho se pueden hacer con barrido, pero el barrido se realiza por un lado con un registro paralelo (en este caso sería de 16), por el otro con un decodificador, en este caso de 4 a 16 que es el que va activando las columnas. Dicho sea de paso, me parece que 16 columnas barridas en forma secuencial ya muestran flicker.

Por lo tanto, quizá lo mejor sería dividir en cuatro matrices de ocho por ocho, o dos de 8x16 (8 columnas). Si alguien hizo ya una matriz de tamaño semejante sería interesante escucharlo. Yo lo más grande que he hecho fue una de 5x6 para un teclado iluminado.
 
aqui te envio uno que estoy tomando de referencia, usaré las 8 salidas que vienen de la suma de dos 7493 y ahi tengo mis 8 salidas que entrarían al circuito que necesito hacer, en el cual tendria esa cantidad de entradas y un limite de salidas(leds) de 256, es un circuito grande pero si logro simplificarlo lo mas posible me beneficia y tengo que comprar menos compuertas logicas y todo eso.(otra cosa no entiendo a lo que ustedes le llaman "hacer barridos")
 

Adjuntos

  • aaaa.jpg
    aaaa.jpg
    23.8 KB · Visitas: 79
beblum, no se puede hacer lo que tu dices con ocho entradas y lógica combinacional. Se necesita memoria para almacenar todos los datos de la matriz de LEDs que quieres visualizar. Yo te diría que busques en este foro o en la Internet sobre matrices de LEDs, hay muchos ejemplos ya realizados, con microprocesadores o con memorias.
 
osea que aunque yo no prenderé todos los leds al mismo tiempo no se puede? solo voy a hacer una secuencia de leds prendidos simulando movimientos con limite de leds prendidos y aun asi no se puede? de todos modos buscaré lo que me dices a ver que aprendo, gracias
 
hombre si no toavi te puedes pasar alas alblas o transistores a secas. para estar todos los dias intentando acer algo como esto...


pero vamos en mi pueblo 17128a de Vcc no eno deja de ser una 128 ava parte de la corriente de entrada por muho ener que le pongas.
que si te puedes acer una pequeña matrid led con un pic y 4 componetes vasicos mas.. pues si, pero ya existen integrados para grandes cosas.

que si no siempre puedes intentar curaros con ese metodo una e estas.

iva ser espetacular el resultado....



pero que vo con empezar con una pequeña matricial vasica que no necsita mas que un pic. y 3x4 .. que lo sacariamos del puerto b del pic.. para empezar y fijarse en posibles problemas.
 
Última edición:
mi amigo ya sé como hacer sin usar memorias, me veré limitado en algunas combinaciones de leds prendidos pero es solo el comienzo, despues iré aprendiendo mas y podré modificar sin tener que saber mucho de memorias y sin usar arduino, uso lógica combinacional para tener un conteo binario que me sirve de señal para activar los transistores por los cuales estarán conectados a lo alambres que serán ánodos y cátodos de los diodos, aquí les puse un video en el cual se muestra lo que quiero hacer. como dije hay combinaciones que no puedo hacer sin memorias pero por algo se empieza, ya veré como le haga luego. vean el video para que tengan una idea, saludos.
 
mi amigo ya sé como hacer sin usar memorias, me veré limitado en algunas combinaciones de leds prendidos pero es solo el comienzo, despues iré aprendiendo mas y podré modificar sin tener que saber mucho de memorias y sin usar arduino, uso lógica combinacional para tener un conteo binario que me sirve de señal para activar los transistores por los cuales estarán conectados a lo alambres que serán ánodos y cátodos de los diodos, aquí les puse un video en el cual se muestra lo que quiero hacer. como dije hay combinaciones que no puedo hacer sin memorias pero por algo se empieza, ya veré como le haga luego. vean el video para que tengan una idea, saludos.

Hola beblum, :D

Eso que quieres hacer, tener una matriz de LEDs de 16x16, y visualizar secuencias en ella es bastante extenso de elaborar....pero no complicado.

Por lo que has dicho, se cuenta con un único bus de datos de 8 bits. Pero es necesario saber que otras limitantes tienes: se puede usar micro? memorias? registros? contadores? etc. :confused::confused::confused::confused::confused:

Lo otro es saber que tipo de imagenes quieres visualizar; imágenes de 1x1 pixel o de hasta 16x16 pixeles. Si es el primer caso, es mas fácil de hacer, y hasta es práctico implementarlo con lógica combinacional, pero si es el segundo caso, ya la cosa es muy "rudimentaria" hacerla solo con lógica digital discreta. :unsure::unsure::unsure::unsure:

Espero y me respondas, asi podré ayudarte. :apreton:
 
tienes razon en que sería rudimentaria, pero creo podria funcionar sin memorias si me limito a solo hacer configuraciones de leds prendidos que no conlleven complejidad, como por ejemplo puede simular imagenes de cuadrados moviendose sin necesidad de prender muchos leds a la ves, el proposito es ir asociandome y luego añadirle complejidad con memorias, mas bien lo hago para apreder el fundamento y luego seguir inventando. si sabes mucho del tema, me gustaria que me dijeras si con un solo transistor con una señal de entrada de un pulso de 2.5v puedo encender 4 leds de 40mA a la misma ves, si viste el video tengo dos transistores por cada 4 leds, eso mismo lo voy a hacer pero todavia no sé que tipo de transistor deberia usar, tengo que hacer los cómputos pero si tienes experiencia me gustaria saber tu opinion, gracias,



voy a usar un 555 para q me envie los pulsos al contador de 4 bits y buscar la forma de ponerle otro contador para por lo menos tener 5 bits de salida y que esas salidas vallan a las entradas del circuito combinacional que pienso hacer de 5 bits que es bien facil de hacer
 
Última edición:
tienes razon en que sería rudimentaria, pero creo podria funcionar sin memorias si me limito a solo hacer configuraciones de leds prendidos que no conlleven complejidad, como por ejemplo puede simular imagenes de cuadrados moviendose sin necesidad de prender muchos leds a la ves, el proposito es ir asociandome y luego añadirle complejidad con memorias, mas bien lo hago para apreder el fundamento y luego seguir inventando. si sabes mucho del tema, me gustaria que me dijeras si con un solo transistor con una señal de entrada de un pulso de 2.5v puedo encender 4 leds de 40mA a la misma ves, si viste el video tengo dos transistores por cada 4 leds, eso mismo lo voy a hacer pero todavia no sé que tipo de transistor deberia usar, tengo que hacer los cómputos pero si tienes experiencia me gustaria saber tu opinion, gracias,



voy a usar un 555 para q me envie los pulsos al contador de 4 bits y buscar la forma de ponerle otro contador para por lo menos tener 5 bits de salida y que esas salidas vallan a las entradas del circuito combinacional que pienso hacer de 5 bits que es bien facil de hacer


Hola beblum,

Bueno, es ya decision tuya el hacer manualmente la visualizacion, pues me pregunto como podras por ejemplo, cambiar la visualizacion de un cuadrio por un triangulo, o una linea...sin modificar el hardware.... ¿?

Lo otro es que, hay transistores que manejan varios amperios de carga, así que manejar varios LEDs simultaneamente no es un inconveniente... Lo que debes tener en cuenta es la corriente Colector-Emisor ("Ice" en transistores BJT-NPN) sea mayor a la suma de todas las corrientes de los LEDs que vas a manejar. Creo que si miras el datasheet del 2N2222 aquí, prodras ver que la corriente de este transistor es de 500mA en condiciones de carga recomendadas, se puede hasta 800mA de carga (mámixa). Este transistor es muy común en las tiendas de electrónica, y es barato.

Sobre el circuito controlador, seria útil que me hicieras un diagrama (así sea a mano). Si decides hacerlo, usa los denominados bloques lógicos (ej: una caja que tendría una combinacional adentro, tal combinacional no sabes cual es, pero debería hacer esto, y lo otro y aquello, etc.)

Salu2
 
si, si ya cuando estaba simulando como deberian prender me di cuenta que para hacer triangulos tendria que usar PIC's por que necesito que se apague un led y prenda el otro tan rapido que los dos se vean que estan prendidos, y con lógica combinacional seria casi imposible a menos que use una gran cantidad de multiplexers, he aprendido un montón, aún con los transistores no podia hacer todo tipo de imagen por que cuando quería prender a la misma ves diodos que no fueran adyacentes se prendian otros que yo no quería, vi un programa arduino que por lo que veo es bien fácil de manejar y lo voy a comprar, de esa forma no tendría limites para cualquier imagen que quiera que se vea. todo ha sido por aprender y cada ves aprendo mas, grax a todos por los consejos.
 
si, si ya cuando estaba simulando como deberian prender me di cuenta que para hacer triangulos tendria que usar PIC's por que necesito que se apague un led y prenda el otro tan rapido que los dos se vean que estan prendidos, y con lógica combinacional seria casi imposible a menos que use una gran cantidad de multiplexers, he aprendido un montón, aún con los transistores no podia hacer todo tipo de imagen por que cuando quería prender a la misma ves diodos que no fueran adyacentes se prendian otros que yo no quería, vi un programa arduino que por lo que veo es bien fácil de manejar y lo voy a comprar, de esa forma no tendría limites para cualquier imagen que quiera que se vea. todo ha sido por aprender y cada ves aprendo mas, grax a todos por los consejos.

Hola beblum,

Veo que te decidiste por usar un microcontrolador...pues la verdad, ya estaba pensando en varios métodos para lograrlo por lógica combinacional y con contadores :rolleyes:, sin embargo desde un principio este fué tu hilo y por lo tanto creo que aqui terminará.

Como aspecto final, por ejemplo si quisieras experimentar tu teoría de no usar micros y tuvieras una matriz de 8x8 leds (mas modesta que 16x16); Entonces para mostrar texto, figuras y otras cosas (animaciones simples), no necesitas un PIC como tal; puedes usar un par de memorias EEPROM de 8 bits de ancho, y un contador binario. Con estos elementos, puedes visualizar cualquier cosa en dicha matriz pequeña, aún podrías mediante botones o pulsadores, seleccionar una determinada figura, moverla, etc...o hasta un juego simple (como snake, pong etc).

Ahí te dejo la inquietud, y te digo esto es porque yo hice un proyecto en el que sin microcontroladores tenia que mostrar mi nombre completo e la pantalla de un osciloscopio analógico. Cambien en otro proyecto tenia que mover un punto(led encendido) en una matriz 8x8. Ambos proyectos los desarrolle con lógica combinacional, y 2 EEproms de 8 bits.

Un dia cuando pueda volver a trabajar en la electrónica, los volveré a hace y los publicaré en este foro.

Salu2
 
ohhh claro que ese trabajo llama la atención si se hace sin controladores, pero aún asi se necesita la memoria, en un principio lo quise hacer solo con lógica pero sería casi imposible a menos que use un transistor por led o me invente una forma mas util de hacer el arreglo de leds en una parrilla, leeré un poco más acerca de las memorias que me dijiste a ver que hago, saludos
 
ohhh claro que ese trabajo llama la atención si se hace sin controladores, pero aún asi se necesita la memoria, en un principio lo quise hacer solo con lógica pero sería casi imposible a menos que use un transistor por led o me invente una forma mas util de hacer el arreglo de leds en una parrilla, leeré un poco más acerca de las memorias que me dijiste a ver que hago, saludos

Hola beblum,

Si quieres investigar mas, puedes consultar el datasheet de la memoria que usé en el proyecto que mencioné anteriormente, visita este enlace. o descarga el pdf adjunto.

Estuve pensando y además de las memorias EEPROM, se pueden usar arreglos de registros tipo D y aparte de las memorias puedes usar máquinas de estado, pero pues, eso ya es a juicio tuyo.

Si sigues con la iniciativa con la que abriste este hilo, entonces pienso que deberías rebajarle a los criterios de diseño (como bajar de 256 LEDs a unos 64 máximo), de esta manera se podría simplificar el hardware necesario y la teoría para diseños mas grandes seria la misma.

Salu2
 

Adjuntos

  • Parallel_EERPOM_64K.pdf
    250.4 KB · Visitas: 28
me voy a meter para dar una simple opinion :
asi de paso me ayudan a ejercitar la cabeza a ver si estoy perdido o no , esto que pondre es solo un analisis , o uso de el coco , como solo pensar antes de hacerlo:


me quiero hacer un cubo de 16 * 16 leds., quedaria lindo y haria figuras
diria que eso suma 256 leds, asi que con 8 bits de entrada los controlo diria ....
a ver.
con 8 bits de control puedo direccionar los 256 leds, ........pero uno a la vez.
coño ..... y eso en que afecta??
puedo prender uno , y luego otro , pero el anterior se apaga.....
que puedo hacer ?? solo un puntito moviendose :cry:

ah.. ya se , voy a usar eso que se llama multiplexado :cool:, voy a mirar a ver como es:
y si, podria hacer una pequeña forma, con un poco de esfuerzo voy encendiendo de a uno un grupito y luego vuelvo a encenderlos asi los refresco.
asi mantengo una figura.
pero primero voy a ver cuantos puedo multiplexar de una vez y que se vea como que estan todos prendidos, por que seguro que si quiero multiplexar muchos se va a notar un parpadeo o algo :unsure: .

ya esta, tuve que agregar un circuito para que barra esos leds y asi hice el multiplexado, queda bien, no puedo hacer mucho dibujo pero queda bien .
eso si , prende eso fijo y tuve que hacer las conexiones soldadas, como lo movere :unsure:
y ademas esa figura parece chica, un punto gordo, no son muchos leds....

ahora quisiera que eso se mueva, por que si bien estoy haciendo que quede un grupito de leds prendidos con un control de 8 bits que solo da ordenes DE A UNO , pero esa figura no se mueve.
la cosa se complica si quiero que se mueva, por que cada movimiento de la figura seria modificar el grupo de leds que voy a multiplexar.
y ya vi que no puedo multiplexar mas de 8 leds (por dar un ejemplo) asi que la figurita es bastante pobre, no tiene mucha forma......
tengo 2 problemas nuevos:

1-- el poder encender a la vez mas leds
2 -- el manejar coherentemente ese lio de leds y hacer que parezca que se mueven .


1 -- si quiero encender la cantidad de leds que se me canten cuando se me cante , pues que estoy mirando que tengo que manejar los leds de otro modo, no es solo la cosa un registro de entrada de 8 bits y listo, podria hacer que los leds se configuren en 16 panales de 16 leds cada uno pero para no multiplexar como venia haciendo deberia hacer algo mas "inteligente"...............
tipo que cada led tenga una memoria y yo desde mi control refresque la informacion .
seria un multiplexado de la info , no de la energia para que encienda.
pero asi se complicaria mas aun el circuito , tendria que ver que hay para poner memorias y como lo controlo.
veo que hay otros modos.........pero todo complica.

2 -- manejar ese lio de leds para que cada movimiento de 256 puntos sea algo coherente y haga un dibujo lindo es memorizar cada instante 256 bits (no 8 ) y el movimiento .......
si el efecto requiere de 15 pasos o cambios de figuras entonces tendre que memorizar 256 * 15 bits.......no es eso 8 bits.
es como pasar una pelicula de 15 fotogramas , cada fotograma es de 256 bits.
me estoy metiendo en un buen lio .
no es soplar y hacer botellas.
y veo que tampoco hay un el mapa de kanaugh que me ayude, por que no pasa esto por ahi .


no habre agarrado un primer proyecto un poco gordo ??
 
Última edición:
Atrás
Arriba