¿Formas inteligentes de controlar una escalera de LED?

1

Tengo dos juegos de escaleras de LED (12 en cada escalera, así que 24 LED) que quiero controlar desde mi microcontrolador. No tengo suficientes entradas para 24 LED (y quiero que sea escalable), y el microcontrolador tiene otras tareas que atender, además de controlar las escalas de LED.

  • No tengo una cantidad fija de PIN que pueda dedicar a una escalera, pero cuanto menos mejor (si se requiere un número, máximo de 8 pines por escalera)
  • Los LED se actualizarán con poca frecuencia (cada pocas horas), por lo que no quiero consumir la potencia de procesamiento multiplexando continuamente.
  • Mi microcontrolador no tiene un DAC

Actualmente, estoy pensando en usar registros de desplazamiento (8 bits y 4 bits en cascada). Sin embargo, dado que los registros de desplazamiento son dispositivos "de una sola vía", tendré que borrar los registros para establecer un valor más bajo.

No creo que esto sea un gran problema (para mí, ya que se actualizan con poca frecuencia), pero ¿existen mejores métodos para controlar una escalera de LED?

Editar: Por una escalera de LED, me refiero a una sola línea de leds (como una barra de un ecualizador) que muestra un nivel de algo. Los LED no necesitan ser controlados individualmente.

    
pregunta tgun926

3 respuestas

5

Si desea capacidad de expansión, y para usar pines de E / S digitales casi cero con el fin de limitarse a la conducción por LED, piense en usar un chip de controlador de LED adecuado. Puedes hacer schenanigans con registros de turnos, pero solo irás tan lejos. Si va a invertir en el espacio de la placa para estos circuitos integrados, ¿por qué no utilizar un antiguo controlador LED de bus I2C con canales 16 ? Me gusta el TLC59116 de Texas Instruments

Cuatro pines de dirección de hardware permiten hasta 14 dispositivos en el mismo bus. Eso le da 14 * 16 LEDs totales, todos controlables individualmente (drenaje abierto, puede conectarlos directamente al IC con resistencia desde su riel de voltaje (¡hasta 17V clasificado también!)

No solo son controlables individualmente, sino que, dado que es un bus I2C, puede agregar / eliminar cualquier dispositivo de su "placa base" de una manera muy sencilla (¡el conector de alimentación + I2C, listo!). Hasta 224 LED con atenuación PWM de 8 bits, comandos en todo el bus o comandos LED individuales. Bastante sorprendente. ¡Pruébalo!

Debo señalar que, por todos los medios, pruebe con otros tipos de IC de controlador de LED multicanal, sin embargo, el hecho de que haya IC compatibles con el bus I2C los hace EXTREMADAMENTE útiles para expandir la capacidad y agregar / eliminar grandes cantidades rápidamente de LEDs, simplemente cambiando algún software para lidiar con los cambios de hardware. Los IC son bastante baratos, solo unos pocos dólares cada uno, pero serán mejores que intentar administrar muchos registros de turnos lo más rápido posible; deje que un IC se ocupe de eso, porque para eso están diseñados.

Finalmente, puede usar estos más para "lógica" que para la conducción de potencia real, si los LED que está tratando de conducir son de alto rendimiento (como, cientos de mA a amperios cada uno) mediante el uso de búferes de inversión y tótem de empujar / tirar (también llamados circuitos de cascode) para operar la puerta de un MOSFET (generalmente canal N, en un circuito de interruptor de potencia en el lado bajo).

    
respondido por el KyranF
0

Puede controlar individualmente 24 LED con 2 E / S y 2 registros de desplazamiento si puede pararse un poco parpadeando cuando actualiza la pantalla, de lo contrario le costará 3 E / S.

    
respondido por el EM Fields
0

Utilice TLC5955 o TLC5954. Controla hasta 48 LED con 4/5 GPIO.

    
respondido por el Gilad

Lea otras preguntas en las etiquetas