Paso 2: teoría
Antes de profundizar en la cabeza primero, pensé que podría explicar un poco de cómo funciona esta cosa. Para aquellos de ustedes que quiere iniciar, puede saltarse esta sección y volver más tarde si quiere aprender la teoría.Para este proyecto, quería hacer un fader de arco iris de tira de LED RGB 15. Esto será finalmente montado en un marco de imagen y montado en la pared como un humor ligero (en un Instructable más adelante). Para cambiar el color de cada tira, debemos rápidamente aumentar o disminuir el brillo de los canales RGB de cada LED. Hay muchas maneras de hacer esto. La forma más eficiente de hacerlo es a través de modulación por ancho de pulso (PWM). Esto puede sonar como una palabra, pero es realmente absolutamente un concepto fácil de entender. Como con la mayoría de los LED, estos LED RGB tiras normalmente tiene dos opciones de color por canal: ON u OFF (algo así como ese monitor en la manzana de nuevo en la escuela primaria). Pero ¿qué pasa si nos decidimos rápidamente apagar el LED entonces otra vez, muchas veces por segundo? Resulta que el ojo humano ve todavía el LED, pero no verlo a activar o desactivar. Simplemente parece menos brillante. Este es el concepto básico de PWM. Girando en y otra vez y a tasas muy rápidas, el ojo humano no podría ser más sabio en la determinación de si el LED está encendido o apagado. Simplemente parece como si se descolora entre los niveles de brillo.
Si hemos hecho canal rojo el primer LED se desvanecían en canal verde, se vería como se descolora de rojo, naranja, amarillo, verde. Si hiciéramos esto con su canal azul, pronto tenemos todos los colores del arco iris, pero sólo quiso que a desaparecer cada color del arco iris en una tira de LED RGB. ¿Ahora lo que si hicimos esto en síncrono con todos los LED RGB tiras? Es donde se registra el cambio entran en juego.
Como todas las comunicaciones digitales trabajan con 0 y 1 (alto y bajo o ON y OFF), necesitamos una manera de decir a cada uno de los cables a convertirse ON o OFF y bastante rápidamente. Por suerte el registro de desplazamiento fue diseñado para este propósito. Básicamente le decimos a la Arduino una cadena de 0 y 1 y alimenta en los registros de cambio. Cuando un registro de desplazamiento completo, pasa los 8 primeros dígitos que fue alimentado a él en el Registro siguiente, y así sucesivamente hasta que todos los 6 registros les dice qué hacer. Piense en ello como una fila de asientos en una sala de cine. Cuando alguien entra primero en la fila, van al último asiento hasta que todos ellos están llenos. Cuando nuevas personas quieren un asiento, la primera persona que entró ahora levanta y hojas (para el siguiente registro de desplazamiento). Todo el mundo entonces se mueve sobre una silla y la persona nueva puede ahora sentarse. Esto es similar a cómo un cambio de registro de obras. Podemos hablar con todas las tiras de LED RGB de esta manera.
Pero entonces ¿cómo hacemos este trabajo de solo 3 pines digitales del Arduino? Volviendo a la fila de asientos en una comparación de teatro de la película, sabemos que sólo necesitamos un cable para enviar de 1 y 0 para el LED RGB tiras (la línea de las personas). Pero los registros de cambio dos pines más, uno para el reloj y uno para la clavija de enganche. Los pasadores de reloj es bastante explica por sí mismo. Es esencialmente una forma de decir el registro de desplazamiento rapidez están ocurriendo cosas, mucho como el reloj de 16MHz dice el Arduino es tiempo propio. La clavija de enganche juega un papel fundamental con los registros de cambio. Dice el registro de desplazamiento cuando estamos listos para escribir, y cuando terminamos escribiendo a él. Sin pin, datos constantemente volaría hacia fuera el extremo de las hileras, al igual que nuestros clientes de mala película si alguien decidió arado de vapor a través del pasillo. Esto sería igual de mal para nuestros clientes de película como sería para la electrónica. Este pin guarda los datos en el registro hasta que esté listos para escribir en él.
Pero, ¿los ULN2803? ¿Qué demonios son esas cosas para? Bueno, lamentablemente los LEDs RGB funcionar con 12V y el registro de desplazamiento funciona con 5 VDC. Para evitar estas limitaciones, se alimentación 12VDC en el Arduino y el acceso a través de su pin 'Vin' para el RGB LED de la energía y el cambio de registros para controlar el ULN2803 (que son como 8 transistores NPN Darlington en una viruta del gloriosa de genialidad!). La belleza de estos son que tienen un emisor común, que significa si conecte un LED RGB que tiene un ánodo común y conectar el ánodo a + 12V y enchufe cada cátodo de los coleccionistas del ULN2803, entonces cuando les enciende con los transistores cierra el circuito y a tierra los cátodos, asegurándose que el LED se encienda. (* Ufff * que fue una oración larga.)
Suficiente charla del chit, tenemos una RainBoard para hacer!