Tabla de contenido:

Interfaz digital musical: 6 pasos (con imágenes)
Interfaz digital musical: 6 pasos (con imágenes)

Video: Interfaz digital musical: 6 pasos (con imágenes)

Video: Interfaz digital musical: 6 pasos (con imágenes)
Video: CÓMO GRABAR EL AUDIO ESTÉREO MAIN MIX DE LA CONSOLA EN EL SMARTPHONE CON INTERFAZ Y LA APP N-TRACK 9 2024, Mes de julio
Anonim
Interfaz digital musical
Interfaz digital musical

Bienvenidos todos, Me gustaría mostrarles mi propia Interfaz Digital Musical. Lo hice durante mi carrera de sonido técnico, estos son mis trabajos de investigación. Para empezar, me pregunté cómo puedo componer música sin DAW, con suministros reciclados y posibilidad de reproducir de forma independiente.

En este instructivo, le enseñaré cómo usar la comunicación en serie para enviar / recibir información de sensores (analógica y digital) desde Arduino a Raspberry pi hacia el software puredata para activar un sonido.

Los materiales necesarios son:

x1 Frambuesa PI3

x1 Caldera de protección PI3

x1 Micro SD (32G)

x1 Arduino UNO

x1 Sensor IR Sharp GP2Y0E02B

x1 Breadbord

Medidor de prueba de placa x1 (0,2)

x28 Resistencia 10MΩ

x2 Resistencia 1.8kΩ

x1 Resistencia 10kΩ

x20 terminales macho / hembra

x1 portador de soldadura

x1 bobina de estaño (1 metro)

x1 soldador

x25 Correas Flexibles Hombre / Hombre

Paso 1: Sensores

Sensores
Sensores
Sensores
Sensores
Sensores
Sensores

Usé 4 piezoeléctricas provenientes del control remoto Harmonix XBOX 360 de "Guitar Hero". Usé un botón de encendido / apagado porque el interruptor de lengüeta magnético del pedal de mermelada de guitarra Hero estaba apagado.

Usé un sensor IR Sharp GP2Y0E02B. Para todos estos sensores, hice un ensamblaje de pull-up para una operación efectiva …

Entonces, empíricamente, encontré el valor de resistencia al sensor de botón y al sensor de infrarrojos. Sin embargo, probé el piezoeléctrico para conocer la escala completa de este, y el valor de resistencia fijo requerido y aplicado para los 4 sensores analógicos.

Paso 2: Montaje de dominadas

Montaje de dominadas
Montaje de dominadas
Montaje de dominadas
Montaje de dominadas
Montaje de dominadas
Montaje de dominadas
Montaje de dominadas
Montaje de dominadas

Después de probar el piezoeléctrico con el generador de voltaje, fijé el valor de la resistencia en 7MΩ.

El pull-up del conjunto de resistencia del botón fue de 10 kΩ.

Para el sensor de infrarrojos, utilicé dos resistencias de 1, 8 kΩ entre el voltaje de suministro y SDA (datos) y SCL (reloj), respectivamente.

Tenga cuidado porque los valores de esas resistencias son para RTX Arduino UNO; algo que debe saber sobre la entrada de impedancia de Arduino: 10MΩ.

Puede ver el montaje de pull-up en la última imagen de este paso; Fijé correas piezoeléctricas en 0 1 2 3 pines en UNO, correa de botón en 2 pines digitales pero comunico el valor en 6 pines en UNO y correa de sensor IR en 4 5 pines en UNO, todas las entradas analógicas del Arduino Uno.

Paso 3: Codifica Arduino

Para asegurarme de que la operación fue efectiva, probé enviar / recibir información de sensores a Arduino.

Puse archivos en la descripción, pero puede encontrarlos en la sección de ejemplos de la programación de Arduino Genuino, excepto el sensor de infrarrojos porque no está completo, he cambiado algunas informaciones en la sección "definir" como "cambio" y cambié el cálculo de la medición para que sea regular en variaciones de distancia. Probablemente haya visto "Cable" en el código del sensor de infrarrojos. De hecho usé el protocolo I2C para comunicarme, te invito a ver el protocolo I2C, muy interesante, puedes usar este para transmitir en tiempo real todos los sensores digitales que quieras.

Paso 4: Comunicación en serie Arduino Raspberry

Comunicación serie Arduino Raspberry
Comunicación serie Arduino Raspberry
Ambas comunicaciones en serie Arduino Raspberry
Ambas comunicaciones en serie Arduino Raspberry

Sí: D

Como puede ver en la primera imagen, el enlace Arduino-Raspberry es un conector USB.

Encontré una manera de recibir la información de los sensores directamente a través de PureData Extented que está instalado en Raspberry PI. ¿Por qué PureData Extended? Porque la versión Vanilla no usa la misma biblioteca que una aplicación en el entorno Raspbian.

¡Así que inicie StandardFirmata en Arduino Genuino para arreglar las E / S y las variaciones de valor de la manera correcta!

Para recuperar la información de valor en Raspberry PI, existen 2 protocolos: Firmata y Msg.

Elegí Firmata por una razón, era más sencillo obtener información en PureData a través del parche Pduino, un entorno.

Te invito a descubrir Msg si usas el protocolo OSC.

Paso 5: parche de PureData recibido

Parche PureData recibido
Parche PureData recibido

De hecho, después de semanas codificando en Genuino, logré recibir toda la información de mi sensor en una página, esto permitió ver variaciones en tiempo real gracias a Pduino, un parche en Puredata, sección librairies extra.

A partir de este paso, ya no tocamos el código Arduino. La información de Value es legible.

Como noté en el paso 3, recibí información del botón digital en analógico de 6 pines, fue simple ver el funcionamiento efectivo de la comunicación. Todo en una sola línea.

Paso 6: Desarrollo de PureData

Desarrollo PureData
Desarrollo PureData
Desarrollo PureData
Desarrollo PureData
Desarrollo PureData
Desarrollo PureData
Desarrollo PureData
Desarrollo PureData

PureData es un lenguaje específico y debe dedicar su tiempo libre para tener éxito haciendo un buen mosaico.

Algunos parches de PureData estarán disponibles en GitHub.

Espero que lo que escribí aquí te haya ayudado a comenzar tu propio proyecto cerca del mío.

Recomendado: