La respuesta simple es, no, no puedes hacerlo.
La respuesta más larga es, sí, puedes hacerlo, pero tomará más de lo que crees y probablemente será más difícil.
Tomemos un grupo de 8 LEDs. Puede conducir uno de cada salida de un 595, ¿verdad? (Siempre y cuando no trates de conducirlos con demasiada fuerza).
Ahora desea conducir 3 entradas a cada LED. Esto tomará 3 595s; llámelos red595, green595 y blue595. Con esta configuración, solo puedes encender o apagar cada LED, por lo que obtienes 7 colores diferentes (8 si cuentas el negro como un color).
Ahora desea encender o apagar cada LED parcialmente, y cada uno de forma independiente. Puede hacer esto proporcionando a cada 595 datos PWM. Así que echemos un vistazo a LED1, el canal rojo. Digamos que quieres controlar su intensidad en 8 pasos. Lo que puedes hacer es actualizarlo en ciclos de 8 actualizaciones. Digamos que desea establecerlo en el nivel 3 en una escala de 0 a 7. El equivalente binario de 3 (en representación octal) es 011. Por lo tanto, enviaría un ciclo de valores rojos que parecen 1,1,1,0 , 0,0,0,0. El LED estaría encendido durante 3 / 8ths de un ciclo, a pleno brillo cuando está encendido.
Ahora, digamos que tienes 100 LEDs. Tomará 13 595s para controlarlos. Los LED deben tener una frecuencia PWM mejor que unos 30-50 Hz, o parecerán parpadear, y más alta es mejor para los LED de colores. Digamos que corres a 60 Hz. Para actualizar toda la cadena de LEDs tomará 100 ciclos de reloj. Como cada PWM toma 8 ciclos, los 595s deben alimentarse a una velocidad de reloj de al menos 100 x 8 x 60, o 48,000 Hz. Para cada salida de datos, la computadora debe determinar qué píxel se está enviando, cuál es su valor y cuál debería ser el valor de PWM. Eso no es difícil a 48 kHz. Para 3 colores, la frecuencia de reloj efectiva debe ser 3 veces 48 KHz o 144 kHz. Todavía no está tan mal (probablemente). La velocidad del reloj físico puede permanecer a 48 kHz, ya que puede usar 3 líneas para datos, configurarlas y luego enviar un solo reloj a todas las 3 x 13, o 39 595s.
Pero digamos que quieres 256 niveles de intensidad. Ahora la velocidad del reloj debe ser de 256 x 100 x 60, o 1.53 MHz, y eso está empezando a parecer bastante dudoso. No solo eso, también puede utilizar esta velocidad de reloj físico para 3 colores, ya que puede usar 3 líneas de datos y marcar el 595s desde el mismo reloj. Pero. Para cada reloj físico, tiene que determinar 3 valores de color separados, calcular 3 valores PWM diferentes y emitir esos 3 bits a las líneas de datos. Y todo en unos 650 nseg.
Puede que encuentres esto como un desafío.