Anuncio

luz del centro de mediosSi ve muchas películas en su PC o centro multimedia, estoy seguro de que se enfrentó al dilema de la iluminación; ¿Apagas completamente todas las luces? ¿Los mantienes a todo volumen? ¿O utiliza un interruptor de atenuación para mantener un brillo amarillo 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 la pantalla; si el video es una escena nocturna azul, las luces serán azules; cuando un resplandor de fuego anaranjado se enciende, también lo harán tus luces. Bienvenido al mundo de la iluminación ambiental RGB.

Componentes

  • Tira de luz RGB: esta es una tira de 5 metros de LED RGB que se puede comprar en eBay y enviar desde Hong Kong por menos de £ 20 cada una. Si compra en tiendas de electrónica, pagará por metro y un carrete de 5 m costará tres o cuatro veces más, así que compre en línea. Este tipo de tiras de LED se puede cambiar a cualquier color, pero solo de una vez, no se pueden ajustar individualmente.
  • instagram viewer
  • 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 sus LED, así que asegúrese de verificar su tira de LED en particular. 3A sería suficiente para la tira de 5m que uní anteriormente, y se pueden comprar fuentes de alimentación separadas por alrededor de £ 10 si no puede obtener una en otro lugar.
  • 3 x Transistores MOSFET N - probablemente puedas encontrarlo más barato, pero compré un paquete de 6 (tipo STP16NF06FP) por alrededor de £ 10. Estos se utilizan para aislar la corriente del Arduino: conectar las tiras directamente al Arduino lo freiría con la cantidad de corriente que consumen. Necesita 1 transistor MOSFET por canal de color LED, para rojo, verde y azul.
  • Arduino ¿Qué es Arduino y qué puedes hacer con él?El Arduino es un pequeño dispositivo electrónico notable, pero si nunca ha usado uno, ¿qué son exactamente y qué puede hacer con uno? Lee mas - No he incluido el costo de este artículo, ya que se supone que ya tendrá uno, y hay una variedad de clones que puede comprar si no puede pagar uno oficial.

Por lo tanto, el costo total fue de alrededor £40 sin incluir el Arduino.

Introducción

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

Parte 1: Circuito y Arduino

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

luz del centro de medios

Su tira de LED puede variar, pero si mira de cerca verá 12v, R, G, B escrito en los rieles en alguna parte. Estas tiras se pueden cortar en estos puntos de cobre (cada 3 LED en los que tengo), así que si quieres cortar las tiras en en las esquinas de su televisor, puede hacerlo de forma segura: tampoco necesita usar los 5 m completos, por lo que puede tener algo para el futuro proyecto. Conecte el positivo 12v directamente a la fuente de alimentación externa.

iluminación ambiental dinámica

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

iluminación ambiental dinámica

Cuando hayas completado el circuito, descarga y ejecuta esto código de prueba (Originalmente de LadyAda, pines modificados). Debería ver cómo su tira de LED gira en una variedad de colores.

iluminación ambiental dinámica

Parte 2: Procesamiento

Descargar Procesando y correr. Puede que se sorprenda al ver que se ve casi exactamente como el entorno de desarrollo Arduino; eso se debe a que el entorno Arduino se basó en él, aunque ambos realizan diferentes funciones. Agarra este códigooriginalmente por República del silicio 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 toma un momento para mirarlo. Básicamente usa una clase Java llamada Robot hacer una captura de pantalla cada 10ms; luego selecciona cada píxel impar y promedia el color total. Si el rendimiento es un problema para usted, aumente el skipValue variable 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 a medida que examine menos píxeles. Finalmente, agregué un filtro que ayuda a saturar el color al aumentar el máximo y disminuir 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 al intentar acceder al puerto serie incorrecto.

iluminación ambiental dinámica

Consulte la ventana de depuración para obtener una lista de los puertos seriales actuales y anote el número al lado del 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 velocidad de transmisión

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 gris oscuro. Detenga la aplicación cuando haya terminado las pruebas, ya que necesitamos el acceso al puerto serie para programar el Arduino.

luz del centro de medios

Por último, cargar este código a tu Arduino. En lugar de enviar colores aleatorios a la tira de LED, este código lee los valores del puerto serie (en el que se procesa el procesamiento). 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) { rojo = Serial.read (); verde = Serial.read (); azul = Serial.read (); } }

Esto garantiza que leamos los valores de byte 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 para azul etc.

Una vez que se carga el código Arduino (inicialmente no debe haber salida en la tira de LED), 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 me funcionó con un video musical aleatorio.

¡¿Qué piensas?! Si bien no es tan impresionante como algo que analiza cada parte de la pantalla y utiliza píxeles 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 o su Xbox 360. Si tiene algún problema, pregunta o sugerencia, por favor pregunte; o quizás enlace a un video de su configuración completa.

James tiene una licenciatura en Inteligencia Artificial y está certificado por CompTIA A + y Network +. Es el desarrollador principal de MakeUseOf, y pasa su tiempo libre jugando VR paintball y juegos de mesa. Ha estado construyendo computadoras desde que era un niño.