saludos señores, soy bruno de peru, estuve leyendo casi todos los post, muy interesantes y utiles, y use algunas ideas para hacer mi matriz, es de 40 x 7 leds (fila anodo), y pues para resolver el problema de que al usar transistores si todos los leds se encienden el brillo bajaria, realize un barrido adicional, es decir, en vez de mandar la configuracion de fila de 7 en 7 por cada columna, hice que el programa hiciera cada fila a la vez.
pondre un ejemplo, toca encender en un instantes la columna 2, entonces en la fila uno, si el led debe encenderse, lo enciendo mientras los demas estan apagados, en el segundo instante, toca la fila 2, si el led debe encenderse, se enciende mientras el led de la fila 1, 3,4,5,6,7 estan apagados, asi hasta terminar toda la fila, luego sigo con la columna 3 y etc