Cree su propia iluminación ambiental dinámica para un centro de medios

Si ve muchas películas en su PC o centro de medios, estoy seguro de que se ha enfrentado al dilema de la iluminación; ¿Apagas completamente todas las luces? ¿Los mantienes en pleno funcionamiento?

Si ve muchas películas en su PC o centro de medios, estoy seguro de que se ha enfrentado al dilema de la iluminación;  ¿Apagas completamente todas las luces?  ¿Los mantienes en pleno funcionamiento?
Anuncio

centro de medios de luz Si ve muchas películas en su PC o centro de medios, estoy seguro de que se ha enfrentado al dilema de la iluminación; ¿Apagas completamente todas las luces? ¿Los mantienes en pleno funcionamiento? ¿O usa un atenuador de luz para mantener un brillo amarillento apagado en alguna parte? Bueno, no sufras más.

Por menos de $ 100, puede configurar un increíble sistema de iluminación que refleje lo que está en pantalla; si el video es una escena nocturna azul, las luces serán azules; cuando se enciende un fuego anaranjado, también lo harán tus luces. Bienvenido al mundo de la iluminación RGB ambiental.

Componentes

  • Tira de luz RGB: esta es una tira de 5 metros de LED RGB que se pueden comprar en eBay y enviar desde Hong Kong por menos de £ 20 cada uno. Si compra en tiendas de artículos electrónicos, pagará por el medidor y un carrete de 5 m le costará tres o cuatro veces más, así que compre en línea. Este tipo de tiras LED se puede cambiar a cualquier color, pero solo a la vez, no se pueden ajustar individualmente.
  • Fuente de alimentación de 12 V: la potencia (ampage) requerida depende de cuántas tiras de LED conectará. Cada medidor consume aproximadamente 0.6 amperios, pero esto depende de la densidad de los LED, así que asegúrese de revisar su tira de LED en particular. 3A sería suficiente para la franja de 5 m que conecté anteriormente, y se pueden comprar suministros de energía separados por alrededor de £ 10 si no puede obtener uno en otro lugar.
  • 3 x transistores MOSFET N - probablemente encuentres más barato, pero compré un paquete de 6 (tipo STP16NF06FP) por alrededor de £ 10. Estos se utilizan para aislar la corriente del Arduino: al conectar las tiras directamente al Arduino, se fríe con la cantidad de corriente que dibujan. Necesita 1 transistor MOSFET por canal de color LED, para Rojo, Verde y Azul.
  • Arduino ¿Qué es Arduino y qué puedes hacer con él? ¿Qué es Arduino y qué puedes hacer con eso? El Arduino es un pequeño dispositivo electrónico notable, pero si nunca has usado uno, ¿qué son exactamente y qué puedes hacer con uno? Más información: no he incluido el costo de este artículo, ya que se supone que ya lo tiene, y hay una gran variedad de clones que puede comprar si no puede pagar uno oficial.

El costo total fue por lo tanto alrededor de £ 40 sin incluir el Arduino.

Introducción

El proyecto consta de dos partes. Primero, crearemos un circuito Arduino básico que escuchará los comandos de la computadora y configurará los LED RGB con un color apropiado. El segundo implica el uso de una nueva aplicación llamada Processing y Java en el lado de la computadora: para determinar qué colores están actualmente en pantalla, promediarlos y enviarlos al puerto de comunicaciones seriales para que el Arduino reaccione.

Parte 1: Circuito y Arduino

El circuito que estamos usando es muy simple, como puede ver en el siguiente diagrama. La tira de LED se debe suministrar con un enchufe macho en un extremo que puede colocar directamente en la placa de prueba.

centro de medios de luz

La tira de LED puede variar, pero si miras de cerca verás 12v, R, G, B escritos en los rieles en alguna parte. En realidad, estas tiras se pueden cortar en estos puntos de cobre (cada 3 LED en los que tengo), por lo que si quieres cortar las tiras en las esquinas de tu TV puedes hacerlo con seguridad: no necesitas usar los 5 m completos tampoco, entonces puede que le queden algunos para un proyecto futuro. Conecte los 12v positivos directamente a la fuente de alimentación externa.

