Tabla de contenido:

Chaqueta de espectáculo de luces que reacciona a la música: 7 pasos (con imágenes)
Chaqueta de espectáculo de luces que reacciona a la música: 7 pasos (con imágenes)

Video: Chaqueta de espectáculo de luces que reacciona a la música: 7 pasos (con imágenes)

Video: Chaqueta de espectáculo de luces que reacciona a la música: 7 pasos (con imágenes)
Video: NO uses LUCES LED o te pasará esto 2024, Mes de julio
Anonim
Chaqueta de espectáculo de luces que reacciona a la música
Chaqueta de espectáculo de luces que reacciona a la música

Este tutorial ha sido producido como parte de mi proyecto de fin de año para mi licenciatura en Tecnología Musical y Electrónica Aplicada en la Universidad de York. Está dirigido a músicos interesados en la electrónica. El producto terminado será una matriz de LED en la parte posterior de una chaqueta que puede producir un espectáculo de luces de acuerdo con la música. Esto se hará analizando las entradas de audio usando Pure Data y Arduino. La chaqueta tendrá dos configuraciones que se pueden controlar con un interruptor. Un ajuste controlará los LED de acuerdo con la amplitud de la música y el otro hará que los LED parpadeen uno a la vez y cambien de color según el tono.

¿Cómo funcionará?

Este dispositivo estará compuesto por dos circuitos separados. Uno se basará en un Arduino Mega conectado directamente a una computadora. El otro circuito se basará en un LilyPad Arduino y estará completamente contenido dentro de la chaqueta y se alimentará a través de una batería de 9V. Ambos circuitos se comunicarán entre sí de forma inalámbrica mediante módulos XBee. Las señales de audio serán recibidas por el micrófono incorporado de la computadora y analizadas en Pure Data para obtener datos de amplitud y frecuencia. Esta información se transferirá al Arduino Mega usando un circuito de entrada MIDI y luego se transmitirá al LilyPad usando los XBees. Luego, LilyPad determinará cómo reaccionarán los LED de la funda.

Que necesitarás

Para el Mega Circuito

  • Arduino Mega 2560
  • XBee Explorer regulado
  • Antena XBee 1mW Trace - Serie 1
  • Escudo de prototipos para el Mega
  • USB tipo A a B
  • Cable USB a MIDI
  • Toma MIDI
  • 1 x resistencia de 220Ω
  • 1 x resistencia de 270 Ω
  • 1 x diodo 1N4148
  • 1 x Optoacoplador 6N138

Para el circuito LilyPad

  • Placa principal LilyPad Arduino 328
  • Placa de conexión LilyPad XBee
  • Antena XBee 1mW Trace - Serie 1
  • Placa de conexión básica LilyPad FTDI
  • 72 LEDs LilyPad (una gama de todos los colores disponibles, incluidos blanco, azul, rojo, amarillo, verde, rosa y morado)
  • Interruptor deslizante LilyPad
  • Cable USB 2.0 A-Macho a Mini-B
  • Batería de 9V
  • Clip de batería de 9V

Otro

  • Chaqueta
  • Computadora con Pure Data y Arduino IDE instalados
  • Alambre de equipo
  • Equipo de soldadura
  • Cortadores de alambre
  • Pelacables
  • Aguja con un ojo grande
  • Hilo
  • Hilo conductor
  • Tijeras
  • Cinta métrica
  • Pegamento para tela o barniz de uñas transparente
  • Delineador de ojos de tiza o blanco
  • Tejido para forro o camiseta vieja
  • Velcro
  • Taladro (posiblemente)
  • LED estándar (para prueba)
  • Protoboard (para pruebas)
  • Otra resistencia de 220Ω (para prueba)
  • Multímetro (para pruebas)

El costo de este proyecto dependerá en gran medida de la cantidad de los equipos mencionados anteriormente que ya posea. Sin embargo, es probable que esté entre £ 150 y £ 200.

Una nota rápida: las placas LilyPad están diseñadas para coserse directamente a los textiles y, por lo tanto, soldar un clip de batería de 9 V a una puede causar problemas. La conexión puede ser delicada y romperse fácilmente. Puede obtener placas LilyPad diseñadas específicamente para baterías AAA o LiPo que puede decidir que prefiere usar. Sin embargo, elegí seguir la ruta de los 9V ya que la duración de la batería es mayor que la de los AAA y mi universidad tiene restricciones sobre el uso de baterías LiPo.

