Índice:

Controlador de pedal Arduino MIDI: 12 etapas
Controlador de pedal Arduino MIDI: 12 etapas

Vídeo: Controlador de pedal Arduino MIDI: 12 etapas

Vídeo: Controlador de pedal Arduino MIDI: 12 etapas
Vídeo: The 5 BEST ARDUINOS for Building a MIDI CONTROLLER 2024, Novembro
Anonim
Arduino MIDI Foot Controller
Arduino MIDI Foot Controller

Recentemente, projetei este controlador MIDI para operar o looper de frase embutido no pedal de delay Boss DD500. Eu controlo todo o meu equipamento de guitarra usando uma placa Behringer FCB MIDI, e isso me permite mudar os patches no pedal de delay no loop de efeitos, enquanto troco os canais do amplificador ao mesmo tempo.

O DD500 tem uma função de looper muito básica incorporada, mas uma das desvantagens disso é que quando o looper está ativo, ele é controlado pelos pedais do pedal. Isso significa que você não pode alterar os patches no pedal enquanto o loop estiver ativo, pois ele basicamente captura as funções dos pedais. Como estou usando MIDI, essa limitação não existe, pois é simplesmente um problema físico. Isso significava reservar 5 pedais em meu controlador MIDI principal para o looper, então decidi construir um controlador separado para eles.

Meu plano inicial para isso era pegar um pequeno gabinete Hammond e colocar 5 pedais e aprender alguns códigos básicos do Arduino. Conforme comecei a aprender mais e meu código estava funcionando, isso acabou me motivando a tentar mais coisas e, em seguida, basicamente virou uma bola de neve para algo maior.

Etapa 1: Conceitos

Conceitos
Conceitos
Conceitos
Conceitos

Uma das primeiras ideias era ter apenas 5 botões consecutivos com LEDs de status. Isso foi bastante simples de fazer um mock-up em uma placa de ensaio com o Arduino. A adição de novos recursos e hardware acabou sendo um processo no qual eu estava constantemente projetando e redesenhando o layout físico no papel e construindo no projeto breadboard. Mesmo com muito planejamento, muito do trabalho nisso foi feito em tempo real no início.

As 2 fotos acima mostram o primeiro desenho que coloquei no papel, que deu o pontapé inicial na ideia, seguido por um mês de anotações feitas seguindo o que moldou os layouts físicos e PCB.

Etapa 2: Prototipagem de tábua de pão

Prototipagem de tábua de pão
Prototipagem de tábua de pão
Prototipagem de tábua de pão
Prototipagem de tábua de pão

Todo o projeto foi construído em uma placa de ensaio e totalmente testado para garantir que funcionasse totalmente com o DD500 antes de iniciar qualquer trabalho de alojá-lo permanentemente. Alguns recursos extras foram adicionados ao código, o que deu ao controlador algumas funções extras que faltavam ao DD500. Eles serão discutidos mais detalhadamente na seção de código.

O pedal possui 5 pedais, 4 LEDs de status, 5 telas LCD I2C e é controlado por um Arduino Nano Every. Ele obtém energia de uma PSU de pedal de guitarra de 9V por meio de uma breakout box separada que transporta essa energia pelo cabo MIDI usando os 2 pinos que normalmente não são usados em um conector MIDI.

Etapa 3: Fabricação

Fabricação
Fabricação
Fabricação
Fabricação
Fabricação
Fabricação

Eu examinei várias caixas possíveis para abrigar o projeto e até considerei a ideia de tentar dobrar minha própria caixa com folhas de alumínio. Acabei escolhendo um gabinete Hammond que era largo o suficiente para abrigar as 5 telas LCD 16X2 que eu tinha escolhido.

Os pedais eram interruptores de toque suave momentâneos genéricos.

Nesse estágio, decidi fazer engastes de tela de montagem personalizada para manter a parte frontal limpa, pois cortaria os orifícios da tela à mão com uma Dremel e sabia que provavelmente haveria algumas áreas menos perfeitas. Mandei cortá-los por um estúdio de design local que faz o corte a laser, primeiro como modelos de papelão para ter certeza de que meus tamanhos estavam todos corretos, e depois em acrílico branco de 3 mm para a peça final.

Etapa 4: Mock-up e layout de CAD

Mock-up e layout de CAD
Mock-up e layout de CAD
Mock-up e layout de CAD
Mock-up e layout de CAD

A partir de meus esboços de papel, usei o Inkscape para dispor todos os componentes físicos e finalizar os tamanhos e posições. Eu também vim com o método de montagem da tela neste ponto. A fim de minimizar a quantidade de parafusos visíveis na frente, decidi montar todas as telas em algumas placas de alumínio da parte traseira usando espaçadores, e então precisaria de apenas 4 parafusos por placa para fixá-los ao gabinete, que também manteria os engastes da tela no lugar.

Etapa 5: Design de PCB

Design PCB
Design PCB
Design PCB
Design PCB
Design PCB
Design PCB
Design PCB
Design PCB

Para criar o PCB, usei um site chamado EasyEDA. Possui um ambiente de editor no qual você pode desenhar um esquema de seus componentes, transformá-lo em um layout de PCB e, em seguida, exportá-lo diretamente para o JLCPCB para transformá-lo em placas. Eu nunca tinha feito nada parecido antes, mas eles têm um excelente guia no site que explica como o editor funciona, e em uma hora eu já tinha o quadro projetado e encomendado.

Algumas áreas da placa foram mal projetadas na época devido à inexperiência, como usar um único barramento de 5 V para a alimentação da tela, por exemplo, ao invés de dar a cada uma uma alimentação separada. Felizmente, quaisquer quedas de tensão ocorridas não foram suficientes para causar problemas nas telas.

