No puedes usar Charlieplexing con ánodo común, ni cátodo común. Necesitas tener los ánodos / cátodos en cada pin.
Una solución relativamente simple en su caso sería adquirir un par de registros de turnos, el 74HC595 te da 8 salidas adicionales al costo de tres pines en el ESP32. Puede conectar en cadena el 74HC595 y tener 16 salidas adicionales y aún solo pagando un total de tres pines en el ESP32.
Para cubrir 75 LED, usarías 75/8 = > 10x 74HC595.
Si en cualquier momento usted tendrá solo un LED activado (que Charlieplexing le obligaría a hacer), entonces puede salirse con una sola resistencia, que se encuentra entre el ánodo común y su suministro de voltaje.
Si en algún momento usted tiene varios LED activados (que puede hacer con 74HC595), entonces debería colocar una resistencia para cada LED. En otras palabras, entre cada pin en su 74HC595 y sus LED. Si hace lo que dije primero, con un solo resistor, entonces los LED se oscurecerán a medida que se activen los LED. Pero con un resistor para cada LED, el brillo permanecerá igual independientemente de si tiene 1 o 30 LED activados.
Actualizar
Después de ver la respuesta de Transistor, me di cuenta de que obviamente tienes 25 LED RGB = 4 pines cada uno. No es una matriz grande de 5x5 con un solo ánodo común, como pensé al principio.
Esto significa que realmente puedes resolver esto de una manera mucho mejor de lo que te propuse por primera vez.
Esto es lo que haría si fuera tú:
- Conecte cada pin rojo de los 25 LEDs juntos
- Conecte cada pin verde de los 25 LED juntos
- Conecte cada pin azul de los 25 LEDs juntos
- Use 4x 74HC595 en lugar de 10, obtendrá 32 pines
- Conecte una resistencia de 220 Ω en 25 de las 32 salidas del 4x 74HC595
- Conecte los ánodos de los 25 LED a esas resistencias
- Conecta el rojo & verde y amp; azul a algunos pines restantes en el último 74HC595
De nuevo, solo tomará 3 pines en tu ESP32, pero solo 4x 74HC595 en lugar de 10. Y 25 resistencias en lugar de 1 resistencia, o 75, según cómo lo hagas.
Una cosa muy importante a tener en cuenta, como lo mencionó Transistor, es que los diferentes LED tienen diferentes tensiones directas. Esto significa que 220 make hará que el LED rojo también brille y los otros dos serán más débiles porque tienen una mayor caída de tensión directa. Esto, a su vez, significa que cualquier esquema de modulación que esté implementando debería dar menos tiempo al rojo. Y no debes usar rojo, verde o azul al mismo tiempo. Solo puede activar un LED (alimentando su ánodo a través de su resistencia) a la vez.