Paso 1: creación del circuito de entrada MIDI

Creación del circuito de entrada MIDI
Creación del circuito de entrada MIDI
Creación del circuito de entrada MIDI
Creación del circuito de entrada MIDI
Creación del circuito de entrada MIDI
Creación del circuito de entrada MIDI

En primer lugar, consideremos el circuito de entrada MIDI. Esto deberá construirse en la placa de creación de prototipos que se insertará en el Arduino Mega. Esto se utilizará para enviar mensajes MIDI desde el parche Pure Data al Mega a través de su pin "COMMUNICATION RX0". Vea arriba para un diagrama de circuito y una foto. Dependiendo de su placa de creación de prototipos, su diseño puede ser ligeramente diferente, pero elegí colocar el conector MIDI en la esquina inferior izquierda. Puede que sea necesario utilizar un taladro aquí para agrandar los orificios del protector para que quepan en el casquillo. Los cables rojos en la foto están conectados a 5V, los marrones están conectados a tierra, el cable negro está conectado al pin 3 en el 6N138, el cable azul está conectado al pin 2 en el 6N138 y los cables amarillos están conectados al RX0 alfiler. Se deja espacio en el lado derecho de la placa de creación de prototipos para dejar espacio para el XBee más adelante. Es probable que sea necesario realizar rupturas en las pistas del tablero. Para este ejemplo, tuvieron que hacerse entre los pines del 6N138.

Prueba del circuito de entrada MIDI

Para probar el circuito, cargue el siguiente código en el Arduino Mega usando el cable USB Tipo A a B. Asegúrese de que el protector no esté insertado cuando haga esto, ya que el código no se puede cargar si hay algo conectado a los pines RX o TX. Además, el código incluye la biblioteca MIDI.h que es posible que deba descargar, disponible en el enlace a continuación.

MIDI.h

A continuación, inserte el protector en el mega y conéctelo a otro puerto USB en su computadora a través del cable MIDI a USB. El extremo MIDI que necesitará utilizar estará etiquetado como "out". Cree un circuito simple en una placa de pruebas conectando el pin 2 a una resistencia de 220Ω y luego conecte esto al ánodo de un LED estándar. Conecte el cátodo de los LED a tierra.

Luego, cree un parche de Pure Data simple con un mensaje [60 100] y un mensaje [0 0], ambos conectados a un objeto de nota a través de su entrada izquierda. Asegúrese de que este parche esté conectado al circuito de entrada MIDI abriendo la configuración MIDI y cambiando el dispositivo de salida. Si no está disponible, asegúrese de haber conectado el circuito MIDI a su computadora antes de abrir Pure Data. Ahora, si su circuito es correcto, el LED debe encenderse cuando se presiona el mensaje [60 100] y debe apagarse cuando se presiona el mensaje [0 0].

Paso 2: diseño de la matriz de LED

Diseño de la matriz de LED
Diseño de la matriz de LED
Diseño de la matriz de LED
Diseño de la matriz de LED
Diseño de la matriz de LED
Diseño de la matriz de LED

A continuación, se debe considerar la matriz de LED para la parte posterior de la chaqueta. Esto se conectará directamente a la placa principal LilyPad. Normalmente, para controlar los LED mediante un microcontrolador, cada uno de ellos estaría asignado a sus propios pines individuales. Sin embargo, con solo un Arduino LilyPad esto sería muy limitante. En total, el LilyPad tiene 12 pines digitales y 6 analógicos, por lo que potencialmente 18 pines de salida. Sin embargo, como uno de estos pines se usará más adelante para controlar un interruptor deslizante, solo quedarán 17.

En esta situación se puede utilizar una técnica llamada multiplexación para maximizar el potencial de los pines de control de LilyPad. Esto aprovecha dos hechos:

  • Los LED son diodos y solo permiten que la corriente fluya en una dirección.
  • Los ojos y el cerebro humanos procesan las imágenes mucho más lento de lo que la luz puede viajar, por lo que si los LED parpadean lo suficientemente rápido, no lo notaremos. Este es un concepto conocido como "Persistencia de la visión".

