Necesito conducir 80 leds RGB (por lo tanto 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 conducir la matriz utilizando 595 registros de desplazamiento, de modo que solo necesito 3 líneas de microcontroladores para conducir todos los leds, multiplexando los leds. Los leds RGB que estoy usando son ánodos comunes. Me gustaría tener al menos 3 niveles de brillo para cada color (apagado total, medio encendido, completo encendido).
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 (de código, principalmente) para agregar los 16 leds RGB adicionales.
Opción 1: una matriz de 9x9. Si es así, el pin de columna adicional y el pin de fila adicional provendrí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 sub matriz en serie con la primera, que comparte los ánodos con la matriz principal, pero usa solo un registro de desplazamiento adicional para impulsar los cátodos adicionales. ¿Otras opciones?
Gracias y lo siento por mi mal inglés.