¿Cómo funciona el circuito de matriz de LED en el siguiente ejemplo?

0

El circuito a continuación muestra cómo construir una matriz de LED con multiplexado de registro de desplazamiento.

Por lo que entiendo, R1-R8 es el vector de la columna que establece los LED alto o bajo y el registro de cambios seleccionará una fila a la vez.

¿Cuál es la salida del registro de desplazamiento Q0-Q7?

Para iluminar el LED inferior izquierdo, necesitaría configurar R1 3.3V y Q0 a tierra (o 0V, supongo?) mientras que Q1 - Q7 debe estar flotando. Sin embargo, en este circuito, no veo cómo flotar la Q1-Q7.

¿O son Q1-Q7 en realidad 3.3V, de modo que todos los demás LED en la primera fila tienen potencial cero con el Q1-Q7?

Enelsiguienteejemplo,esmáscomprensibleyaqueelregistrodedesplazamientoestácambiandolostransistores,porlotanto,multiplexandolasfilasalsuelo.

A-¿Cómofuncionaelprimercircuito?

B:¿Cuálessonlasventajasydesventajasdelprimerysegundocircuito?

    
pregunta Arturs Vancans

4 respuestas

1
  

... mientras que Q1 - Q7 debe estar flotando.

No, no lo hacen. Simplemente no deben proporcionar un voltaje que encienda los LED en una medida real. Tirando de ellos hacia abajo, y por lo tanto, los ánodos a 0V, es suficiente.

    
respondido por el Ignacio Vazquez-Abrams
1

Si examina el primer circuito detenidamente, puede ver que para encender un LED necesita un punto bajo de la línea GPOI de Arduino y un punto alto desde una sola salida del registro de desplazamiento.

Entonces, para encender el LED inferior izquierdo, obtendría un 0 (bajo en el pin (13) y un 1 (alto) en Q0, todas las demás salidas de Qx serían 0 (bajo).

Efectivamente, el registro de desplazamiento le permite seleccionar una sola columna del 8 en la pantalla, y el pin Arduino (x) selecciona un LED individual en la columna seleccionada.

El segundo circuito que muestra está incompleto, pero funciona de la misma manera, esta vez utilizando un FET para reducir la corriente de un LED a tierra.

    
respondido por el Jack Creasey
0

La hoja de datos para el SN74HC494N muestra el diagrama de tiempo de la pieza. Básicamente, las salidas Q0 - Q7 son una secuencia "marchando":

0      7 clk
10000000  0
01000000  1
00100000  2
...

Entonces, con la lógica Q0 ALTA, necesitaría programar el pin 13 en el Arduino como lógica BAJA para encender el LED que se encuentra en la esquina inferior izquierda de la matriz:

+5V ->
-> 74HC595N VCC
   74HC595N Q0(HIGH) ->
-> LED Anode
   LED Cathode ->
-> 220 ohm resistor R1 ->
-> Arduino pin 13 (LOW)
   Arduino GND ->
-> GROUND
    
respondido por el Jim Fischer
0

En este tipo de circuito, debe pensar en el registro de desplazamiento como un enrutador de potencia.

Lo que realmente tienes es una serie de circuitos conectados en paralelo.

Permite volver a dibujar un poco para que quede más claro.

simular este circuito : esquema creado usando CircuitLab

Tal vez pueda ver en lo anterior que los dos circuitos paralelos están controlados por dos líneas de datos comunes en la parte inferior. Ahora, obviamente, qué conjunto de LEDs se iluminarán dependerá del circuito en el que se alimente.

Sin embargo, en este caso "accionado" en realidad significa. "A un voltaje mayor que el nivel de señal de nivel bajo aplicado a las líneas de datos MÁS la caída de voltaje del diodo".

Como tal, las salidas del HC595, cuando son altas, proporcionan esa potencia al circuito apropiado. Cuando las salidas son bajas, el nivel de voltaje es demasiado bajo para encender los LED en ese circuito.

Este tipo de circuito se utiliza para multiplexar muchos LEDS en unas pocas líneas IO de lo que sea que lo esté impulsando. Cada fila o columna solo estará activada durante 1 / (conteo de fila o columna) del tiempo. Como tal, pierdes algo de brillo de los LED.

    
respondido por el Trevor_G

Lea otras preguntas en las etiquetas