Al usar esta técnica, el número de LED que se pueden controlar es (n / 2) x (n- (n / 2)) donde n es el número de pines de control disponibles. Por lo tanto, con 17 pines disponibles, debería ser posible controlar 72 LED en una matriz de 9x8.

Se puede ver arriba un diagrama para el diseño de los LED en una matriz de 9x8, que incluye sugerencias para los pines a los que se debe conectar cada fila y columna. Es importante tener en cuenta que las filas y columnas no deben tocarse. Además, no se requieren resistencias debido al hecho de que cada LED tiene su propio incorporado con una resistencia de 100Ω.

Antes de comenzar a coser, debe planificar el diseño del circuito en la chaqueta. Un buen lugar para comenzar aquí es marcando en la cubierta donde irán los LED con pequeños puntos, usando una cinta métrica para asegurarse de que estén espaciados uniformemente. Para una chaqueta de cuero negra, el delineador de ojos blanco funciona muy bien y se puede limpiar fácilmente si se comete un error. Sin embargo, otros medios como la tiza también pueden funcionar según el material y el color de su chaqueta. La disposición de los colores de LED que utilicé se puede ver arriba, que funcionará con el código proporcionado más adelante. Puede utilizar un diseño diferente, aunque será necesario modificarlo en el código.

Lo siguiente en lo que pensar es dónde irán LilyPad, LilyPad XBee y la fuente de alimentación. Para la chaqueta que usé, el lugar más sensato y discreto parecía estar en la parte de atrás de la chaqueta, en la parte inferior y en el forro interior. Esto se debe a que es poco probable que los brazos del usuario lo golpeen aquí y puede acceder fácilmente a la matriz de LED. Además, como la chaqueta que usé estaba suelta en la parte inferior, aún era cómoda.

Paso 3: coser la matriz de LED

Coser la matriz de LED
Coser la matriz de LED
Coser la matriz de LED
Coser la matriz de LED
Coser la matriz de LED
Coser la matriz de LED

En este punto puede comenzar a coser. El hilo conductor puede ser complicado de trabajar, así que aquí hay algunos consejos útiles:

  • Pegar un componente en su lugar con pegamento para tela hará que sea mucho más fácil coser.
  • Los diferentes tipos de puntadas tendrán diferentes propiedades estéticas y funcionales, por lo que vale la pena analizarlas antes de comenzar. Sin embargo, una puntada de ejecución básica debería estar bien para este proyecto.
  • Los nudos tienden a soltarse con bastante facilidad con hilo conductor, ya que es más "elástico" de lo normal. Una solución a esto es usar una pequeña cantidad de esmalte de uñas transparente o pegamento para tela para sellarlas. Deje que se sequen antes de cortarles la cola.
  • Al crear conexiones a los componentes del circuito o al unir dos líneas de hilo conductor, es una buena idea coserlas varias veces para asegurarse de que se ha realizado una buena conexión mecánica y eléctrica.
  • Asegúrese de que su aguja sea afilada y tenga un ojo grande. Atravesar la chaqueta puede ser difícil y el hilo conductor es más grueso de lo normal.
  • Tenga cuidado con los pelos sueltos en el hilo. Estos pueden crear cortocircuitos en el circuito si tocan otras líneas de costura. Si estos se convierten en un problema importante, todas las líneas se pueden sellar con el esmalte de uñas transparente o pegamento para tela una vez que se hayan realizado las pruebas y todo esté funcionando correctamente.

Un buen lugar para empezar a coser son las filas. Para hacerlos lo más rectos posible, puede dibujar líneas tenues para coser con una regla. Una vez que los haya cosido, pase a las columnas. Habrá que tener mucho cuidado cada vez que se llegue a una fila porque es fundamental que no se crucen. Esto se puede lograr creando la puntada para la columna en el interior de la chaqueta para esta unión, como se ve en la foto de arriba. Cuando haya completado todas las filas y columnas, se puede usar un multímetro para verificar que no haya cortos.

