Índice:
- Etapa 1: Materiais
- Etapa 2: Design
- Etapa 3: construção e fiação
- Etapa 4: Programação
- Etapa 5: configuração
Vídeo: Arduino Uno Midi Fighter: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Este instrutível foi criado em cumprimento ao requisito do projeto do Makecourse na University of South Florida (www.makecourse.com)
Baseado no popular MidiFighter da DJ Techtools, este controlador de Interface Digital de Instrumento Musical (MIDI) alimentado por Arduino caseiro pode ser usado como um dispositivo MIDI em qualquer software Digital Audio Workstation (DAW). Um controlador MIDI pode enviar e receber mensagens MIDI de um computador e pode ser usado para controlar diretamente qualquer software que esteja sendo usado. Além disso, os controles em um controlador MIDI são totalmente personalizáveis - o que significa que cada botão individual, controle deslizante e botão giratório podem ser mapeados para qualquer função em uma DAW. Por exemplo, pressionar um botão pode tocar uma nota específica ou ser programado para alternar o andamento do seu projeto de áudio.
github.com/jdtar/Arduino-Midi-Controller
Etapa 1: Materiais
Abaixo está uma lista de materiais e ferramentas usados neste projeto.
Arduino Uno
Tábua de pão
4051/4067 Multiplexer
Fios de ligação
Fio Extra
2x potenciômetros de slide linear de 10k ohm
16x botões Sanwa 24mm
Termoencolhível
Ferro de solda
Lâmina de barbear
Resistor de 4,7 kΩ
Folha de acrílico (para tampa)
Carcaça para botões e Arduino
impressora 3d
Cortador a laser
Etapa 2: Design
Eu já tinha fornecido a caixa para meu controlador MIDI antes de iniciar o projeto, então fiz um esboço para a tampa a fim de visualizar onde tudo deveria ser colocado. Eu sabia que queria pelo menos 16 botões e alguns potenciômetros como recurso, então tentei espaçar os componentes da maneira mais uniforme possível.
Depois de desenhar o layout da tampa, exportei o arquivo como PDF 1: 1 e enviei para um cortador a laser para cortar uma folha de acrílico. Para os orifícios dos parafusos, marquei onde queria que os orifícios ficassem com o marcador e derreti o acrílico com um filamento quente.
Em anexo está o PDF 1: 1 que pode ser impresso como 1: 1 e cortado com ferramentas elétricas se um cortador a laser não estiver disponível.
Etapa 3: construção e fiação
Depois de cortar o acrílico, descobri que o acrílico era muito fino para suportar suficientemente todos os componentes. Em seguida, cortei outra folha e colei-as, o que funcionou perfeitamente.
A fiação dos componentes exigiu algumas tentativas e erros, mas resultou no esboço de Fritzing anexado. Primeiro conectei os fios terra e o resistor de 4,7 kΩ, soldou e terminei as conexões nos botões. A montagem dos dois potenciômetros deslizantes exigiu orifícios de fusão para os parafusos no acrílico. Depois que os dois potenciômetros foram aparafusados, eles foram conectados aos pinos analógicos A0 e A1. Depois que a fiação foi concluída, lembrei que não havia tampas de botão para meus faders, então, em vez de comprá-los, imprimi algumas tampas de botão usando uma impressora 3-D fazendo um esboço no Autodesk Fusion 360 e exportando para um arquivo STL. De
O Arduino Uno tem apenas 12 pinos de entrada digital disponíveis, mas 16 botões deveriam ser conectados. Para compensar isso, conectei um multiplexador 74HC4051 em uma placa de ensaio que usa 4 pinos de entrada digital e permite que vários sinais usem uma linha compartilhada, resultando em 8 pinos de entrada digital disponíveis para um total de 16 pinos digitais disponíveis para uso.
Conectar os botões aos pinos corretos foi simplesmente uma questão de criar uma matriz 4x4 e usá-la no código. A parte complicada, entretanto, era que o multiplexador específico adquirido tinha um layout de pino específico com o qual a folha de dados ajudava e também eu tinha um layout de nota específico em mente ao conectar os botões, o que acabou parecendo um pouco com isto:
NOTA MATRIZ
[C2] [C # 2] [D2] [D # 2]
[G # 2] [A1] [A # 2] [B1]
[E1] [F1] [F # 1] [G1]
[C2] [C # 2] [D2] [D # 2]
PIN MATRIX (M = MUX INPUT)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Etapa 4: Programação
Assim que a montagem estiver concluída, a programação do Arduino é tudo o que resta. O script anexado é escrito de forma que seja facilmente personalizável.
O início do script inclui a biblioteca MIDI.h e uma biblioteca de controlador emprestada do blog Notes and Volts, ambas incluídas no arquivo zip do código. Usando a biblioteca de controladores, objetos para botões, potenciômetros e botões multiplexados podem ser criados contendo valores de dados que incluem o número da nota, valores de controle, velocidade da nota, número do canal MIDI, etc. A biblioteca MIDI.h permite comunicações MIDI I / O no Portas seriais do Arduino que, por sua vez, pegam os dados dos objetos do controlador, os convertem em mensagens MIDI e as enviam para qualquer interface midi conectada.
A parte de configuração vazia do script inicializa todos os canais como desligados e também inicia uma conexão serial em 115200 baud, uma taxa mais rápida do que os sinais MIDI estão sendo trocados.
O loop principal basicamente pega os arranjos de botões e botões multiplexados e executa um loop for que verifica se o botão foi pressionado ou solto e envia os bytes de dados correspondentes para a interface midi. O loop do potenciômetro verifica a posição do potenciômetro e envia as mudanças de tensão correspondentes de volta para a interface midi.
Etapa 5: configuração
Depois que o script foi carregado no Arduino, a próxima etapa é plug and play. Existem algumas etapas, no entanto, antes que ele possa ser usado.
No OSX, a Apple incorporou um recurso para criar dispositivos midi virtuais que podem ser acessados através do aplicativo Audio Midi Setup em macs. Depois que o novo dispositivo for criado, o Hairless MIDI pode ser usado para criar uma conexão serial entre o Arduino e o novo dispositivo midi virtual. A conexão serial do Arduino por meio do MIDI sem cabelo opera na taxa de transmissão definida na parte de configuração de vazio do script e deve ser definida como equivalente nas configurações de preferência MIDI sem fio.
Para fins de teste, usei o Midi Monitor para verificar se os dados corretos estavam sendo enviados através da conexão serial-MIDI. Depois de determinar que todos os botões enviam os dados corretos pelos canais corretos, configurei o sinal MIDI para rotear para o Ableton Live 9 como uma entrada MIDI. No Ableton, consegui mapear amostras de áudio fatiadas para cada botão e reproduzir cada amostra.
Recomendado:
Alimentador de peixes Arduino Uno em 6 etapas fáceis e baratas !: 6 etapas
Arduino Uno Fish Feeder em 6 etapas baratas e fáceis !: Portanto, um pouco de história de fundo pode ser necessária para este projeto. Pessoas com peixes de estimação provavelmente enfrentavam o mesmo problema que eu: férias e esquecimento. Eu sempre esquecia de alimentar meus peixes e sempre me esforçava para fazê-lo antes de ir para
Levitação acústica com Arduino Uno passo a passo (8 etapas): 8 etapas
Levitação acústica com Arduino Uno passo a passo (8 etapas): transdutores de som ultrassônico L298N fonte de alimentação do adaptador DC fêmea com um pino DC macho Arduino UNOBreadboardComo isso funciona: primeiro, você carrega o código para Arduino Uno (é um microcontrolador equipado com digital e portas analógicas para converter código (C ++)
O mais poderoso Arduino-UNO, Massduino-UNO: 9 etapas
O mais poderoso Arduino-UNO, Massduino-UNO: O que é Massduino? Massduino é uma nova linha de produtos, que combina a plataforma de periféricos Arduino rica, conveniente e rápido desenvolvimento, baixo custo e fácil de fabricar vantagens de produção em larga escala. Quase todo o código do Arduino pode ser um
Arduino Based MIDI Fighter (Touch Sensitive): 7 etapas (com imagens)
Arduino Based MIDI Fighter (Touch Sensitive): MIDI significa Musical Instrument Digital Interface. Aqui, estamos fazendo um lutador MIDI sensível ao toque. Ele tem 16 pads. estes podem ser aumentados ou diminuídos. Aqui, usei 16 por causa dos pinos Arduino limitados. Também usei pinos de entrada analógica
MIDI 5V LED Strip Light Controller para o Spielatron ou outro sintetizador MIDI: 7 etapas (com imagens)
Controlador de faixa de LED MIDI 5V para o Spielatron ou outro sintetizador MIDI: Este controlador pisca faixas de LED de três cores por 50 ms por nota. Azul para G5 a D # 6, vermelho para E6 a B6 e verde para C7 a G7. O controlador é um dispositivo ALSA MIDI para que o software MIDI possa emitir para os LEDs ao mesmo tempo que um dispositivo de sintetizador MIDI