multiplexión de la pantalla LED de 7 segmentos para 9 dígitos

1

Quiero construir una pantalla LED de 7 dígitos de 7 segmentos con componentes básicos. Estoy planeando usar un pantalla LED de 4 segmentos de 7 pulgadas y una placa Arduino para mi aplicación.

Según mi entendimiento, necesitaría 17 pines de E / S (9 pines para líneas de control de 9 dígitos y 8 pines para líneas de datos de LED de cada segmento).

  • Quiero saber sobre las características eléctricas que tendría que considerar antes de montar el circuito.
  • ¿Arduino Leonardo sería suficiente para mi aplicación?
  • ¿Es necesario un controlador IC adicional? Si es así, ¿cuál sería recomendado?
pregunta dreamcoder

2 respuestas

1

Características eléctricas

Debes considerar las características máximas. Esto incluye la corriente continua de CC máxima que la pantalla puede manejar. El voltaje inverso máximo también debe anotarse también. 60 mA máx para 7 segmentos y 30 mA máx para el DP.

Por su aspecto, debería estar ejecutando los 7 segmentos a 20 mA y el LED DP a 10 mA para estar seguro.

La tensión directa también debe tenerse en cuenta. Debería alimentar esta pantalla desde una fuente de 12 voltios, ya que el voltaje directo PUEDE SER (Vf no es consistente, ya que varía según las diferentes corrientes, demuestre que no hace estallar el LED al sobreestimar el avance). voltaje! Lea a continuación para ver lo que quiero decir con una sobrestimación, ya que en la fórmula para determinar la resistencia en serie, el Vf deduce el voltaje de alimentación.) la friolera de 7.8V (DP es 3.9V) donde puede aumentar hasta 10V (DP es 5V).

Ahora, por último, está usando esos valores. Necesita estos valores para saber qué resistencia usar. Sin embargo, no es tan simple. La tensión directa cambia a diferentes corrientes directas. Consulte la hoja de datos y mire la gráfica que muestra La relación entre ellos.

Ahora calcule aquí y obtendrá el valor de su resistencia.

¿Sería suficiente un Arduino Leonardo?

Actualmente, con su método, solo funcionará, ya que el Leonardo tiene 20 pines capaces de emitir IO y omitiría el pin 13 que ya está conectado a un LED y 1 y 2 ya que están Conectado a Tx y Rx. Sin embargo puedes afeitarte unos alfileres. Ya que va a encender los LED uno a uno a una velocidad rápida para dar la ilusión de que están todos encendidos a la vez, puede afeitar los 9 pines para cada visualización de segmento en 4, ahorrando 5 pines. Esto significa que tendrás más espacio para otras cosas. No tienes que hacer esto, de lo contrario necesitarías un BCD (o binario de 4 bits) para decodificar el IC.

¿Necesita un controlador IC?

Sí y no. Ya que su arduino funciona a 5 V y usted manejaría la pantalla LED a un voltaje mucho más alto, tendría que conducirlos. Podría usar una gran cantidad de transistores y resistencias PNP en serie con cada base, además de las resistencias en serie con los LED para controlarlos, o complementar los transistores individuales junto con un IC de matriz de transistores PNP que hace que las cosas sean un poco más organizadas .

Y si estás afeitando estos 9 pines en 4, necesitarías un BCD a decodificador decimal mientras conduces con binario de esta manera.

    
respondido por el Bradman175
0

Aunque es posible hacer esto con una gran cantidad de chips lógicos discretos, la solución obvia es un microcontrolador.

La forma simple de multiplexar es usar 8 líneas que activan cada uno de los 8 segmentos a través de los dígitos, y 9 líneas que activan cada uno de los dígitos.

Configure una interrupción de alrededor de 5-10 kHz y cambie a un nuevo dígito cada interrupción. Mantiene una tabla de los 8 valores de segmento para escribir cada dígito. Esta tabla por lo tanto tiene 9 entradas. Cada interrupción, usted:

  1. Desactiva la línea de habilitación del dígito actual (o todo, si es más fácil).

  2. Escriba el byte para el nuevo dígito en las 8 líneas de segmento.

  3. Habilita la línea de dígitos para el nuevo dígito.

  4. Avanzar la ubicación de la tabla actual en uno, envolviendo desde el final hasta el principio.

  5. Obtenga el nuevo valor de la tabla y déjelo listo para el paso 2 de la siguiente interrupción.

Tenga en cuenta que la secuenciación a través de todos los dígitos de forma secuencial no suele ser el mejor enfoque. El parpadeo será menos notable a la misma frecuencia de actualización cuando intercale actualizaciones de dígitos. Por ejemplo, en lugar de que la secuencia sea los dígitos 1 2 3 4 5 6 7 8 9, puede probar 1 6 2 7 3 8 4 9 5. Hay varios esquemas.

El código de primer plano puede escribir un nuevo valor de 8 bits en una entrada de la tabla en cualquier momento, y se escribirá automáticamente al dígito instantáneamente en tiempo humano.

Todo lo anterior es una cantidad considerable de lógica a hardware, pero es algo bastante básico incluso para un modesto microcontrolador. Todo lo que necesita de la micro es 17 pines de salida para esta parte de la tarea.

Ahora considere cómo va a generar los valores de segmento y los valores de dígitos antes de eso. Realmente quieres usar un micro para esto.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas