Tabla de contenido:

Lune - Controlador MIDI con Arduino (para DJ o músico): 5 pasos (con imágenes)
Lune - Controlador MIDI con Arduino (para DJ o músico): 5 pasos (con imágenes)

Video: Lune - Controlador MIDI con Arduino (para DJ o músico): 5 pasos (con imágenes)

Video: Lune - Controlador MIDI con Arduino (para DJ o músico): 5 pasos (con imágenes)
Video: (ARDUINO UNO) CONTROLADOR DJ básico MIDI USB (HIDUINO) VIRTUAL DJ "7 & 8" [MEJORADO] (parte 2) 2024, Noviembre
Anonim
Image
Image
Lune - Controlador MIDI con Arduino (para DJ o músico)
Lune - Controlador MIDI con Arduino (para DJ o músico)
Lune - Controlador MIDI con Arduino (para DJ o músico)
Lune - Controlador MIDI con Arduino (para DJ o músico)
Lune - Controlador MIDI con Arduino (para DJ o músico)
Lune - Controlador MIDI con Arduino (para DJ o músico)

Este es mi primer proyecto de arduino (microcontrolador) llamado Lune. Quería aprender arduino con un proyecto grande y útil, así que decidí hacer un controlador de DJ midi que tuviera todas las funciones necesarias para ser independiente para mezclar.

Cada tipo de sensor (potenciómetro, pulsador, …) se puede aprender de forma independiente y creo que la mejor manera es aprender "cómo funciona" y "cómo está conectado" para cada sensor paso a paso.

Todo funciona así:

  1. El sensor conectado al arduino detecta un cambio
  2. El arduino envía este cambio a la computadora
  3. Un software en la computadora convierte la información serial (arduino) en MIDI que puede usar en ableton, por ejemplo

Mi controlador tiene

  • 6 potenciómetros axiales para EQ
  • 3 potenciómetros axiales para efectos
  • 6 potenciómetros lineales para volumen
  • 2 pulsadores para jugar
  • 2 Sensor ultrasónico (SR04) para efectos con la distancia de mis manos
  • 2 pulsadores para Cue
  • Pad led RGB de 2 x 4 botones
  • 1 codificador para Scratch

Paso 1: independiente o software

En primer lugar investigué los diferentes tutoriales de controlador MIDI con arduino.

Puedes hacer un controlador MIDI con un software que traduzca lo que haces en MIDI (lo que he hecho yo)

Necesitará:

  1. Software para enviar / recibir datos midi https://projectgus.github.io/hairless-midiserial/ No olvide configurar la velocidad en baudios en "preferencias" de acuerdo con la de su código arduino (para mí 9600 porque "Serial.begin (9600); ")
  2. Un dispositivo midi virtual

Otro ejemplo:

www.instructables.com/id/Easy-3-Pot-Potentiometer-Arduino-Uno-Effects-Midi-/

_

Puede hacer un controlador MIDI "real" que sin un software que se ejecute en su computadora para traducir lo que hace en el controlador en MIDI está enviando MIDI a la computadora

Por el momento, con un arduino Uno o Mega necesitas flashear la sala arduino o algo así para enviar midi directamente. Por lo que tengo entendido, si hizo esto, debe estar seguro del código que envía en el arduino porque cuando el arduino está flash no puede enviar más código (necesita volver a actualizar). He hecho muchos códigos de prueba, así que elegí la segunda opción, pero es mejor tener un dispositivo MIDI plug and play con seguridad.

Ejemplo para ir más lejos:

create.arduino.cc/projecthub/etiennedesportes/ableton-live-midi-controller-9182b3

MAJ 2018-02-28: https://www.arduino.cc/en/Reference/MIDIUSB La forma más sencilla si tiene "microcontrolador con capacidades USB nativas (placas basadas en atmega32u4 o placas ARM)" (No está bien para arduino UNO)

Paso 2: Madera y estuche

Madera y caja
Madera y caja
Madera y caja
Madera y caja
Madera y estuche
Madera y estuche

Diseño de caja de madera: utilicé un generador de cajas https://www.makercase.com/, eliminé la parte superior y la ranura para la parte superior. Para determinar la altura, busco la altura de mi botón más alto y agrego 2 cm.

Para la tapa utilicé un tablero de MDF y un Plywood Poplar 3mm que es el que está grabado.

Corte con láser las tablas de madera con los planos.

Cortó / taladró un agujero para el cable USB.

Me he unido a mis planes pero en este paso es mucho más interesante hacer tu controlador personal.

Montaje:

