La multiplexación con Arduino - transistores (que hice en techshop) (4 / 7 paso)

Paso 4: Multiplexación por código

Para llevar a cabo la multiplexación te necesitará código de una determinada manera. Realmente no es complicado, permite decir que la fila es "dominante" sobre las columnas. Esto significa que el transistor de una fila se activa mientras que la columna de esa fila es funcionó a través de una vez. Después de mueve a la fila siguiente y hacer lo mismo una y otra vez hasta que se repite!

El problema con refrescantes los LEDs suficientemente rápidos como para no aviso es que no se puede tener un sistema sincrónico. Esto significa que no puede haber retrasos que duran por un largo período de tiempo. Así que si tienes un retraso de 1 segundo, donde cada vez las filas y las columnas son sólo mostrará que uno para todo el segundo.

La forma más fácil de lograrlo es utilizar dos funciones donde uno llama al otro varias veces. Ya que en este caso las filas son "dominantes" sobre columnas tenemos dos funciones permite llamarlos:
-Display_LED()
-Column_Load()

Así que aquí está un código de sudo:

void Display_LED (char, char b, char c).
{
Column_Load(a);
digitalWrite (transistor_pin1, HIGH);
Delay(1);
digitalWrite (transistor_pin1, bajo);

Repetir dependiendo del número de filas
}

Así que la función Display_LED anterior es la función de "dominante" para filas. Otra vez puede utilizar las filas o columnas como el dominante no importa. Primero llame a la función de la columna para activar los transistores o desactivar. Luego pones el transistor cierta fila alta. Tengo un breve retraso por lo que el LED está encendido para 1ms. Si se cambia a 1000ms realmente puede ver cada uno de los cambios. Eso es por qué no se pueden utilizar retrasos en el resto de su programa. Desde allí usted apaga el transistor y repetir el código con el cambio de a b y pasar a la segunda fila.

void Column_Load(char LEDs)
{
Si (LEDs_on == 0x07)
{
digitalWrite (colum1_transistor, HIGH)
digitalWrite (colum2_transistor, HIGH)
digitalWrite (colum3_transistor, HIGH)
}
}
Esta función es bastante simple, dependiendo del valor que el parámetro tiene fijar los LEDs como quiere. Si utilizas PORT_ y DDR_ es realmente más simple código a escribir que el uso de digitalWrites. En la mayoría de los casos puse el valle como un valor hexadecimal así si introducir un 0 x 03 que significa 1 LED y 3 Encienda mientras 2 está apagado.

El paso siguiente es un ejemplo de una matriz de LED 3 x 3 con las siguientes funciones anteriores. La única diferencia es las filas y columnas están invertidas.

Artículos Relacionados

Caja de sombra con las tiras que hice en TechShop

Caja de sombra con las tiras que hice en TechShop

Hola a todos, este es mi primer instructables. Hice esta caja de sombra en TechShop. Si su madera es 4s4 la clase sólo que tienes que tomar es la tienda de madera básica SBU. Para obtener más información acerca de TechShop visitan www.techshop.wsPaso
Arduino powered 7 seg pantalla LED con cambio de registros - hice en TechShop

Arduino powered 7 seg pantalla LED con cambio de registros - hice en TechShop

siete muestra segmentada es grande. Son bastante simples, no tener mucho poder y tienen mucha flexibilidad a la hora de mostrar números. Pero dejando de lado 14 pins al ejecutarlo es tal dolor. Si sólo había una manera de usar sin sacrificar tantos a
Arduino powered 7seg led pantalla con manipulación puerto - hice en TechShop

Arduino powered 7seg led pantalla con manipulación puerto - hice en TechShop

tiempo para algo un poco más avanzado. Manipulación de Puerto directo. Normalmente cuando se utiliza el software de Arduino, la lógica real de cambiar los valores en los pernos se abstrae lejos con digitalRead y digitalWrite. Ahora, para la mayoría d
Baratija cereza caja "Que hice en TechShop"

Baratija cereza caja "Que hice en TechShop"

