MidiMood
Para obtener un tutorial detallado, visite:
- Hacer música con Arduino: https://go.musiconerd.com/making-music-with-arduino
- Curso Fazendo Música con Arduino en Português: https://go.musiconerd.com/curso-completo
- Vídeo del proceso de construcción: https://youtu.be/aLhOO-UiMg4
Este repositorio contiene el código para un proyecto de controlador MIDI personalizado llamado MidiMood, creado con un microcontrolador ATmega32U4 (o similar). El proyecto está diseñado para manejar potenciómetros, botones y otros controles para enviar mensajes MIDI a través de USB, BLE o protocolos MIDI estándar.
Tabla de contenido
- Descripción general
- Características
- Descripción de archivos
- Instrucciones de configuración
- Dependencias
- Uso
- Licencia
Descripción general
MidiMood es una implementación integral de controlador MIDI que admite varios métodos de entrada (botones, potenciómetros, codificadores) y métodos de salida (USB MIDI, BLE MIDI). El controlador está diseñado para ser altamente personalizable y admite múltiples plataformas de microcontroladores, incluidas ATmega32U4, ATmega328 y Teensy.
Características
- Compatibilidad con USB MIDI : envíe y reciba mensajes MIDI a través de USB.
- Compatibilidad con BLE MIDI : utilice Bluetooth Low Energy (BLE) para comunicación MIDI inalámbrica.
- Manejo de potenciómetros y botones : capture entradas de potenciómetros y botones y conviértalas en mensajes MIDI.
- Soporte de multiplexor : amplíe el número de entradas mediante multiplexores.
- Soporte de depuración : los mensajes de depuración se pueden habilitar mediante comunicación en serie.
- Multiplataforma : admite microcontroladores ATmega32U4, ATmega328 y Teensy.
Descripción de archivos
- _MidiMood.ino : El boceto principal de Arduino que inicializa el controlador MIDI y ejecuta el bucle principal.
- A_POTENTIOMETERS.ino : Contiene la lógica para leer los valores del potenciómetro y convertirlos en mensajes de cambio de control MIDI.
- B_BUTTONS.ino : Maneja las entradas de los botones, convirtiéndolas en mensajes de activación/desactivación de notas MIDI o cambios de control.
- FUNCTIONS.ino : funciones auxiliares utilizadas en todo el proyecto, incluido el manejo de mensajes MIDI y otras funciones de utilidad.
- LOOP.ino : el bucle principal donde el programa busca entradas y envía mensajes MIDI.
- MACKIE.h : define constantes para el protocolo Mackie Control Universal (MCU), utilizado para controlar DAW.
- Z_ATMEGA32U4.ino : código de configuración específico del microcontrolador para placas basadas en ATmega32U4.
- Z_SETUP.ino : Código de configuración general, inicialización de pines y configuración de modos de entrada/salida.
Material
- Arduino Pro Micro: https://amzn.to/2Vcz3Nz
- Cables: https://amzn.to/2xugvPF
- Cable de cobre desnudo (opcional) calibre 18-24: https://amzn.to/2FVuDpe
- 26 Potenciómetro giratorio b10k: https://amzn.to/3ckRKUY
- 26 perillas
- Espaciadores M3 35 mm: https://amzn.to/2z15BkN
- Tornillos M3: https://amzn.to/2RHtfJw
- Multiplexor CD4067: https://amzn.to/303jJVe
- 11 Interruptor de palanca: https://amzn.to/3hDmORR
- 1 led
- 1 soporte led
- 1 resistencia de 1k ohmios
Instrucciones de configuración
1. Clonar el repositorio
git clone https://github.com/yourusername/midi-controller-project.git
cd midi-controller-project
2. Instale el IDE de Arduino
Asegúrese de tener el IDE de Arduino instalado en su computadora. Puedes descargarlo desde el sitio web oficial.
3. Abra el proyecto
Abra el archivo _MidiMood.ino
en el IDE de Arduino. Este archivo sirve como punto de entrada al proyecto.
4. Selecciona tu tablero
En el IDE de Arduino, seleccione la placa adecuada según su microcontrolador:
- Para placas ATmega32U4 (por ejemplo, Arduino Leonardo), seleccione Arduino Leonardo .
- Para placas ATmega328 (por ejemplo, Arduino Uno), seleccione Arduino Uno .
- Para tableros Teensy, seleccione el modelo Teensy correcto.
5. Sube el código
Conecte su microcontrolador a su computadora a través de USB y cargue el código usando el botón Cargar en el IDE de Arduino.
Dependencias
- ResponsiveAnalogRead : Biblioteca para suavizar lecturas analógicas de potenciómetros.
- Biblioteca MIDI : para manejar la comunicación MIDI a través de USB y serie.
- BLE MIDI : Para comunicación Bluetooth MIDI (si se usa BLE).
Puede instalar estas bibliotecas utilizando Arduino Library Manager.
Uso
Una vez cargado el código, su computadora o dispositivo móvil reconocerá su controlador MIDI como un dispositivo MIDI. Puede comenzar a usarlo para enviar mensajes MIDI a su DAW u otro software compatible con MIDI.
Depuración
Si desea ver mensajes de depuración, habilite el indicador DEBUG
en el código. Esto le permitirá monitorear los mensajes MIDI y otros detalles a través del monitor serial en el IDE de Arduino.