Cadena humor-luz mediante LEDs RGB de alta potencia (9 / 11 paso)

Paso 9: Conectar la lámpara principal

Las lámparas de esclavo no funcionan sin el tablero principal. Puede ser una buena idea hacer primero la lámpara principal de trabajo, antes de ensamblar a todos los esclavos, pero debo haber te dije que anterior abrir I. ¡ Oh bien, estoy seguro que usted descubrió usted mismo.

Lo único diferente de la lámpara principal para las lámparas del esclavo es que es un microcontrolador diferente (o también puede utilizar arduinos en todas las lámparas de esclavo y cargar el código de esclavo (adaptada) a las lámparas de esclavo). También es la única lámpara que tiene un conector USB y un receptor de infrarrojos.
He quitado la toma mini USB original del tablero y utiliza envoltura cable (los otros cables pequeño estará bien) para conectarlo con cable de 5cm entre. Utilicé la herramienta dremel para hacer un orificio en la lámpara a la toma usb, por lo que puedo actualizar el software principal sin necesidad de abrir la lámpara. En el lado opuesto, hice un hoyo lo suficientemente grande como para el receptor de IR pero lo suficientemente pequeño como para que desde fuera parece sólo un pequeño botón negro. Es una buena Idea para colocar el receptor IR sobre en el medio entre la costura de las dos mitades y la parte inferior de la lámpara.
Conecte el receptor IR a GND, 5V y la salida de la señal al pin al pin digital de arduino 8 (que está vinculada con la interrupción de la captura de timer1 de entrada).

Conectar el transistor NFET para Arduino: Conecte la puerta al pin digital 13 y la fuente a tierra. El drenaje se conecta a la entrada negativa del ventilador. Conecte la entrada positiva del ventilador al pin de 5V de Arduino. Sí, es un ventilador de 12V pero en 5V crea suficiente flujo de aire para mantener el LED enfriado y no crea casi ruido. Si tu ventilador no funciona a 5V, conectarlo a la línea de 12V (que también es válida para todas las lámparas de esclavo por cierto).

Uso dos 1.5 k Ohm resistencias y conectarlos como pullups: uno de SDA (pin analógico 4) 5V y uno de SCL (pin analógico 5) a 5V. Se trata de finalizar para el bus de comunicación I2C. Si se les olvidan, no funciona la comunicación serial. No utilice pullups interno de Arduino, son demasiado débiles (ignorar esta frase si no sabes de los pullups interno de Arduino, son activados por el software y no importa si son activados o no si la soldadura externa pullups).

Las señales PWM se generan usando (rojo y verde) de timer1 y timer2 (azul). Las clavijas de control son pin digital 9 (rojo), pin digital 10 (verde) y pin digital 11 (azul).
Timer1 es un temporizador de 16 bits, dando pasos de color 65'536, que es más que suficiente (por encima de 12 bits no puede ver cualquiera "saltos de color" cuando oscurecimiento) pero sólo un temporizador de 8 bits timer1. Al principio tuve tanto funcionar en modo 8 bits pero que parecía un poco cutre porque nuestros ojos son logarítmicos y el LED es lineal, lo que significa que percibir un cambio de 2 a 4 como un cambio mayor en el brillo de un cambio de 200 a 255. En realidad los 256 pasos de brillo, cuando se hace en una forma logarítmica sólo dan sobre valores de color de 12-13 (en teoría, en realidad es un poco más) por canal, resultando en un total de 13 ^ 3 = 2197 colores distinguibles. Parece mucho pero no es.

Voy un poco en detalle sobre el código ahora, si no estás familiarizado con la materia de tiempo y temporizador de hardware, saltarla.
He buscado en la web durante unas horas tratando de encontrar un método software para aumentar el temporizador de 8 bits, pero todos ellos introducen errores jitter debido al retraso del software, que se traduce en frecuente parpadeo de un led que no es aceptable. Luego se sentó y escribió mi propio código para obtener una mayor resolución. He encontrado que para los valores más bajos, retrasos de software son demasiado lentas, también las interrupciones no son lo suficientemente rápidas (estamos hablando de simple precisión del reloj cpu aquí). Se podría tal vez haber hecho en ensamblador pero no quiero ir por ese camino, no Señor.
En su lugar utilicé un truco (que descubrí por casualidad y ahora estoy muy orgulloso de) que los temporizadores no se actualizan inmediatamente las comparan igualar registro pero tiene un buffer, actualización en el desbordamiento de contador de tiempo siguiente. Con esto en mente, yo use el desbordamiento del timer2 para sincronizar y verificar alarmas y puede hacer un up al temporizador de 16 bits de cualquier temporizador de 8 bits, pero también puede tener que ser 12bits o 13bits. Esto agrega mucha carga de CPU, pero el maestro lámpara sólo debe escuchar el IR, enviar comandos y generar PWM, que todos en su mayoría se realiza en hardware así que hay tiempo suficiente de hacer cálculos y color cosas mientras tanto. Con un arduino CPU reloj de 16Mhz y un prescaler del temporizador de 8 (con un prescaler de 1 la carga de CPU es muy alto debido a interrupciones cada garrapata 256 temporizador) la frecuencia PWM es 2MHz/(2^13) = 244 Hz (para las lámparas de esclavo es sólo 122 Hz ya que ejecuta a 8 Mhz) que es fina (100 Hz es el mínimo para obtener luces libres de parpadeo).

