Tabla de contenido:
- Paso 1: Materiales
- Paso 2: diseño
- Paso 3: Construcción y cableado
- Paso 4: programación
- Paso 5: configuración
Video: Arduino Uno Midi Fighter: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Este instructable fue creado en cumplimiento del requisito del proyecto de Makecourse en la Universidad del Sur de Florida (www.makecourse.com)
Basado en el popular MidiFighter de DJ Techtools, este controlador de interfaz digital de instrumentos musicales (MIDI) hecho en casa con Arduino se puede utilizar como un dispositivo MIDI en cualquier software de estación de trabajo de audio digital (DAW). Un controlador MIDI puede enviar y recibir mensajes MIDI desde una computadora y puede usarse para controlar directamente cualquier software que se esté usando. Además, los controles de un controlador MIDI son totalmente personalizables, lo que significa que cada botón, control deslizante y perilla individual se puede asignar a cualquier función en un DAW. Por ejemplo, presionar un botón puede reproducir una nota específica o programarse para alternar el tempo de su proyecto de audio.
github.com/jdtar/Arduino-Midi-Controller
Paso 1: Materiales
A continuación se muestra una lista de materiales y herramientas utilizados en este proyecto.
Arduino Uno
Tablero de circuitos
Multiplexor 4051/4067
Cables de puente
Alambre adicional
2 potenciómetros deslizantes lineales de 10 k ohmios
16 botones Sanwa de 24 mm
Encogimiento de calor
Soldador
Cuchilla de afeitar
Resistencia de 4,7 kΩ
Lámina acrílica (para tapa)
Carcasa para botones y Arduino
impresora 3d
Cortador láser
Paso 2: diseño
Ya me proporcionaron la carcasa para mi controlador MIDI antes de comenzar el proyecto, así que hice un boceto de la tapa para visualizar dónde se colocaría todo. Sabía que quería al menos 16 botones y un par de potenciómetros como característica, así que intenté espaciar los componentes de la manera más uniforme posible.
Después de diseñar el diseño de la tapa, exporté el archivo como PDF 1: 1 y lo envié a un cortador láser para cortar una hoja de acrílico. Para los orificios de los tornillos, marqué dónde quería que estuvieran los orificios con un marcador y derretí el acrílico con un filamento caliente.
Se adjunta el PDF 1: 1 que se puede imprimir como 1: 1 y cortar con herramientas eléctricas si no hay una cortadora láser disponible.
Paso 3: Construcción y cableado
Después de cortar el acrílico, descubrí que el acrílico era demasiado delgado para soportar suficientemente todos los componentes. Luego corté otra hoja y las pegué, lo que resultó funcionar perfectamente.
El cableado de los componentes requirió un poco de prueba y error, pero resultó en el boceto de Fritzing adjunto. Primero conecté los cables de tierra y la resistencia de 4.7kΩ, soldé y encogí las conexiones en los botones. El montaje de los dos potenciómetros deslizantes requirió orificios de fusión para los tornillos en el acrílico. Después de atornillar los dos potenciómetros, se conectaron a los pines analógicos A0 y A1. Una vez que se completó el cableado, recordé que no había tapas de perillas para mis faders, así que en lugar de comprarlas, imprimí algunas tapas de perillas con una impresora 3-D dibujándolas en Autodesk Fusion 360 y exportándolas a un archivo STL. Delaware
El Arduino Uno solo tiene 12 pines de entrada digital disponibles, pero se debían conectar 16 botones. Para compensar esto, conecté un multiplexor 74HC4051 en una placa que usa 4 pines de entrada digital y permite que múltiples señales usen una línea compartida, lo que da como resultado 8 pines de entrada digital disponibles para un total de 16 pines digitales disponibles para su uso.
Conectar los botones a los pines correctos fue simplemente una cuestión de crear una matriz 4x4 y usarla en el código. Sin embargo, la parte complicada fue que el multiplexor específico comprado tenía un diseño de pines específico con el que la hoja de datos ayudaba y también tenía un diseño de nota específico en mente al conectar los botones, que terminó pareciéndose un poco a esto:
MATRIZ DE NOTA
[C2] [C # 2] [D2] [D # 2]
[G # 2] [A1] [A # 2] [B1]
[E1] [F1] [F # 1] [G1]
[C2] [C # 2] [D2] [D # 2]
MATRIZ DE PIN (M = ENTRADA MUX)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Paso 4: programación
Una vez que se completa el ensamblaje, programar el Arduino es todo lo que queda. El script adjunto está escrito de tal manera que se puede personalizar fácilmente.
El comienzo de la secuencia de comandos incluye la biblioteca MIDI.hy una biblioteca de controladores tomada del blog Notes and Volts, que se incluyen en el archivo zip del código. Usando la biblioteca de controladores, se pueden crear objetos para botones, potenciómetros y botones multiplexados que contienen valores de datos que incluyen el número de nota, valores de control, velocidad de nota, número de canal MIDI, etc. La biblioteca MIDI.h habilita las comunicaciones de E / S MIDI en el Puertos serie Arduino que a su vez toma los datos de los objetos del controlador, los convierte en mensajes MIDI y envía los mensajes a cualquier interfaz midi que esté conectada.
La parte de configuración vacía del script inicializa todos los canales como desactivados y también inicia una conexión en serie a 115200 baudios, una velocidad más rápida que la que se intercambian las señales MIDI.
El bucle principal esencialmente toma las matrices de botones y botones multiplexados y ejecuta un bucle for que verifica si el botón ha sido presionado o liberado y envía los bytes de datos correspondientes a la interfaz midi. El lazo del potenciómetro verifica la posición del potenciómetro y envía los cambios de voltaje correspondientes a la interfaz midi.
Paso 5: configuración
Una vez que se cargó el script en Arduino, el siguiente paso es enchufar y jugar. Sin embargo, hay un par de pasos antes de que se pueda usar.
En OSX, Apple incorporó una función para crear dispositivos midi virtuales a los que se puede acceder a través de la aplicación Audio Midi Setup en Mac. Una vez que se ha creado el nuevo dispositivo, Hairless MIDI se puede utilizar para crear una conexión en serie entre el Arduino y el nuevo dispositivo midi virtual. La conexión en serie desde Arduino a través de Hairless MIDI opera a la velocidad en baudios definida en la parte de configuración vacía del script y debe establecerse equivalente en la configuración de preferencias de Hairless MIDI.
Con fines de prueba, utilicé Midi Monitor para verificar si se estaban enviando los datos correctos a través de la conexión MIDI en serie. Una vez que determiné que todos los botones enviaban los datos correctos a través de los canales correctos, configuré la señal MIDI para que se enrutara a Ableton Live 9 como una entrada MIDI. En Ableton pude asignar muestras de audio cortadas a cada botón y reproducir cada muestra.
Recomendado:
Alimentador de peces Arduino Uno en 6 pasos baratos y sencillos: 6 pasos
¡Alimentador de peces Arduino Uno en 6 pasos baratos y fáciles !: Por lo tanto, es posible que se necesite un poco de historia de fondo para este proyecto. A las personas con peces de compañía probablemente se les presentó el mismo problema que yo: vacaciones y olvidos. Constantemente me olvidaba de alimentar a mis peces y siempre me apresuraba a hacerlo antes de que pasara a
¡Detén las manos y los pies sudorosos con Sweat Fighter !: 7 pasos (con imágenes)
¡Detén las manos y los pies sudorosos con Sweat Fighter !: 1/3/19 Actualización: Algunas personas informan sobre el dolor causado por la rápida inversión de polaridad. Actualizaré el código para reducir ese problema, pero por el momento debería dejar de construir esto. La hiperhidrosis es una condición que causa exceso
El Arduino-UNO más potente, Massduino-UNO: 9 pasos
El Arduino-UNO más potente, Massduino-UNO: ¿Qué es Massduino? Massduino es una nueva línea de productos que combina la plataforma Arduino en periféricos ricos, de desarrollo conveniente y rápido, de bajo costo y fáciles de fabricar con ventajas de producción a gran escala. Casi todo el código Arduino puede ser un
Arduino UNO 3 en uno: 6 pasos
Arduino UNO 3 en uno: el proyecto " Arduino UNO 3 en uno " tiene como objetivo crear una plataforma con las tres características más importantes y útiles que combinan microcontrolador, espacio prototipo y fuente de alimentación. Te permite crear proyectos compactos y móviles sin con
Controlador de tira de luces LED MIDI 5V para Spielatron u otro sintetizador MIDI: 7 pasos (con imágenes)
Controlador de tira de luces LED MIDI 5V para Spielatron u otro sintetizador MIDI: este controlador destella tiras de luces LED de tres colores por 50mS por nota. Azul para G5 a D # 6, rojo para E6 a B6 y verde para C7 a G7. El controlador es un dispositivo MIDI ALSA, por lo que el software MIDI puede emitir a los LED al mismo tiempo que un dispositivo de sintetizador MIDI