iluminación ambiental dinámica

Los MOSFET tienen tres pines; puerta, drenaje y fuente . La puerta es como el interruptor electrónico que el Arduino controlará. Esto luego determina la corriente que fluye entre la fuente y el drenaje. El drenaje de cada MOSFET debe estar conectado a la tierra del Arduino, y la tierra de la fuente de alimentación, mientras que la fuente se conecta a los canales de tira de LED.

iluminación ambiental dinámica

Cuando hayas completado el circuito, descarga y ejecuta este código de prueba (originalmente de LadyAda, pines modificados). Debería ver su tira de LED girar a través de una variedad de colores.

iluminación ambiental dinámica

Parte 2: Procesamiento

Descargar Processing y ejecutar. Puede sorprenderle que se vea casi exactamente como el entorno de desarrollo de Arduino; eso se debe a que el entorno Arduino se basó en él, aunque ambos realizan diferentes funciones. Tome este código, originalmente de Silicon Republic, pero muy modificado por mí para que la configuración del tamaño de la pantalla sea automática y con una mejor representación del color, y tómese un momento para revisarlo. Básicamente usa una clase de Java llamada Robot para hacer una captura de pantalla cada 10 ms ; luego selecciona cada píxel impar y promedia el color total. Si el rendimiento es un problema para usted, aumente la variable skipValue a 3 o 4 para omitir más píxeles: el efecto general debería ser el mismo, pero se ejecutará más rápido ya que examina menos píxeles. Finalmente, agregué un filtro que ayuda a saturar el color aumentando el máximo y disminuyendo los valores mínimos de RGB encontrados (sin esto, encontré que los colores eran demasiado blancos).

Ejecuta la aplicación; la primera vez, probablemente recibirá un error cuando intente acceder al puerto serie incorrecto.

iluminación ambiental dinámica

Compruebe la ventana de depuración para obtener una lista de los puertos en serie actuales y anote el número al lado de al que está conectado su Arduino. En mi caso, en una Mac, la conexión USB es el puerto 4. Cambie el número en esta línea al puerto correcto:

 port = new Serial (this, Serial.list () [4], 9600); // establecer la velocidad en baudios 

Guardar y volver a ejecutar; debería ver una pequeña ventana emergente, esto representa el color promedio de todo en la pantalla. Inicie una aplicación de pintura o algo con colores fuertes para probarlo, de lo contrario, probablemente solo muestre un tono turbio de gris. Detenga la aplicación cuando termine la prueba, ya que necesitamos acceso al puerto serie para programar el Arduino.

centro de medios de luz

Por último, cargue este código en su Arduino. En lugar de enviar colores aleatorios a la tira de LED, este código lee los valores del puerto serie (al que se está enviando Processing). Es bastante fácil de entender, la única parte difícil puede ser el uso de un marcador en los datos en serie:

if (Serial.available()>=4) { if(Serial.read() == 0xff){ red = Serial.read(); green= Serial.read(); blue = Serial.read(); } } 

Esto garantiza que leemos los valores de bytes correctos: la aplicación de procesamiento genera un marcador como un "punto de interrupción" entre cada conjunto de valores para que el Arduino no se desincronice y piense que el valor verde es azul, etc.

Una vez que se carga el código Arduino (no debería haber salida en la tira de LED inicialmente), entonces puede cargar y ejecutar la aplicación de procesamiento; inmediatamente debería ver su luz ambiental funcionando.

Aquí hay una demostración en video de cómo funcionó para mí con un video musical al azar trippy.

¡¿Qué piensas?! Si bien no es tan impresionante como algo que analiza cada parte de la pantalla y utiliza píxeles de LED individuales, es mucho más barato y mucho más brillante. El único inconveniente de esto es que todo debe ejecutarse en la computadora de su centro de medios; por ejemplo, no funcionará con la transmisión de TV regular ni con su Xbox 360. Si tiene algún problema, pregunta o sugerencia, por favor pregunte; o tal vez un enlace a un video de su configuración completa.

In this article