Control de secuencia LED usando decodificador / canales de decodificador simultáneos

0

Estoy trabajando en un proyecto que se usa para monitorear la cantidad de partes que me quedan en mi armario de bits.

Hay 5 partes separadas cuyo nivel quiero monitorear, cada parte tendrá 3 LED para mostrar el nivel de existencias. Estoy planeando usar dos LED de color ( L-59EGW-CA ) en la siguiente configuración:

Estaréusando15LEDentotal(3porpiezax5partes).EstoyplaneandoconducirelcircuitodesdeunATMEGA328P(ArduinoUNO)ytendréunbotóndeincrementoarriba/abajoparacadaparte(5arriba,5abajoentotal)

Comencéadiseñaruncircuitoparaelsistemaysemeocurriólosiguiente(tengaencuentaqueestoessolounarepresentacióndelcircuito,soyconscientedequenohaysuficientessalidas,etc.)

Hojasdedatos:

  1. ULN2803A
  2. CD74HC4514

El ATMEGA328P pasa por el decodificador a la matriz de transistores que enciende el LED. Ahora esto sería bueno, si solo tuviera 1 parte. Me he dado cuenta de que, como tengo 5 partes, no puedo tener varios canales en el decodificador simultáneamente. Por ejemplo, en mi diagrama quiero que los dos LED estén encendidos, sin embargo, son para partes diferentes, así que no puedo simplemente unir los cátodos.

Después de una larga introducción, esta es mi pregunta real:

1. ¿Es posible tener varias salidas del decodificador simultáneamente?

Estaba pensando que si en el código arduino continuaba cambiando entre los canales del decodificador (y permitiendo el retraso del apoyo), podría encender los LED, sin embargo, serían más tenues debido a un efecto de tipo PWM

2. Después de mis botones de entrada, me quedan 10 pines digitales para las 5 partes diferentes. ¿Hay otra forma de hacer la secuencia de LED utilizando solo 2 pines?

He tenido un intento usando solo 2 pines, tuve que cambiar a usar un LED de dos colores de cátodo común en lugar de un ánodo común y utiliza 3 chips y un diodo. También significa que solo puedo tener 1 LED rojo parpadeante en lugar de 3.

¿Esto funcionaría y hay una forma más sencilla de hacerlo?

Si crees que estoy siendo una herramienta completa y que hay una mejor manera, házmelo saber

Lo siento por la enorme pared de chicos de texto.

No estoy usando solo los 3 LEDs que dije en la pregunta que estoy usando 15 y que los esquemas son una representación para no obstruirlo todo

    
pregunta Doodle

1 respuesta

1

Una solución es utilizar registros de desplazamiento . Ese tutorial detalla el 74HC595, que es la opción habitual. Puede encadenarlos conectando el reloj, el pestillo y los pines de reinicio de todos ellos juntos, luego el Q7 de uno a la entrada del siguiente.

No tienes que usar los pines de reinicio. Si no lo hace, conéctelos al suministro positivo. Sin embargo, configurar y luego borrar el restablecimiento antes de enviar bits garantiza que el sistema se encuentre en un estado coherente.

Luego, pase por un bucle para establecer el pin de salida en el siguiente valor y girar el pin del reloj hacia arriba / abajo en cada ciclo. Una vez completado, envíe un impulso en el pin de cierre para confirmar el cambio en las salidas.

No olvide, un condensador de desacoplamiento por 74HC595, cerca de sus pines de alimentación / masa.

Desventajas: cualquier falla detiene el funcionamiento de todos los LED de flujo descendente. Cuerdas largas toman más tiempo para programar. Hacerlo a alta velocidad puede causar EMI y ser poco confiable. Afortunadamente, el 595 no tiene una velocidad mínima, por lo que puede hacerlo a velocidades de kilohertz, lo que lo hace más confiable y fácil de seguir con un alcance.

Las cuerdas largas (decenas de dispositivos) también pueden requerir repetidores en el reloj / enganche / restablecer las señales, y requieren configuraciones de energía adecuadas para evitar caídas de tensión en el extremo lejano.

    
respondido por el pjc50

Lea otras preguntas en las etiquetas