← Voltar para o blog
Projetos

I Built an Arduino MIDI Foot Controller: the OpenMIDIStomper

Conheça o OpenMIDIStomper: controlador MIDI com Arduino, matriz de footswitches, oito bancos, pedais de expressão e presets configurados pelo navegador.

O pedal OpenMIDIStomper com o gabinete e a disposição dos footswitches.
Miniatura oficial do vídeo no YouTube: I Built an Arduino MIDI Foot Controller: the OpenMIDIStomper

Assista ao vídeo no YouTube

Um controlador de pé permite mudar sons e disparar ações sem tirar as mãos do instrumento. Construí o OpenMIDIStomper como um pedal MIDI aberto com Arduino, oito footswitches, oito LEDs e duas entradas para pedais de expressão. A eletrônica fica em uma caixa de alumínio Hammond, e uma Arduino Pro Micro fornece a conexão USB MIDI.

O painel é compacto, mas a configuração vai além de oito comandos. Bancos e mensagens múltiplas permitem usar a mesma pedaleira em músicas, plugins e tarefas diferentes. Esse projeto MIDI com Arduino também serve de referência para outros layouts, desde que circuito e configuração do firmware sejam modificados em conjunto.

Oito bancos sem 64 interruptores físicos

O firmware oferece oito bancos de oito atribuições. Segure um footswitch por aproximadamente um segundo para selecionar o banco correspondente; os LEDs indicam qual está ativo. Cada banco modifica as mensagens dos controles, criando 64 posições de atribuição com oito interruptores físicos.

No firmware demonstrado, a mensagem normal é enviada ao soltar o botão. Essa escolha deixa tempo para distinguir o toque do gesto de segurar usado na troca de banco. Se você for mapear ações sensíveis ao tempo, entenda esse comportamento antes de tocar.

Cada footswitch pode enviar até cinco mensagens configuradas. Uma atribuição pode combinar, por exemplo, uma nota, um Control Change e um Program Change. O resultado no plugin depende do mapeamento e da implementação MIDI do receptor; USB MIDI oferece a conexão, sem criar automaticamente um preset para todo equipamento.

A matriz deixa pinos para LEDs e expressão

Ligar separadamente oito botões, oito LEDs e duas entradas analógicas excederia os pinos disponíveis neste desenho. Por isso, os footswitches usam uma matriz: linhas interligam um grupo de terminais e colunas interligam o outro. O firmware identifica cada chave pela interseção entre linha e coluna.

O sketch contém a quantidade de linhas, colunas e seus pinos. Esses valores precisam corresponder ao circuito. Alterar a quantidade de controles também exige revisar a matriz e a configuração, além dos furos no gabinete.

Cada LED tem uma saída digital e um resistor em série; o circuito apresentado utiliza resistores de 220 Ω. O vídeo observa que um valor maior reduz o brilho. Ao criar uma variante, confira o esquema e as especificações dos componentes.

As entradas de expressão com conectores de um quarto de polegada são ligadas como entradas de potenciômetro. Confira as conexões do jack e do pedal com o esquema do projeto antes de usar. O gabarito de furação corresponde ao modelo Hammond desta montagem; outra caixa exige conferir as medidas.

Prepare as dependências do firmware

O pacote mostrado reúne firmware Arduino, editor no navegador, esquema, arquivos do gabinete e presets. A wiki explica circuito e configurações. Entre as bibliotecas citadas estão MIDIUSB, ResponsiveAnalogRead e a biblioteca para renomear o dispositivo USB como OpenMIDIStomper.

Abra o sketch no Arduino IDE, instale as dependências e selecione a placa e a porta USB correspondentes à Pro Micro. Confira as configurações de linhas, colunas, LEDs e expressão antes de gravar. O editor no navegador prepara os dados das mensagens, que depois entram no sketch.

Configure um banco no editor

Escolha o banco e o footswitch. O editor oferece até cinco posições de mensagem para essa atribuição. Selecione o tipo e, conforme o caso, número, valor e canal. As opções demonstradas incluem notas, Control Change, Program Change e um modo toggle de nota que alterna o estado a cada acionamento.

Deixe em −1 as posições não utilizadas nesse formato de configuração. Isso desativa a posição em vez de enviar uma mensagem adicional. Observe a numeração dos canais: 0–15 no editor corresponde aos canais MIDI 1–16 exibidos normalmente.

Depois de editar:

  1. Copie a configuração gerada para a área de transferência.
  2. Abra a área de configuração das mensagens no sketch Arduino.
  3. Substitua os dados correspondentes dentro das chaves pela configuração gerada.
  4. Grave o firmware atualizado.
  5. Abra um monitor MIDI e confira tipos, números e canais nos botões e bancos alterados.

O editor gera dados para o firmware. Nesse fluxo, modificar a tela do navegador não altera instantaneamente a memória do pedal: é necessário atualizar o código e fazer o upload.

Salve e reutilize presets

O editor exporta a configuração de um banco como arquivo de texto. É possível importar esse arquivo em outro banco e repetir a cópia, a substituição e o upload. Isso ajuda quando plugins ou músicas exigem atribuições diferentes: mantenha um arquivo identificado para cada mapeamento.

A demonstração mostra tanto a edição de botões individuais quanto a importação de um preset, verificando o resultado no monitor MIDI. Essa última conferência encontra erros de numeração dos canais e mensagens extras em posições que deveriam estar desativadas.

Para o guitarrista, o benefício é ter ações repetíveis sob os pés. Para quem constrói controladores MIDI DIY, o valor está na integração entre matriz, bancos, LEDs e editor. Comece com um pequeno mapeamento conferido e amplie até atender às ações reais da sua apresentação.

Crie seu próprio controlador MIDI. Do jeito mais fácil. Tire sua ideia do papel com o MIDI Controller Builder. Comece a criar seu controlador.