Matriz de Led usando PIC

5

Para un proyecto en el que estoy trabajando, quiero construir una matriz de LED monocolor de 9x9 también con 9 botones para controlar los LED utilizando el PIC. Hasta ahora me he dado cuenta de que creo que necesitaré registros de desplazamiento para conducir los cátodos y los chips de registro de desplazamiento para activar transistores discretos para los ánodos. También necesitaré registros de desplazamiento para las entradas del botón pulsador (corríjame si me equivoco).

Estoy teniendo problemas para buscar información relevante en línea (por ejemplo, qué componentes elegir), ¿alguien puede darme algunas ideas para investigar o cualquier consejo relevante sería de gran ayuda? Gracias

    
pregunta Daniel

1 respuesta

5

Supondré que desea controlar el ánodo común de la matriz, es decir, una línea de ánodo a la vez.

Ya mencionó los transistores para los ánodos, y eso es correcto, los necesitará porque tendrá que suministrar corriente para hasta 9 LED a la vez, y eso es demasiado para un IC lógico como un cambio de 74HC595 registro. Eso será 9 transistores PNP.
Pero también necesitarás transistores para los cátodos; desea controlar hasta 9 salidas bajas simultáneamente, y a 20 mA por LED (un valor típico) es demasiado para un 74HC595. Eso es 9 transistores NPN.

Tienes que controlar 18 líneas, por lo que puedes usar tres 74HC595 para eso, donde cambias en 18 bits para cada fila de exploración: 9 bits para seleccionar la línea del ánodo, que es 1 bit bajo, el resto alto y 9 bits para los cátodos, alto para encendido, bajo para apagado.

La buena noticia es que no necesita un registro de desplazamiento separado para los botones: conecte cada uno de ellos a una línea de ánodo, con los otros pines unidos a una entrada, y conecte una resistencia desplegable en esa entrada .
Ahora, cada vez que escanea una línea de ánodo puede ver en la entrada si se presiona el botón de esa línea; entrada alta = presionada, entrada baja = liberada.
Si espera que los usuarios presionen dos botones a la vez (¡siempre lo harán!) Tendrá que poner diodos en serie con los botones para evitar que se enciendan otras filas de LED que la seleccionada.

editar re tu comentario
En su boceto tiene las resistencias de los LED en las columnas, lo cual está bien si conduce. la pantalla muestra una fila a la vez. De lo contrario, la resistencia compartirá la corriente de todos los LED en una fila, y el brillo variará con el número de LEDs que están encendidos. En mi esquema a continuación, los moví a las filas, de modo que cada LED tenga su propia resistencia.

Los círculos representan los LEDs. La entrada del microcontrolador será bajada por la resistencia. Si se presiona uno de los botones, la entrada será alta cuando se seleccione la columna asociada. Así que en cada escaneo de columna puede verificar el estado de un botón. Los diodos evitan la iluminación de los LED en otras columnas que no sean la activa si se presiona más de un botón simultáneamente.

    
respondido por el stevenvh

Lea otras preguntas en las etiquetas