Bueno, así que tenemos una combinación de software y hardware salida PWM con una resolución de 13 bits, dándonos 8191 medidas de color lineal para cada lámpara, esto nos da 254 pasos logarítmicos (la resolución es realmente muy alta y los valores más bajos utilizan el mismo número de pasos de temporizador) dando por resultado diversos colores de 16'387 ' 064. Esto permite cambios de color agradable y suave.

OK, lo suficiente acerca de la teoría del código y el color. Conectar la fuente de alimentación de 12V para el arduino. Tomar el cable de alimentación y poner a través de uno de los dos orificios más pequeños en la parte inferior de la lámpara. Conectar a la entrada de CA de la fuente de alimentación de 12V, asegúrese de utilizar tubería en las juntas soldadas del cable del encogimiento del calor. Arreglar toda la electrónica muy bien en los dos tazones de fuente de madera y fijarlo con pegamento, como se describe para las lámparas del esclavo. Comprobar que las líneas de 230V están aseguradas y bien aisladas. Ahora usted puede enchufar (yo uso un cable de extensión con un switch, también de IKEA). Ser muy cuidadoso ahora, la lámpara tiene todavía algunos lugares (en la fuente de alimentación) con las piezas expuestas 230V.

¿No funciona como se esperaba? Gotcha. Necesita comentario todos updatelamp(x); ordena el código de arduino (también de todas las funciones!), con x siendo 1 a 5 (sólo actualización de lámpara de 0, el maestro). Los comandos updatelamp esperan la adecuada respuesta del esclavo e intentan enviar comandos si no, por lo que el programa cae en un bucle infinito. Usted puede poner en un tiempo de espera en el comando de updatelamp si lo desea, no quería hacerlo ninguna lámpara omite cualquier color.
Oh y mientras se trabaja en la lámpara principal, tres resistencias de telecine (a tierra) de deja decir alrededor de 2k ohmios en cada uno de los pines de señal PWM. Me olvide de hacerlo y durante el arranque de la arduino la lámpara principal parpadea la luz blanca brillante durante aproximadamente medio segundo, cual would't si no había olvidado los jalones...

Si todo está funcionando, es ahora tiempo para conectar los esclavos. Espero que marcó que programado con la dirección del esclavo número uno.

Nota: sé que todavía hay algunos errores en el código, si encuentra uno, por favor informe a mí (y si sabes cómo arreglarlo, me dicen). También mis habilidades de programación son moderados en el mejor y el código es un desastre pero he intentado añadir en comentarios en la mayoría de las líneas (puede ser en alemán en algunas partes, lo siento por eso). Sigue siendo un trabajo en progreso (que código ¿no?) y no completamente limpia.
Adiciones o sugerencias para el código son bienvenidos.

Artículos Relacionados

Lógica difusa humor luz con LEDs

Lógica difusa humor luz con LEDs

en este instructable voy a hacer un humor rojo luz de cosas tuve que usar cosas encontré alrededor de la casa.Después de una noche particularmente larga, torpe entretenimiento empresa me encontré que necesitan una fuente de luz de baja potencia de la
Mini media gama inalámbrica alta potencia FM MIC

Mini media gama inalámbrica alta potencia FM MIC

Hola, queridos lectores esta vez estoy aquí con un simple pero potente FM Mic. Esto es muy muy fácil de operar y su ira está sobre 500 metros en circunstancias normales. Puede ser escuchado desde y FM de radio o incluso de la TV usted también. Su fre
Alta potencia RGB LED Moodlamp que sincroniza con Philips Hue

