El mejor ejemplo que se me ocurre es la "Peggy", una pantalla de pizarra de emisión de luz . Es una pantalla matricial de 25x25 LED accionada por un ATmega168 (que es compatible con pin con el ATmega328)
La página wiki tiene mucha buena información. Incluyendo un esquema detallado.
Hay algunas cosas que notar en su diseño.
Por un lado, usan una configuración de ánodo común de fila. Esa es la fuente actual está en la fila, y se hunde en la columna. Tienes el tuyo en fila cátodo común. No hay nada inherentemente correcto o incorrecto en ninguno de los dos diseños. Solo algo a tener en cuenta a la hora de diseñar tu circuito. Si usa leds discretos, solo significa voltear las conexiones de led. Si utiliza una matriz de LED precompilada, es algo importante que debe saber. (Supondré que puede cambiar fácilmente el orden para que coincida con el esquema de peggy. Si no, simplemente cambie la columna por fila en su cabeza)
Utilizan 74HC154 4-16 decodificadores / demux chips para la selección de fila. Ya que solo necesitas 10 filas (o cols) puedes salir con solo una. Por supuesto, está el tema de la corriente. En su caso, a 10 x 30mA = 300mA mínimo. Para resolver ese problema, utilizaron 2STX2220 transistores PNP que serán capaces de obtener una fuente a 1.5A por fila. Un poco más de matar en tu caso. Ya que solo usará estos como interruptores de selección de fila, cualquier otro transistor pnp que pueda generar su corriente máxima debería funcionar igual de bien. Eche un vistazo a Circuitos de transistores para averiguar qué valores de resistencia necesitará para las operaciones completas de encendido / apagado.
En el tablero de Peggy, para el controlador de sumidero de columna utilizan un STP16DP05 . Pero he encontrado estos difíciles de encontrar y caros. Hay muchas otras alternativas, como las TLC5916 , que utilizan una entrada en serie y se pueden conectar en cascada fácilmente. Si no es así, una búsqueda digital de un controlador de fregadero led dará muchos resultados.
De forma alternativa, como ya tiene arrays ULN2803 , puede usar dos de estos con una Resistencia de límite de corriente única por columna. Eso es un montón de pines, así que tendrás que ser creativo, pero también podría funcionar para el sumidero de la columna.
Avago publicó una buena nota de aplicación titulada "Introducción a las matrices de LED de conducción" . Cubre esto y algunas otras cosas.