Una vez que esté satisfecho, comience a coser los LED para la columna en el extremo derecho de la chaqueta. Asegúrese de que cada ánodo esté conectado a su propia fila y cada cátodo esté conectado a la columna de la izquierda. Luego, coloque el LilyPad Arduino en su lugar con pegamento para tela en algún lugar aproximadamente debajo de esta columna, asegurándose de que los pines de la placa de conexión FTDI estén hacia abajo. Cosa el alfiler 11 del LilyPad a la fila 1, el alfiler 12 a la fila 2 y así sucesivamente hasta que el alfiler A5 esté cosido a la fila 9. Luego, cosa el alfiler 10 a la columna del extremo derecho. Para probar esta primera columna, puede utilizar el siguiente código. Cargue el código y encienda el LilyPad conectándolo a su computadora usando la placa de conexión FTDI y el cable USB 2.0 A-Macho a Mini-B.

Si el puerto correcto no está disponible cuando conecta LilyPad, es posible que deba instalar un controlador FTDI disponible en el enlace a continuación.

Instalación del controlador FTDI

Una vez que haya encendido esta primera columna de LED, es hora de coser el resto en la chaqueta. Este es un proceso que lleva bastante tiempo y, por lo tanto, probablemente sea mejor espaciarlo durante unos días. Asegúrese de probar cada columna a medida que avanza. Puede hacer esto adaptando el código anterior para que el pin de la columna que desea probar se declare como una salida en la configuración y luego se establezca en BAJO en el ciclo. Asegúrese de que los otros pines de la columna estén configurados como ALTO, ya que esto asegurará que estén apagados.

Paso 4: agregar un conmutador

Agregar un interruptor
Agregar un interruptor

A continuación, puede agregar un interruptor que se utilizará para cambiar la configuración de la chaqueta. Debe coserse en el interior de la chaqueta debajo de la placa LilyPad Arduino. Usando hilo conductor, el extremo etiquetado como "apagado" debe conectarse a tierra y el extremo etiquetado como "encendido" debe conectarse al pin 2.

Puede probar el interruptor usando el código a continuación. Esto es muy simple y enciende el LED inferior derecho si el interruptor está abierto y lo apaga si el interruptor está cerrado.

Paso 5: hacer que el dispositivo sea inalámbrico

Hacer que el dispositivo sea inalámbrico
Hacer que el dispositivo sea inalámbrico
Hacer que el dispositivo sea inalámbrico
Hacer que el dispositivo sea inalámbrico
Hacer que el dispositivo sea inalámbrico
Hacer que el dispositivo sea inalámbrico

Preparación de LilyPad XBee y XBee Explorer

Prepare el LilyPad XBee para la configuración soldando en un conector macho de ángulo recto de 6 pines. Posteriormente, esto permitirá que se conecte a una computadora a través de la placa de conexión básica LilyPad FTDI y el cable mini USB. Además, suelde el clip de la batería de 9V a la LilyPad XBee con el cable rojo en la clavija “+” y el cable negro en la clavija “-”.

Conecte la placa Explorer al escudo de creación de prototipos del Arduino Mega. 5V y tierra en la placa Explorer deberán conectarse a 5V y tierra en el Mega, el pin de salida en el Explorer deberá conectarse a RX1 en el Mega y la entrada en el Explorer deberá conectarse a TX1 en el Mega.

Configurando las XBees

A continuación, es necesario configurar las XBees. En primer lugar, deberá instalar el software CoolTerm de forma gratuita, que está disponible en el enlace a continuación.

Software CoolTerm

Asegúrese de distinguir entre los dos XBees de alguna manera, ya que es importante que no los confunda.

Primero, configure el XBee para la computadora. Insértelo en la placa de conexión LilyPad XBee y conéctelo a la computadora utilizando la placa de conexión básica FTDI y el cable mini USB. Abra CoolTerm y en Opciones, seleccione el puerto serie correcto. Si no puede verlo, intente presionar 'Re-Scan Serial Ports'. Luego, asegúrese de que la velocidad en baudios esté configurada en 9600, encienda Local Echo y configure la Emulación de clave en CR. CoolTerm ahora se puede conectar al XBee.

Escriba "+++" en la ventana principal para poner el XBee en modo de comando. No presione retorno. Esto permitirá que se configure mediante comandos AT. Si esto ha tenido éxito, después de una pausa muy breve debería haber una respuesta de mensaje "OK". Si hay un retraso de más de 30 segundos antes de la siguiente línea, el modo de comando saldrá y será necesario repetirlo. Se deben ingresar numerosos comandos AT para configurar el ID PAN, MY ID, ID de destino y para guardar los cambios. Es necesario presionar Retorno después de cada uno de estos comandos y estos se pueden ver en la tabla anterior. Una vez que esto se ha completado para el ordenador XBee, es necesario desconectarlo y realizar el mismo proceso para la chaqueta XBee.