Para los lados pegué y ensamblé las tablas de los diferentes lados.

Para la parte superior, hice 4 agujeros en los 2 MDF superiores. (diámetro de mi tornillo + 1 mm)

Atornillo un perno y pego la tuerca al ángulo cuatro veces, para atornillar las 2 tablas de madera superiores por la parte superior después.

De esta manera tengo 4 ángulos con una tuerca pegada, los agujeros con la tuerca son los agujeros para los tornillos para fijar las tablas superiores. De hecho, no puedo acceder a la tuerca de abajo cuando atornillo las tablas de madera superiores.

Taladré agujeros en las tablas laterales (la caja), fijé (atornillar y después pegar todo) los ángulos a los lados.

Coloque las dos tablas superiores y atorníllelas.

De esta manera, no hay una tuerca visible y la tabla superior no necesita que se arregle una puta de madera, es sorprendentemente sólida, pero tal vez haya una mejor manera.

Polaco:

Usé "Vernis bois brillant 125 ml Avel Louis XIII" (esmalte francés) que está funcionando muy bien.

Fue un poco largo porque puse varias capas y esperé 24 horas entre cada una.

La tapa se ve muy bien y la madera está protegida. Era mi primera vez, así que no esperé tanto como era necesario o puse demasiado barniz en algunas partes porque el esmalte a veces no era sólido incluso después del secado, ahora (2 meses después) está bien.

Gráfico: montaje de obras de arte de Fornaseti y dibujo personal.

p.s: consejos para diseñar el controlador midi, en mi plan, los dos botones RGB 4 están demasiado cerca uno del otro

www.instructables.com/id/A-Framework-For-Making-Affordable-Stylish-Modula/

Paso 3: Electrónico

Electrónico
Electrónico
Electrónico
Electrónico
Electrónico
Electrónico

He puesto todo (para mi proyecto) en un archivo de Fritzing.

Para cada tipo de sensor necesitas aprender cómo está funcionando o qué le da al arduino.

Para ello, mire tutoriales sobre inctructable por ejemplo ("potenciómetro arduino",…).

Solía:

  • Potenciómetro
  • Almohadilla RGB (Sparkfun
  • Ultrasonido HC-SR04 (detector de distancia)
  • Codificador
  • Botón pulsador (botón de arcade)

Recomiendo que cuando quieras hacer tu montaje final lo hagas en fritzing al mismo tiempo porque es difícil ver cuando hay toneladas de cables.

Pedido:

Después de saber todo lo que quiero o al menos la mayor parte, ordené mis componentes. De esta forma tienes menos gastos de envío.

Por mi parte, ordeno más en Conrad o RS (estoy en Francia) y piezas más específicas como el pad RGB en robotshop.

Un ejemplo de mi comando Conrad en las imágenes.

Paso 4: Código Arduino

Código Arduino
Código Arduino

Ahí está mi código para arduino. Debe enviarlo, después de sus cambios si hace un controlador diferente, con Arduino IDE a su microcontrolador por USB (youtube tiene tutoriales). En archivos adjuntos:

  • El final
  • Uno solo para trabajar las 2 almohadillas RGB con 6 colores posibles (RGB + cian + rosa + amarillo).
  • Partes antiguas del código que escribí para aprender los diferentes sensores

Algunas partes están escritas por mí.

Necesita instalar bibliotecas arduino (busque el error y el "incluir") como Keypad.h para el pad.

Las diferentes clases se encuentran al final de los archivos.

Puede notar que una clase está aquí para enviar la información de serie.

void MIDImessage (comando byte, byte data1, byte data2) // --------- NECESARIO, pasar valores a través del comando Midi estándar

{Serial.write (comando); Serial.write (datos1); Serial.write (datos2); }"

Paso 5: mejoras

Todo funciona pero es un prototipo. Hay algunas preguntas o puntos de mejora.

Energía:

- Cuando utilicé el pad RGB con cada sensor, los leds RGB brillan muy poco. Los arduino 5v son muy pocos para mi proyecto? Cuando solo los uso, no hay problema.

Código:

- Tengo el serial del codificador pero no sé cómo funciona en MIDI. Me refiero a lo que quieren en la salida MIDI. Si sabe cómo configurar el codificador para rayar en traktor, contácteme.

- Algunos de mis códigos para botones no son buenos para una aplicación de música. Necesitamos la capacidad de respuesta más rápida y vi que algunos de los códigos de mis botones no están escritos de la mejor manera para hacerlo (botón Reproducir si recuerdo bien).

Recomendado: