Paso 4: Diseñar los controladores
Aquí vamos a discutir cómo hardware nos ayuda a resolver los problemas anteriores y analizaremos el truco de software un poco más tarde.
Así que sé que mi LED Etch-a-Sketch requerirá cuatro 8 x 8 matrices de LED. Significa que tengo 256 LEDs que necesitan ser abordadas individualmente. Es muy poco. ¿Que hacemos? Bueno lo primero que necesitamos entender cómo funciona la matriz de LED. La matriz particular que utiliza se llama una matriz de LED de cátodo común. Puede hacer comprender lo que esto significa si agrego algo al nombre. Permite llamar una fila de cátodo común LED. Ahora sabemos que todos los cátodos de cada fila están en la misma línea (ver la primera imagen). Esto nos permite controlar un solo LED simplemente suministrando un voltaje positivo a la columna y en la fila correspondiente al LED que queremos iluminada. Por ejemplo si queremos que el LED de la luz en (4.4) se aplicaría tierra y un voltaje positivo a la columna 4 fila 4 como se ve en la segunda imagen. De esto sabemos por lo tanto necesitamos controlar todas las líneas de columna. Pero ¿qué pasa con las líneas de fila? Si a todas estas a tierra habían atado entonces nunca podremos tener diodos LED encendido de cada fila. Esto nos indica que necesitamos también para el control de las líneas de fila.
Veremos en la pantalla como una pantalla de 8 x 32 16 x 16 que es cómo se conectarse a. Puede ver esto en la tercera imagen de arriba. Para controlar un display de este tipo necesitamos controlar 32 líneas para las columnas y 8 para las filas. Control de fila no es ningún problema; Tenemos ocho pines disponibles para nosotros en la uC. Lo único que se preocupa es cómo la corriente se hunden sin dañar la uC. Voy a encarar en un segundo. Pero primero vamos a averiguar cómo vamos a 32 líneas de control cuando claramente no tienen 32 pines uC disponibles.
El truco es usar el registro 74HC595 práctico de serie-en paralelo-hacia fuera 8 bit shift, o, como referiré a él de ahora en adelante, la 595. Este IC nos permite enviar en serie un byte de datos se almacenan en el registro y luego, cuando señaló que los datos aparecerán en paralelo (simultáneamente) en los pines de salida. También permite múltiples 595s en cascada o conectados juntos para aceptar una entrada mayor de 8-bits. No voy a enviar tiempo discutiendo la teoría detrás de este dispositivo, ya que hay muchos recursos disponibles en línea que lo hará. Pero en este punto estoy seguro de que se puede adivinar dónde vamos con esto. Si estamos juntos cuatro de estos 595s cascada en serie podemos controlar todas las líneas de columna 32 con pocos pines de uC.
Rápidamente volvamos a las filas. Como se mencionó anteriormente tenemos que tener cuidado de no enviar todos la corriente a través de la uC a tierra por lo que vamos a utilizar un ULN2803 en cada matriz. Esto nos permitirá controlar las líneas de fila al mismo tiempo que se hunde la corriente.
Vamos a hablar sobre cómo estos ICs se utiliza en conjunción con el software para controlar con éxito el las matrices de LED. Pero primero hagamos que todo cableado correctamente.