Alta potencia RGB LED Moodlamp que sincroniza con Philips Hue

en este instructable el foco principal se encuentra en el software que he creado - no tanto en el lado del hardware. Usted no necesita utilizar una alta potencia led para esto, se puede utilizar cada RGB - LED que te gusta.La "alta potencia RGB LED M
Luz de LED, juego y guitarra reactiva!

Luz de LED, juego y guitarra reactiva!

DIY por: Michael GoodmanHola todo el mundo!¿Cualquier músicos por ahí que quieren hacer un muy divertido proyecto para hacer su luz hasta las notas que tocas guitarra!? Si lo revisa mi video tutorial. Si tienes cualquier duda me avisas, estaré más qu
Luz Luxeon LED bicicleta

Luz Luxeon LED bicicleta

este instructable describe la construcción de una luz de bicicleta con tres LEDs de Luxeon de 3W. Este proyecto tenía tres objetivos principales. 1.) hace una luz conveniente para el uso en carreras de bicicleta de montaña de 24 horas. 2.) uso dispon
Usar Arduino con transistor TIP120 control motores y dispositivos de alta potencia

Usar Arduino con transistor TIP120 control motores y dispositivos de alta potencia

Hola de nuevo.¿Así que tienes una lámpara o el motor de la C.C. pero no importa cómo se conecte a tu Arduino simplemente no funcionan? Adivina qué, el Arduino es un cerebro que viene con pequeños músculos. Puede controlar LEDs y otras baratijas de ba
Marcar fácil y barato controla alta potencia RGB LED controlador

Marcar fácil y barato controla alta potencia RGB LED controlador

Puede haber un montón de controladores de LED RGB por ahí, pero éste es un poco diferente, su versátil, pequeño, barato y es simple de controlar.Un potenciómetro con interruptor incorporado se utiliza para los controles. Una pulsación rápida, cambia
El Modular PC PSU alta potencia LED crece la luz

El Modular PC PSU alta potencia LED crece la luz

Hola a todos,Después de publicar con éxito mi prototipo para un depurador de algas de LED, me decidí a publicar algunos de mis otros experimentos usando LEDs de 3W de alta potencia. Aquí me decidí a crear un ambiente de crecimiento interior para algu
Espectáculo de luz LED RGB 50W

Espectáculo de luz LED RGB 50W

En una venta de la etiqueta y vi un golpe 6 pies encima de calabaza por 10 dólares. Parecía tener poco uso así que lo cogí. Yo llegué a casa y él encontró 5 Bombillas interior se rompieron un poco. Eso está bien ya que quería añadir un chip LED RGB d
Alta potencia 3-bicicleta de luz LED

Alta potencia 3-bicicleta de luz LED

este instructable es creado y proporcionado por viajeros de la bicicleta de Edmonton sociedad (EBC) (http://edmontonbikes.ca , http://www.facebook.com/edmontonbikes , http://twitter.com/edmontonbicycle ), una organización sin fines de lucro que apoya
Sable de luz LED RGB

Sable de luz LED RGB

Durante la reciente viva festival de música y luz en Sydney, había puestos de venta de sables de luz de juguete y otros accesorios con luces de colores. Obviamente estos juguetes atrajeron a muchos niños (y adultos) para comprar y jugar con ellos. Si
Pluma de luz LED RGB

Pluma de luz LED RGB

probablemente ya has visto los numerosos Instructables sobre cómo hacer una pluma de luz, que se utiliza para hacer dibujos de luz.La tecnica de Dibujo de luz es poner una cámara en un trípode, apague el flash y establecer el tiempo de exposición a l
Multi Color luz espada que brilla intensamente - LEDs RGB para pintar con luz.

Multi Color luz espada que brilla intensamente - LEDs RGB para pintar con luz.

acabo de láminas nuevas para mi limpiaparabrisas y el paquete al instante me hizo querer empezar a luchar de la espada. Espadas de luz Blinky para pintar con la luz ¡ SÍ!!!!!!Puede crear este proyecto para:Efectos especiales de fotografía llamado la
DIY Super Bright Laptop teclado luz LED (1W alta potencia)

DIY Super Bright Laptop teclado luz LED (1W alta potencia)

Los ojos son preciosos, hoy vamos a estar modificando un teclado barato luz en el último, más brillante, de alta potencia de luz para protegerlos.Como algunos de ustedes saben, ya he modificado un Ebay / chino teclado portátil ligero con 7,62 mm LEDs