Puede verificar la nueva configuración de XBee escribiendo cada comando AT sin el valor al final. Por ejemplo, si escribe "ATID" y pulsa retorno, "1234" debería repetirse.

Probando las XBees

En este punto, cose el LilyPad XBee en la chaqueta junto a LilyPad Arduino. Las siguientes conexiones deben realizarse con hilo conductor:

  • 3.3V en LilyPad XBee a '+' en LilyPad
  • Tierra en LilyPad XBee a tierra en LilyPad
  • RX en LilyPad XBee a TX en LilyPad
  • TX en LilyPad XBee a RX en LilyPad

Ahora se puede probar el dispositivo para asegurarse de que los XBees funcionaban correctamente. El siguiente código llamado 'Wireless_Test_Mega' debe cargarse en Arduino Mega y su propósito principal es recibir mensajes MIDI del simple parche Pure Data creado anteriormente y transmitir diferentes valores a través del XBee. Si se recibe una nota MIDI con un tono de 60, se transmitirá el mensaje "a". Alternativamente, si se recibe un mensaje de nota final, se transmitirá "b".

Además de esto, el siguiente código llamado 'Wireless_Test_LilyPad' debe cargarse en LilyPad. Este recibe los mensajes del Mega a través de XBees y controla el LED inferior derecho en consecuencia. Si se recibe el mensaje "a", lo que significa que el Mega ha recibido una nota MIDI con un tono de 60, el LED se encenderá. Por otro lado, si no se recibe "a", el LED se apagará.

Una vez que se haya cargado el código en ambas placas, asegúrese de que el blindaje se haya vuelto a insertar en el Mega y que esté conectado a la computadora a través de ambos cables. Inserte la computadora XBee en la placa Explorer. Luego, asegúrese de que la placa FTDI Breakout esté desconectada de la funda e inserte la funda XBee en el LilyPad XBee. Conecte la batería de 9V e intente presionar los diferentes mensajes en Pure Data. El LED de la parte inferior derecha de la chaqueta debe encenderse y apagarse.

Paso 6: Toques finales

Toques finales
Toques finales
Toques finales
Toques finales
Toques finales
Toques finales

El código y el parche de datos puros

Cuando esté satisfecho de que la funda esté funcionando de forma inalámbrica, cargue el boceto 'MegaCode' a continuación en el Arduino Mega y el boceto 'LilyPadCode' en el LilyPad. Abra el parche Pure Data asegurándose de que DSP esté encendido y que la entrada de audio esté configurada para el micrófono incorporado de su computadora. Intente reproducir música y mover el interruptor. Es posible que deba ajustar ligeramente los umbrales en Pure Data dependiendo de cuánto o poco reaccionen los LED al audio.

Adición de un revestimiento nuevo

Finalmente, para hacer que la chaqueta sea más estéticamente agradable y más cómoda de usar, se puede agregar otro forro al interior de la chaqueta para cubrir la costura y los componentes. Esto debe hacerse con velcro para permitir un fácil acceso al circuito en caso de que sea necesario realizar alguna alteración.

En primer lugar, coser las tiras de 'bucle' (la parte más suave) a la chaqueta por dentro, a lo largo de la parte superior y por ambos lados. Es una buena idea dejar libre la parte inferior, ya que esto permitirá que el aire llegue a los componentes. Luego, corta un trozo de tela del mismo tamaño y cose a este las tiras de 'gancho' del velcro, a lo largo de la parte superior y por ambos lados. Además, en el mismo lado que el velcro y en el lugar más conveniente, cosa un bolsillo en el que pueda colocarse la batería. Consulte las imágenes de arriba para ver ejemplos.

Paso 7: ¡Listo

¡Su Light Show Jacket inalámbrica ahora debería estar completa y reaccionar con éxito al audio! Una configuración debe crear un efecto como una barra de amplitud y la otra debe tener LED individuales parpadeando con la música con sus colores dependiendo del tono. Vea arriba para ver ejemplos de videos. En caso de que se lo pregunte, el color y el tono están relacionados a través de la Orden Rosacruz, que se basa en la entonación justa. ¡Espero que hayas disfrutado de este proyecto!

Recomendado: