Matriz Led 9X9 RGB, sugerencia de diseño

Necesito manejar 80 leds RGB (es decir, 240 leds individuales), alineados física y conceptualmente como una matriz de 8x8 + una línea vertical adicional y una línea horizontal adicional.

Me gustaría controlar la matriz usando 595 registros de desplazamiento, de modo que solo necesite 3 líneas de microcontrolador para controlar todos los LED, multiplexando los LED. Los leds RGB que estoy usando son de ánodo común. Me gustaría tener al menos 3 niveles de brillo para cada color (totalmente apagado, medio encendido, lleno).

Encontré muchos ejemplos de manejo de una matriz RGB de 8x8 con registros de desplazamiento, pero estoy tratando de entender cuál es la mejor manera (en términos de código, principalmente) de agregar los 16 LED RGB adicionales.

Opción 1: una matriz de 9x9. Si es así, el pin de columna adicional y el pin de fila adicional vendrían directamente del microcontrolador y no de un registro de desplazamiento adicional, ya que se desperdiciaría un registro de desplazamiento para solo 2 pines.

Opción 2: una submatriz en serie con la primera, que comparte los ánodos con la matriz principal, pero usa solo un registro de desplazamiento adicional para controlar los cátodos adicionales. ¿Otras opciones?

gracias y lo siento por mi mal inglés.

esquemático

Es posible que desee leer sobre charlieplexing
Afaik con 4 595 encadenados, puede controlar 32 LED, por lo que necesita más de 3 pines para 64 u 80 LED, a menos que use los 595 para controlar (sub) 595.

Respuestas (2)

Haga la matriz de WS2812B en su lugar, luego simplemente encadene en serie los datos de uno a otro para todos ellos. Sparkfun transporta piezas de 5 mm de orificio pasante en 2 formas diferentes. Entonces tampoco necesita una multiplexación compleja, simplemente envíe 240 bytes de datos cuando necesite una actualización utilizando la biblioteca FastLed.h.

O puede obtener cadenas de SMD WS2812B y diseñar 9 tiras de 9 LED, hace que el cableado sea aún más simple: conecte Gnd, Power a lo largo de un extremo y una sola línea de datos desde el final de una tira hasta el comienzo de la siguiente. .

El WS2811 permite más configuraciones de LED RGB, pero para píxeles LED RGB individuales es difícil superar al WS2812B o al Adafruit Neo-Pixels.
Sí, chip de controlador separado frente a controlador combinado + LED. WS2803 es otra opción para un controlador separado para 18 LED (o 6 LED RGB), conecte en cadena varios de ellos.
@JackCreasey ¿Difícil de superar? ¿Has visto la TI TLC5973. 50 mA, salidas de hasta 21 V, reloj y datos de un cable, oscilador interno de 12 Mhz, escala de grises de 12 bits, 3 Mbs, tasa de repetición de 2,9 Khz y píxeles ilimitados. Los LED en el WS2812B son un poco deprimentes y prefiero seleccionar el RGB para la aplicación. Me gusta el Luxeon C Color para aplicaciones de mezcla de colores brillantes, también prefiero colores mucho más profundos en rojo de 660 nm y azul de 450 nm. Para video de vallas publicitarias, el Cree CLMVB-FKA RGB en una caja de 2 x 2 mm es muy compacto. También hay un TLC59731 de 8 bits. Y lo mejor de todo una buena documentación.
@Misunderstood Buenísimo, debo probar algunos de esos chips TI.

A pesar de que es un hilo muerto, esto parece un trato tipo Launchpad. Manejar 240 LED es bastante fácil cuando se usan LED direccionables individualmente como si se estuvieran usando en tiras de LED programables. Envías una señal larga al primer LED que toma la información que necesita para sí mismo y envía el resto de los datos al siguiente LED de la línea. No hay una necesidad real de registros de desplazamiento, según tengo entendido, esta tecnología.

No voté a la baja, pero si bien su respuesta está en el camino correcto, carece de detalles sobre cómo sería diferente de la respuesta actualmente aceptada de usar el WS2812B, que en realidad es "un LED direccionable individualmente que se usa comúnmente en tiras de LED programables". También recomiendo poner su información de discordia en su perfil, ya que el final de su respuesta es como una firma del foro que no se recomienda aquí. ¡Gracias por tu primer aporte!