El programa que vamos a incluir en esta entrada sólo pretende ser una primera aproximación al multiplexado de la matriz de LEDs, para que podamos visualizar la imagen que deseemos. En este ejemplo, dibujaremos una X con los LEDs:
/* multiplexadoFacil.ino
* Dibujamos una X en la matriz de LEDS
* Estos son los pines a los que están conectados
* cada uno de los LEDs, entre paréntesis los que
* hay que encender:
* (26-3) 27-23 26-4 27-24 (26-10)
* 28-23 (28-24) 28-25 (28-9) 28-7
* 27-4 26-6 (27-10) 28-6 27-3
* 26-7 (26-9) 26-25 (26-24) 26-23
* (28-10) 27-9 28-3 27-25 (28-4)
*/
void setup() {
pinMode(26,OUTPUT); //Programamos los pines
pinMode(27,OUTPUT); //como salidas.
pinMode(28,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(24,OUTPUT);
}
void loop() {
digitalWrite(26,HIGH); //activamos la fila 1 (interna)
digitalWrite(3,LOW); //encendemos los LEDs de esa fila
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(24,LOW);
delay(1); //esperamos 1 milisegundo
digitalWrite(26,LOW); //desactivamos la fila 1
digitalWrite(3,HIGH); //y apagamos los LEDs
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(24,HIGH);
digitalWrite(27,HIGH); //activamos la fila 2 (interna)
digitalWrite(10,LOW); //encendemos los LED de esa fila (sólo uno)
delay(1); //esperamos 1 milisegundo
digitalWrite(27,LOW); //desactivamos la fila 2
digitalWrite(10,HIGH); //y apagamos el LED
digitalWrite(28,HIGH); //activamos la fila 3 (interna)
digitalWrite(4,LOW); //encendemos los LEDs de esa fila
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(24,LOW);
delay(1); //esperamos 1 milisegundo
digitalWrite(28,LOW); //desactivamos la fila 3
digitalWrite(4,HIGH); //y apagamos los LEDs
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(24,HIGH);
}
Si vamos aumentando los tiempos de la instrucción delay podremos comprobar como se obtiene la X por el multiplexado de las tres filas internas de la matriz de LEDs.
Mas adelante volveremos sobre estas cuestiones.
No hay comentarios:
Publicar un comentario