Se trata de una caja pequeña baratija de cereza. Hice esta caja en www.techshop.ws en Chandler, AZ. Es un poco más grande que los planes de llamadas, pero sigue siendo una caja pequeña y fácil de hacer. Consta de dos partes, dos extremos, un fondo, u
Cenicero grabado que hice en techshop con láser.

Cenicero grabado que hice en techshop con láser.

Este es un corto cómo a tan usted puede ver lo fácil que es... La hice en techshop.Paso 1: Reunir su imagenConfigurar su imagen para la impresión... Imagen puede transferirse desde casi cualquier programa siempre y cuando tiene una función de impresi
Paracord de la plantilla "Que hice en TechShop"

Paracord de la plantilla "Que hice en TechShop"

Esta plantilla de paracord de álamo es se hizo en www.techshop.ws esta plantilla fue diseñada para facilitar la producción de varios artículos de paracord. Con esta plantilla soy capaz de pulseras artesanales, llaveros, y collares de perro hasta 16".
Potencia potencia bote de goma "Que hice en TechShop"

Potencia potencia bote de goma "Que hice en TechShop"

esto es un Instructable sobre cómo hacer un barco de la energía de caucho accionado windup.  He visto muchos tras los aeroplanos con una hélice.  He visto un montón de variaciones en barcos de la paleta como uno que hice para otro instructivo.  Rueda
Vaso de cristal grabado al agua fuerte que hice en Techshop con láser...

Vaso de cristal grabado al agua fuerte que hice en Techshop con láser...

Un láser de vaso de 12 oz vidrio grabado al agua fuerte...Paso 1: Importar artePoner en obra de casi cualquier otra foto o programa de arte... yo prefiero no usar un archivo de vector... Es mejor utilizar un archivo vector... corel draw o Photoshop i
Stemless copas de vino grabadas - que hice en TechShop

Stemless copas de vino grabadas - que hice en TechShop

de Navidad presenta este año, unos miembros de la familia querían stemless copas de vino.  En vez de ir con las gafas estándar de Crate & Barrel (que terminé usando para grabar), decidí grabar copas de vino personalizadas con un monograma en un lado
Bootloading y montaje Arduino Atmega328 - la hice en TechShop

Bootloading y montaje Arduino Atmega328 - la hice en TechShop

este Instructable muestra cómo bootload y Monte un Atmega328, Atmega328p o Atmega328p-pu para cualquier proyecto. Esto es una gran manera de ahorrar dinero comprando Atmega328 DIP microcontroladores de paquete en lugar de utilizar la placa de desarro
Portavelas simple "Que hice en TechShop"

Portavelas simple "Que hice en TechShop"

este fue mi primer proyecto he creado después de tomar la clase de láser cortador SBU en taller de tecnología. Me inspiré por esta vela titular Me decidí a hacer uno más grande que acomodaría las mayor 4" diámetro vidrio velas del tarro se encuentra
Madera placa de imagen (que hice en TechShop!)

Madera placa de imagen (que hice en TechShop!)

voy a compartir Cómo hice una placa de madera de cuadro en TechShop - www.techshop.wsPaso 1: Machimbradora / Cepilladora para suavizar el áspero corte madera a partir de un corte áspero trozo de madera, que es menos costoso, utilizar la fresadora par
Handcarved amor cuchara "Que hice en TechShop"

Handcarved amor cuchara "Que hice en TechShop"

Hice estas cucharas de amor talladas a mano en www.techshop.ws. Cada cuchara es diferente y cada cuchara tiene su defecto. Prefiero tener defectos por lo que las cucharas no aparecen como si masa fueron producidos en una fábrica. Las fallas también d
Banco de jardín (que hice en Techshop)

Banco de jardín (que hice en Techshop)

Este es un proyecto bastante fácil y a un coste mínimo. Fui más allá y funcionó las tablas a través de un carpintero y un cepillo, luego routered los bordes. Esto es bastante bajo a la tierra, aproximadamente de 8", pero todavía bastante fresco.Paso