As placas chegaram cerca de 2 semanas depois e felizmente funcionaram sem quaisquer problemas.

Etapa 6: montagens de tela

Montagens de tela
Montagens de tela
Montagens de tela
Montagens de tela
Montagens de tela
Montagens de tela

As primeiras peças feitas foram as montagens de tela. Usei alumínio de 3 mm para isso e fiz furos para isoladores. As dimensões foram determinadas colocando tudo sobre a mesa como eu queria que o pedal final fosse e medindo a partir dos orifícios de montagem nos PCBs da tela. Também coloquei os pedais com eles para obter as distâncias para eles.

Depois que todos os orifícios foram perfurados, as telas foram montadas e verificadas quanto à sua esquadria, segurando uma régua contra as bordas inferiores planas. Tudo alinhado até agora.

Etapa 7: Gabinete

Gabinete
Gabinete
Gabinete
Gabinete
Gabinete
Gabinete

O próximo passo foi modificar o caso. Os pedais e LEDs eram simples, pois cada um exigia um orifício de 12 mm e 5 mm, respectivamente.

A maior parte do trabalho físico veio ao cortar os orifícios da tela. Usei uma Dremel com alguns discos de corte resistentes e várias limas para limpar os orifícios posteriormente. Esta parte levou cerca de 2 horas no total.

O gabinete que usei foi projetado para fins industriais e foi feito dobrando uma única peça de metal e soldando por pontos os cantos. Isso significava que algum trabalho seria necessário para limpar esses cantos usando enchimento de carroceria para nivelar os pontos baixos e preencher as lacunas nas bordas.

Neste ponto, o caso estava totalmente preparado e eu fiz um mock up de tudo apenas para ver como ficaria.

Etapa 8: Uh-Oh

Uh-oh
Uh-oh
Uh-oh
Uh-oh
Uh-oh
Uh-oh

E então percebi que, apesar de todo o meu planejamento e medição, cometi um ENORME erro. Eu projetei o layout da placa e da caixa independentemente um do outro. Na minha cabeça, o tabuleiro ficaria quase nivelado com a parede superior, com um pequeno impasse atrás dele. Mas não havia absolutamente nenhuma maneira que isso pudesse caber. E também não havia espaço para colocá-lo de lado. Um descuido enorme, mas felizmente que consegui retificar, pois ainda havia um pouco de espaço entre as montagens da tela na tampa traseira do gabinete. Mais alguns furos nas montagens da tela e alguns espaçadores, e estamos de volta ao trabalho, com espaço suficiente para colocar a tampa.

Etapa 9: pintar

Pintar
Pintar
Pintar
Pintar
Pintar
Pintar

Tudo foi desmontado novamente, e a caixa foi pintada em Vermelho Metálico Doce, seguida de algumas camadas de laca. O caso foi deixado para curar por uma semana, embora eu descobrisse que a laca ainda estava um pouco mole neste ponto, quando eu estava construindo tudo. Algumas pequenas áreas da tinta foram danificadas por causa disso. Algo que pretendo evitar no meu próximo projeto.

Durante esse tempo, comprei uma impressora 3D e decidi usá-la para fazer algumas arruelas para os pedais, já que as de náilon que comprei tinham uma coloração amarelada horrível e eram mal dimensionadas.

Etapa 10: Fiação

Fiação
Fiação
Fiação
Fiação
Fiação
Fiação
Fiação
Fiação

A última parte da montagem física foi conectar tudo. Mais uma vez, os problemas com o design da caixa / design do PCB surgiram novamente e algumas das posições do cabeçote no PCB significaram cruzar muitos fios uns sobre os outros, tornando as coisas um pouco mais confusas do que eu esperava.

Os fios para as telas foram agrupados em conjuntos de 4 e usando termorretrátil e envoltório trançado, feitos em uma única peça.

Etapa 11: Código Arduino

Image
Image

Como um iniciante na codificação do Arduino, eu estava aprendendo sozinho à medida que avançava. O código é provavelmente o equivalente de programação a um "longo caminho", mas fiquei satisfeito por ter funcionado conforme o esperado.

O looper no DD500 tem 5 funções básicas:

  • Looper ligado / desligado
  • Gravar / Overdub / Reproduzir
  • Tocar loop gravado
  • Pare a reprodução
  • Limpar loop gravado

Cada uma dessas funções tem um pedal correspondente e, com exceção do botão de parada, um LED de status. As telas de LCD também são atualizadas com informações relevantes para mostrar se o pedal está no modo de gravação, overdubbing ou reprodução, bem como qual função cada pedal fará, dependendo do que está acontecendo naquele momento.

Um outro recurso que adicionei foi para controlar quantas vezes o recurso de gravação / overdub foi ativado. Isso é mantido no código incrementando um número inteiro, que é exibido na tela de 'buffer', listando quantas faixas são gravadas. Embora o DD500 não possa apagar trilhas individuais, adicionei isso apenas como um exercício de codificação para ver se conseguia fazer funcionar.

Parece haver um problema ao enviar arquivos para o Instructables, então coloquei uma cópia do código no Pastebin em:

2 bibliotecas foram usadas no código:

LiquidCrystal_I2C

Biblioteca de MIDI FortySevenEffects

Etapa 12: Conclusão

Conclusão
Conclusão

Uma das maiores coisas que aprendi com este projeto é que planejar o máximo que puder com antecedência pode evitar possíveis problemas. Os problemas com a montagem do meu PCB destacam a importância disso. Manter boas anotações também é algo que eu recomendo fortemente. Sem eles, posso ter encontrado mais problemas do que antes. No momento, estou construindo meu segundo controlador MIDI e, desta vez, fiz maiores esforços para otimizar meu código e projetar meu hardware em torno de como o PCB deve ser montado.

Recomendado: