MidiMood
Para um tutorial detalhado, visite:
- Fazendo música com Arduino: https://go.musiconerd.com/making-music-with-arduino
- Curso Fazendo Música com Arduino em Português: https://go.musiconerd.com/curso-completo
- Vídeo do processo de construção: https://youtu.be/aLhOO-UiMg4
Este repositório contém o código para um projeto de controlador MIDI personalizado chamado MidiMood, construído usando um microcontrolador ATmega32U4 (ou similar). O projeto foi projetado para lidar com potenciômetros, botões e outros controles para enviar mensagens MIDI via USB, BLE ou protocolos MIDI padrão.
Índice
- Visão geral
- Características
- Descrição dos arquivos
- Instruções de configuração
- Dependências
- Uso
- Licença
Visão geral
MidiMood é uma implementação abrangente de controlador MIDI que suporta vários métodos de entrada (botões, potenciômetros, codificadores) e métodos de saída (USB MIDI, BLE MIDI). O controlador foi projetado para ser altamente personalizável, suportando múltiplas plataformas de microcontroladores, incluindo ATmega32U4, ATmega328 e Teensy.
Características
- Suporte USB MIDI : Envie e receba mensagens MIDI via USB.
- Suporte BLE MIDI : Use Bluetooth Low Energy (BLE) para comunicação MIDI sem fio.
- Manipulação de potenciômetros e botões : capture entradas de potenciômetros e botões e converta-as em mensagens MIDI.
- Suporte a multiplexadores : Amplie o número de entradas usando multiplexadores.
- Suporte para depuração : As mensagens de depuração podem ser habilitadas via comunicação serial.
- Multiplataforma : Suporta microcontroladores ATmega32U4, ATmega328 e Teensy.
Descrição dos arquivos
- _MidiMood.ino : O esboço principal do Arduino que inicializa o controlador MIDI e executa o loop principal.
- A_POTENTIOMETERS.ino : Contém a lógica para ler os valores do potenciômetro e convertê-los em mensagens MIDI Control Change.
- B_BUTTONS.ino : Manipula as entradas dos botões, convertendo-as em mensagens MIDI Note On/Off ou Control Change.
- FUNCTIONS.ino : Funções auxiliares usadas em todo o projeto, incluindo manipulação de mensagens MIDI e outras funções utilitárias.
- LOOP.ino : O loop principal onde o programa verifica as entradas e envia mensagens MIDI.
- MACKIE.h : Define constantes para o protocolo Mackie Control Universal (MCU), usado para controlar DAWs.
- Z_ATMEGA32U4.ino : Código de configuração específico do microcontrolador para placas baseadas em ATmega32U4.
- Z_SETUP.ino : Código de configuração geral, inicialização de pinos e configuração de modos de entrada/saída.
Material
- Arduino Pro Micro: https://amzn.to/2Vcz3Nz
- Fios: https://amzn.to/2xugvPF
- Fio de cobre nu (opcional) calibre 18-24: https://amzn.to/2FVuDpe
- 26 Potenciômetro rotativo b10k: https://amzn.to/3ckRKUY
- 26 botões
- Espaçadores M3 35mm: https://amzn.to/2z15BkN
- Parafusos M3: https://amzn.to/2RHtfJw
- Multiplexador CD4067: https://amzn.to/303jJVe
- 11 Chave seletora: https://amzn.to/3hDmORR
- 1 led
- 1 suporte de led
- 1 resistor de 1k ohm
Instruções de configuração
1. Clone o repositório
git clone https://github.com/yourusername/midi-controller-project.git
cd midi-controller-project
2. Instale o Arduino IDE
Certifique-se de ter o Arduino IDE instalado em seu computador. Você pode baixá-lo no site oficial.
3. Abra o projeto
Abra o arquivo _MidiMood.ino
no IDE do Arduino. Este arquivo serve como ponto de entrada para o projeto.
4. Selecione seu quadro
No Arduino IDE, selecione a placa apropriada com base no seu microcontrolador:
- Para placas ATmega32U4 (por exemplo, Arduino Leonardo), selecione Arduino Leonardo .
- Para placas ATmega328 (por exemplo, Arduino Uno), selecione Arduino Uno .
- Para placas Teensy, selecione o modelo Teensy correto.
5. Carregue o código
Conecte seu microcontrolador ao computador via USB e carregue o código usando o botão Upload no IDE do Arduino.
Dependências
- ResponsiveAnalogRead : Biblioteca para suavizar leituras analógicas de potenciômetros.
- Biblioteca MIDI : Para lidar com a comunicação MIDI via USB e serial.
- BLE MIDI : Para comunicação Bluetooth MIDI (se estiver usando BLE).
Você pode instalar essas bibliotecas usando o Arduino Library Manager.
Uso
Assim que o código for carregado, seu controlador MIDI será reconhecido pelo seu computador ou dispositivo móvel como um dispositivo MIDI. Você pode começar a usá-lo para enviar mensagens MIDI para seu DAW ou outro software compatível com MIDI.
Depuração
Se você quiser ver mensagens de depuração, habilite o sinalizador DEBUG
no código. Isso permitirá que você monitore as mensagens MIDI e outros detalhes através do monitor serial no Arduino IDE.