Tabla de contenido:

Estructura LED controlada por MIDI: 7 pasos
Estructura LED controlada por MIDI: 7 pasos

Video: Estructura LED controlada por MIDI: 7 pasos

Video: Estructura LED controlada por MIDI: 7 pasos
Video: COMO PROGRAMAR LUCES LEDS PARA EVENTOS 2024, Mes de julio
Anonim
Image
Image

Como verdadero amante de la música y estudiante de informática y electrónica, siempre quise construir dispositivos MIDI que pudiera usar para la creación de música electrónica.

Después de asistir a muchos espectáculos y festivales de música, comencé a interesarme mucho en los espectáculos de luces durante las presentaciones.

Después de mucha investigación, la mayoría de las veces solo he encontrado dispositivos que usan micrófono y no pueden permitir controlar los LED exactamente como lo desea.

Al familiarizarme cada vez más con las señales DAW y MIDI, ¡decidí comenzar con este proyecto!

Consiste en una estructura 3D con LEDs incorporados, que en realidad son controlados por señales MIDI (NoteOn, NoteOff y CC Messages).

Para que el músico pudiera controlar el color y la intensidad de cada LED, solo mediante el uso de señales MIDI, generadas por cualquier DAW.

Con esta idea, quería potenciar la creatividad a través de espectáculos de luces y permitir que todos construyeran la suya propia, para hacer que cada actuación visual sea única.

Paso 1: Materiales

Básicamente, este proyecto consta de dos partes: un circuito de recepción MIDI y la estructura de LED; y un microcontrolador para vincular esas partes y "traducir" las señales MIDI provenientes del DAW a las tiras de LED. Aquí hay una lista de los materiales necesarios para cada pieza.

Circuito de recepción MIDI:

  • 1 x Optoacoplador 6N138
  • 1 x diodo 1N914
  • 1 x conector Din de 5 pines (conector MIDI)
  • 2 resistencias de 220 ohmios
  • 1 x resistencia de 4,7 K ohmios
  • 1 conector USB / MIDI

Estructura LED:

Usé tiras de LED RGB basadas en LED WS2812B que se pueden controlar con solo 1 puerto digital. Si planea usar una gran cantidad de LED, es posible que deba preocuparse por la corriente máxima necesaria (1 LED puede consumir como máximo 60 mA). Si el microcontrolador no puede manejar este valor máximo, necesitará otra fuente de alimentación de 5 V que pueda suministrar suficiente corriente. Usé un adaptador AC / DC de 5V - 8A con el adaptador de salida dedicado y un interruptor.

Nota: Parece que puede usar una unidad de fuente de alimentación de computadora, ya que se sabe que pueden entregar una corriente realmente alta, pero tendrá que asegurarse de que entregue un voltaje estable de 5 V CC, tal vez mediante el uso de un Resistor de potencia de 36 ohmios y 5 vatios entre el suelo (negro) y la salida de 5V (rojo) para hacer que haya suficiente corriente pasando por el resistor y así proporcionar 5V estables.

Finalmente, utilicé un Arduino Uno simple con un protector de tornillo para hacer el enlace entre las señales MIDI y las tiras de LED.

Paso 2: construcción del circuito de entrada MIDI

Construyendo el circuito de entrada MIDI
Construyendo el circuito de entrada MIDI
Construyendo el circuito de entrada MIDI
Construyendo el circuito de entrada MIDI

Si está interesado en qué es exactamente el protocolo MIDI y cómo funciona, le recomiendo encarecidamente que consulte el canal de YouTube Notes and Volts, donde hay muchos tutoriales interesantes e innovadores y proyectos MIDI Arduino.

En esta parte, solo me centraré en el circuito de entrada MIDI. Puede ser una buena idea construir un prototipo en un protoboard y comprobar si el microcontrolador recibe bien las señales MIDI procedentes de la DAW antes de empezar a soldar los componentes.

Los siguientes dos videos describen cómo construir y probar el circuito:

  • Construyendo el circuito
  • Probando el circuito

Finalmente, también puede ser una buena idea ver este video para comprender los mensajes CC y cómo su microcontrolador puede interpretar los clips de automatización para controlar el brillo del LED, por ejemplo.

Paso 3: Configuración de FL Studio (opcional)

Configuración de FL Studio (opcional)
Configuración de FL Studio (opcional)
Configuración de FL Studio (opcional)
Configuración de FL Studio (opcional)
Configuración de FL Studio (opcional)
Configuración de FL Studio (opcional)

Como me siento cómodo usando FL Studio, explicaré cómo configurar correctamente su interfaz MIDI, pero estoy bastante seguro de que este procedimiento no debería ser drásticamente diferente si está usando otra estación de trabajo de audio digital.

Primero, solo tendrá que conectar el conector USB / MIDI a su computadora. Por lo general, estos dispositivos vienen con un firmware incrustado y se reconocen como dispositivos MIDI incluso si no están complacidos. Luego abra la ventana "Configuración" (presionando F10). Si todo funciona correctamente, notará algunos dispositivos MIDI de salida en la sección de salida. Seleccione su dispositivo y asegúrese de que esté ENCENDIDO.

Luego tendrás que definir tu número de puerto y tenerlo en cuenta (0 por ejemplo). Simplemente cierre esta ventana (los parámetros se guardan automáticamente) y luego agregue un nuevo canal: Salida MIDI.

Luego, lo último que tendrás que hacer es definir el puerto de este nuevo canal: asegúrate de elegir el mismo número de puerto que definiste en la sección "Configuración": al hacer esto, los mensajes MIDI provenientes de tu canal ahora son vinculado a la salida MIDI.

Ahora, cuando el canal de salida MIDI toque una nota, se enviará un mensaje "NoteOn" a través de la interfaz MIDI. De la misma manera, se enviará un mensaje "NoteOff" cuando se libere la nota.

Otra característica interesante que viene con el canal de salida MIDI es la capacidad de controlar diferentes parámetros con potenciómetros. Haciendo clic derecho sobre uno de ellos y seleccionando "Configurar …", puede hacer que envíen CCMessages (un valor que va de 0 a 127) que se utilizará para controlar el brillo de los LED: elija CC y luego Aceptar.

Normalmente, FL Studio ya está listo para enviar datos a su interfaz MIDI. El siguiente es escribir el código para flashear en el Arduino y adaptarlo a su estructura de LED.

Paso 4: Conexión de los LED

Conexión de los LED
Conexión de los LED

Conectar las tiras de LED es bastante simple, ya que solo requieren + 5V, GND y Data. Sin embargo, como planeaba conectar más de 20 de ellos, decidí usar varios pines Arduino PWM y declarar varias instancias de Adafruit_NeoPixel (en el coeficiente) para evitar cualquier tipo de demora no intencional.

La imagen adjunta también pretende explicar cómo funciona la electrónica:

  • Las tiras de LED se alimentan directamente de la fuente de alimentación.
  • Se utiliza un interruptor de encendido para alimentar el Arduino
  • el circuito de entrada MIDI es alimentado por el Arduino al encender el interruptor

Paso 5: diseño de la estructura 3D

Diseñando la estructura 3D
Diseñando la estructura 3D
Diseñando la estructura 3D
Diseñando la estructura 3D
Diseñando la estructura 3D
Diseñando la estructura 3D
Diseñando la estructura 3D
Diseñando la estructura 3D

Hasta ahora, esta parte fue la más larga ya que era totalmente nuevo en la impresión 3D (y el modelado). Quería diseñar una estructura que pareciera un icosaedro truncado medio explotado (sí, me tomó un tiempo encontrar el nombre exacto de la forma).

¡Por supuesto que eres libre de diseñar tu propio modelo con la forma que quieras! No detallaré el proceso de modelado, pero encontrará los archivos STL si desea diseñar esta estructura.

El ensamblaje de las diferentes partes tomó algo de tiempo, ya que tuve que poner un LED en cada cara y conectarlos todos soldando una gran cantidad de cables dentro del núcleo que actualmente está bastante desordenado.

Nota: si desea diseñar una estructura de este tipo, necesitará 10 piezas hexagonales (aproximadamente 3 horas cada una con una mini impresora PP3DP UP) y 6 piezas pentagonales (2 horas).

Una vez que haya un LED en cada parte, tendrá que conectar todos los terminales de 5V y GND juntos y cablear los varios terminales de entrada y salida de cada LED de la forma en que se conectarán.

Finalmente, utilicé acrílico difusivo LED para cubrir cada cara y hacer que se iluminen de manera consistente.

Todo lo que queda después de eso es el código, ¡que revela no ser tan complicado!

Paso 6: el código

El código
El código

Como lo mencioné en la parte anterior, ¡el código revela ser bastante simple!

En realidad, solo consta de una instancia MIDI y varias instancias de Adafruit_NeoPixel (tanto como hay diferentes tiras).

Básicamente, una vez que se declara, la clase MIDI funciona con una especie de "interrupciones": NoteOn, NoteOff y CCMessage. Cuando el circuito de entrada MIDI transmite una de esas señales específicas al Arduino, se llama a la subrutina asociada. Luego, todo lo que hace el código es encender un LED específico en la señal NoteOn, apagarlo en la señal NoteOff asociada y actualizar el brillo de una tira en CCMessage.

Además, definí una función simple que brinda la posibilidad de elegir el color de los LED leyendo la velocidad que viene con la señal NoteOn y cada LED puede ser rojo, morado, azul, turquesa, verde, amarillo, naranja o blanco. dependiendo del valor de velocidad pasando de 0 a 127.

Una cosa importante a tener en cuenta es que tendrá que desconectar el pin RX (que viene del circuito de entrada MIDI) cuando cargue su boceto, ya que el puerto serie (utilizado durante este proceso) está conectado a ese pin.

Paso 7: ¿Y ahora qué?

Actualmente estoy trabajando en un gabinete personalizado para incrustar todos los componentes electrónicos y también estoy pensando en un nombre para la estructura. Por favor, avíseme si disfrutó de este proyecto, y estoy trabajando en diferentes programas, ya que planeo actualizar este instructivo con más videos.

Recomendado: