Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

22/02/2010 #1


Logica de una matriz de leds
Hola tengo un problema con la logica de una matriz de leds de 5x16 no se ni por donde empezar habia pensado algo como esto

PORTB PORTD
P O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O
R O O O O O O O O O O O O O O O O
T O O O O O O O O O O O O O O O O
C O O O O O O O O O O O O O O O O

ejemplo al escribir la letra U habia pensado mandar b'00000001' el puerto D y b'00000000' el puerto C y asi encender la primera columna, luego viene mi problema ya que para mandar la siguiente columna pensaba mandar b'00000011' al puerto D y b'00001111' en el puerto C pero mi pregunta es como hacer para que no se apague la primera columna que ya habia hecho y que ya habia trasladado al bit 2 del puerto D ya que cuando ponga en uno los 4 bits menos significativos del puerto C se apagaran esos ya que toda la columna esta en 1, espero puedan ayudarme porque estoy muy desorientado
Gracias
22/02/2010 #2
Moderador

Avatar de Chico3001

Respuesta: Logica de una matriz de leds
Ok.. aunque el tema esta repetido creo que el problema no esta en la estructura del codigo sino de entender el concepto de multiplexacion, asi que no lo mandare a moderacion

Por otro lado... efectivamente tienes razon... si enciendes la siguiente columna forzosamente tienes que apagar la primera... el truco esta en hacerlo tan rapido que al ojo humano le parezca que todas estan encendidas... a este concepto se le llama multiplexado

funciona asi:

colocas el dato de la columna 1 (port C) y la habilitas (port D), despues colocas el dato de la columna 2, deshabilitas la columna 1 y habilitas la 2... despues colocas el dato de la columna 3 la habilitas y deshabilitas la 2... y asi hasta terminar.. .despues el proceso comienza de nuevo indefinidamente...

Ahora... para matrices muy largas en vez de multiplexar las columnas multiplexas las filas... asi no pierdes tanto tiempo ni luminosidad en los leds...

http://www.ucontrol.com.ar/wiki/inde...matriz_de_LEDs
23/02/2010 #3


Respuesta: Logica de una matriz de leds
ahh ok entonces tengo que realizar retardos muy pequeños entre cada barrido, a fuerzas tengo que ocupar el 74hc164n ? y la eeprom?
23/02/2010 #4
Moderador

Avatar de Chico3001

Respuesta: Logica de una matriz de leds
nop... mientras hagas barridos suficientemente rapido puedes usar la circuiteria que gustes, en mi caso siempre me ha gustado usar transmision paralela y latches tipo D, otros usaran deserializadores y 74ls164 y otros tendran otras ideas...

Es a gusto del cliente
23/02/2010 #5
Excluido


Respuesta: Logica de una matriz de leds
Si lo haces con programacion, es un ciclo infinito que barre las filas. Hice eso en el graficador de mi amplificador usando un AVR.
Con que hagas un barrido total de todas las filas en unas 60 veces por segundo, no sera perceptible por el ojo humano.
Ahora, con la luminosidad, utiliza leds de ultra brillo, ya que si tienes por ejemplo, 4 columnas, cada led encendera de manera perceptible por el ojo, a 1/4 de su brillo total. Si tienes 8, entonces a 1/8.
Ahora que puedes sobrecargar un poco los leds si usas un barrido muy rapido.
No hay de otra, usando barrido como en las televisiones con cinescopio.
24/02/2010 #6

Avatar de cosmefulanito04

Respuesta: Logica de una matriz de leds
Lo que deberias tener en cuenta ahi es el duty, si hacemos lo que dice antiworldx (yo lo suelo hacer con 50 hz en vez de 60 hz, pero es a gusto de c/u), la corriente que le tenes que suministrar a los leds debera ser:

ILed=IefLed/raiz(duty)

Esta relacion sale de calcular el valor eficaz de la corriente del led, entonces si vos quisieras por ej. que los leds se comportaran como si tuvieran 10mA, la corriente que le vas a tener que entregar a los leds sera:

ILed=10mA/raiz(duty)

Supone que tu matriz es de 8 filas x 10 columnas, si usas un uC con 8 puertos de salida y te encargas de iluminar todas las filas al mismo tiempo, la idea sera ir iluminando columna x columna, como son 10 columnas, tu duty sera 1/10:

ILed=10mA/raiz(1/10)=31,62mA

Asi que ojo con eso, deberas diseñar un circuito tal que se banque 32 mA por cada columna para optener un brillo eficaz igual a lo que obtendrias con 10mA de continua.
24/02/2010 #7
Excluido


Respuesta: Logica de una matriz de leds
Exactamente, ahora pregunto yo en relacion que es algo que no tengo muy claro. Segun entiendo, para que los leds soporten esa sobrecarga, deben tener un tiempo de enfriamiento, y un tiempo maximo que estara encendido, que son de orden de microsegundos. La pregunta es, si a relativas bajas frecuencias como son 60 hz, 100hz, o aprox, en vez de los 40khz que utiliza un emisor IR, no habra problema de sobrecalentamiento de la pastilla de silicio?
24/02/2010 #8

Avatar de pepechip

Respuesta: Logica de una matriz de leds
En ese circuito manteniendo prendida cada fila durante un tiempo de 4ms te quedara perfecto.
24/08/2010 #9


Respuesta: Logica de una matriz de leds
Hola gente, alguien tiene idea de como hacer el barrido en c, tengo una matriz de7 filas x 40 columnas. estoy utilizando un micro silabs, da igual el micro, utilizo reg. de desplazamiento 74HC164. saludos gracias.
estuve viendo el link de arriba, pero no me cierra bien...
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.