Paso 6: Escribir el Software
De ninguna manera estoy software inclinado. Utilizando los ejemplos básicos de TLC5940 puede resultar en algunos efectos muy cool. He tomado algunos de estos ejemplos y modificado para usos particulares. Dirígete al siguiente enlace para descargar la biblioteca de código fuente para el IDE de Arduino.
http://code.Google.com/p/tlc5940arduino/
Prueba primero por la carga de un ejemplo. En el ejemplo se desvanece tiene un efecto muy chulo, este era mi favorito para empezar con. Insisto en que prueba antes de instalar porque experimentar unos fracasos de LED en todo el proceso, y no queremos ser desoldar los componentes y cableado de circuitos mientras que el proyecto está dentro de nuestro ordenador (si no tenemos a).
Si ves luces de colores, al encender - estás apagado a un buen comienzo. Que he proporcionado un pequeño puñado de ejemplos que muestran lo fácil que es adaptar los ejemplos de código fuente TLC5940 y modificarlos a sus propias necesidades. Ejemplo, hacer el LED puro azul para dar cabida a otro acento de iluminación en mi habitación - cuando los tengo en azul-mi equipo coincidirá con la iluminación de acento de mi habitación.
En otro ejemplo, se desvanecen los LEDs de un color al siguiente y lazo este código para que el equipo se desplazará a través de diferentes colores. Hay muchas maneras para lograr cualquier efecto que está buscando, su mente y la creatividad son el límite. Mis habilidades ineptos para el diseño de software pueden ser impresionantes y en eso estoy esperando que algunos de ustedes ahi se tomar este proyecto y compartir tus propios efectos de software! Tengo curiosidad por ver qué otros pueden venir para arriba con.
Desglose de:
Variables:
mils - tasa de Fade
PASO - tamaño de paso de escala de grises
RC - referencia Color
r - Variable rojo
g - Variable verde
b - Variable azul
Para simplemente probar y desarrollar el nuevo color se descolora - he definido dos variables de control en la parte de configuración de nuestro código, mils y paso.
Mils controla el tiempo de retardo en el bucle - incrementando el valor de mils, aumentar el retardo entre iteraciones de bucle y disminuir la tasa a la que nos se desvanecen nuestros LEDs. Al disminuir el valor de mils, disminuir el retardo entre iteraciones de bucle y aumentar la tasa a la que nos se desvanecen nuestros LEDs.
PASO controla el tamaño de paso de escala de grises para cada iteración del bucle. Incrementando el valor del paso, aumentamos el tamaño de paso de nuestro código de escala de grises, por lo que nuestros LEDs tomar pasos de incremento más grandes y más rápido se descolora. Disminuyendo el valor del paso, nos reducir nuestro tamaño de paso de nuestro código de escala de grises, por lo que nuestros LEDs tomar pasos más pequeños y descolorarse más lento.
RC es nuestro color de referencia. Al combinar combinaciones de LED, el color de referencia será nuestro color más brillante. Entonces podemos hacer el color secundario más pequeño que la RC, mediante una función matemática (o mayor) - esto nos permitirá establecer diversas tonalidades con más facilidad y control.
R, B y B son, en definitiva, la variable que contendrá el código de escala de grises para cada conjunto de LEDs azul, verde y rojo. Un valor de 0 en la variable será igual al LED está apagado, mientras que un valor de 4095 será de máximo nivel de luz para LED.
Estructura :
Para la estructura, uso un simple bucle for. Qué hace el bucle primero es inicializar nuestra variable tres: r, g y b a un estado fuera de 0. Luego inicializamos nuestra variable de color de referencia RC a 0, también apagado. El lazo entonces dirá, para cada iteración (cada instancia el bucle realiza 1 ciclo), se verá en el RC. Cuando RC es igual a un valor de entre 0 y 4095, agregamos el valor de paso a nuestra variable RC. Si paso contiene un valor de 1, la RC paso un valor de 1 código de escala de grises por iteración del bucle. Luego escribimos el valor de escala de grises contenido en la variable RC a nuestras variables de R, G o B escrita a nuestro LED. En este caso, estoy usando rojo como nuestro ejemplo. Hacer, a través de la función matemática, r = RC que hace nuestra variable r mantener ahora el valor nivel luz real, en términos de código de escala de grises, a ser actualizado a nuestros canales de TLC y salida a nuestro LED.
Luego actualizamos el TLC, que las salidas siguen nuestra variable configurado - e introducir un pequeño retraso. El lazo entonces volver al principio y comenzar el proceso de encima hasta que r alcanza un valor de 4095 (máxima luminosidad).
A continuación, revertir este código con alguna pequeña manipulación - y correr el código hacia atrás - atenuación nuestro rojo LED atrás abajo a. Entonces el ciclo se repite.
#include "Tlc5940.h"
void setup()
{
TLC.init();
#define mils 10
#define paso 1
#define rojo
}
void loop()
{
Hay 4095 pasos sobre 0 a máxima en 4095.
Referencia Color definido como RC
El color que le gustaría ser el color dominante será el color de referencia
Secundarias colores tenues para ser combinado se podrá consultar a RC
int r = 0;
int g = 0;
int b = 0;
para (int RC = 0; RC < 4095; RC = RC + PASO) {}
r = RC;
LEDs rojos
TLC.set (0, r);
TLC.set (3, r);
TLC.set (6, r);
TLC.set (9, r);
TLC.set (12, r);
TLC.set (15, r);
TLC.set (18, r);
TLC.set (21, r);
LED verde
TLC.set (1, g);
TLC.set (4, g);
TLC.set (7, g);
TLC.set (10 g);
TLC.set (13, g);
TLC.set (16 g);
TLC.set (19, g);
TLC.set (22, g);
LEDS azules
TLC.set (2, b);
TLC.set (5, b);
TLC.set (8, b);
TLC.set (11, b);
TLC.set (14, b);
TLC.set (17, b);
TLC.set (20, b);
TLC.set (23, b);
TLC.Update();
Delay(mils);
}
para (int RC = 4095; RC > 0; RC = RC-PASO) {}
r = RC;
LEDs rojos
TLC.set (0, r);
TLC.set (3, r);
TLC.set (6, r);
TLC.set (9, r);
TLC.set (12, r);
TLC.set (15, r);
TLC.set (18, r);
TLC.set (21, r);
LED verde
TLC.set (1, g);
TLC.set (4, g);
TLC.set (7, g);
TLC.set (10 g);
TLC.set (13, g);
TLC.set (16 g);
TLC.set (19, g);
TLC.set (22, g);
LEDS azules
TLC.set (2, b);
TLC.set (5, b);
TLC.set (8, b);
TLC.set (11, b);
TLC.set (14, b);
TLC.set (17, b);
TLC.set (20, b);
TLC.set (23, b);
TLC.Update();
Delay(mils);
}
}
Si todo ha funcionado, y ahora entiendes el hardware y el software detrás del diseño - entonces ahora es tiempo de instalar los ventiladores en su computadora y comenzar a disfrutar de los beneficios. El proceso de instalación es simple, como se instalar con cualquier otro ventilador de PC - sólo ahora tenemos un circuito que oculte.