Paso 6: Matriz de LED de la multiplexación
Ahora conectar todos los pines de tierra de la matriz de LED a los pines 6 al 13 de Arduino. Aquí están las conexiones de pin:
fila 1 - Arduino D6 (digital pin 6)
fila 2 - Arduino D7
fila 3 - Arduino D8
fila 4 - Arduino D9
fila 5 - Arduino D10
fila 6 - Arduino D11
fila 7 - Arduino D12
fila 8 - Arduino D13
Y ejecute el siguiente código:
Debería ver el mismo patrón de LEDs iluminan de una fila a la vez (segunda imagen) ya que cada fila es uno con conexión a tierra. Ahora trate de disminuir el retraso, el patrón se moverá a través de las filas más rápido. Ahora eliminar totalmente el retraso, verá todas las filas encendidas en (lo que parece ser) mismo tiempo (tercera imagen). Aquí está un vídeo de demostración (esta vez, usando diversos patrones para iluminar cada fila, voy a explicar más sobre esto pronto):
Esto se denomina multiplexación. A pesar de que parece que estamos iluminando muchas filas de LEDs al mismo tiempo, sabemos que realmente estamos iluminación cada fila uno por uno, pero lo estamos haciendo tan rápido que nos hemos engañado los ojos pensando que todo está sucediendo al mismo tiempo. Multiplexación es útil cualquier momento quieren controlar muchas cosas con pocos pines. En vez de conectar cada LED individual, podemos multiplexarles y reducir los costos y problemas significativamente.
Ahora trate de enviar patrones diferentes a distintas filas:
Ejecutar este código lentamente al principio, vemos que una fila se envía un patrón y la fila siguiente se envía un patrón diferente, esto cambia a través de todas las filas de la matriz. Aquí es cómo estoy haciendo esto:
Si (pinNum%2==1){//is pinNum es impar
% se denomina "modulo", que es división, pero en lugar de devolver pinNum/2, devuelve el resto de dicha operación. Así que si pinNum = 6, pinNum %2 = 0, ya que va de 2 a 6 uniformemente. Si pinNum = 7, entonces pinNum %2 = 1. Esto me da una manera fácil de averiguar qué filas son números y cuales son impares. Con esta información, puedo enviar diferentes patrones a alternando las filas.
Ahora prueba a quitar el retraso desde el código. Debería ver un patrón de tablero de ajedrez surgen en la matriz de LED (Cuarta imagen). Por enviar un patrón diferente para cada fila y en bicicleta a través de las filas individualmente, puede controlar exactamente que LEDs de encendido y apagado. Haga lo siguiente:
Este código sólo establecerá A5 alto de fila conectada al pin 8. Esto se enciende solo un LED en la matriz (quinta imagen).