MIDIfying um órgão eletrônico: 6 etapas
MIDIfying um órgão eletrônico: 6 etapas
Anonim
MIDIfying an Electronic Organ
MIDIfying an Electronic Organ

Este instrutível orienta você a pegar aquele velho órgão eletrônico não amado que você tem em sua garagem ou porão e convertê-lo em um instrumento musical moderno. Não vamos nos deter muito nos detalhes do órgão específico que você possui, a não ser para dizer que fundamentalmente o teclado musical típico é um conjunto de teclas que se conectam quando pressionadas a um barramento comum. No mundo antigo, existiam circuitos consideráveis ao lado das teclas que faziam com que uma saída fosse passada para o barramento, que por sua vez era amplificado e passado para um sistema de áudio. Hoje o teclado é um conjunto de sensores; lemos o estado das teclas individuais e enviamos as alterações para um sintetizador de software, que é acionado por comandos MIDI.

O instrutível cobre grande parte do processo envolvido, desde coletar o estado digital das chaves, gerenciá-lo com um microprocessador Arduino, construir um fluxo de dados MIDI e passá-lo para um computador (incluindo Raspberry Pi) que está executando o sintetizador.

Etapa 1: o teclado abstraído

O seguinte representa um órgão eletrônico abstrato, onde cada linha é um conjunto de teclas ou paradas ou outras chaves de controle. As entradas da coluna 0 representam teclas individuais e - um barramento ao qual a tecla é conectada quando é pressionada. O Grande Manual de 61 chaves pode ser a primeira linha, o Manual Swell a segunda linha, os Pedais a terceira e as Paradas, etc., a quarta. As linhas na verdade contêm 64 elementos devido ao seu significado digital como potência de 2 além de 61. Dentro das linhas do teclado, as teclas seguem a convenção musical normal com C à esquerda.

Barramento 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Barramento 1 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Barramento 2 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Barramento 3 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Cada barramento é independente e eletricamente isolado de seus pares. Os primeiros 8 elementos são destacados em negrito, com 8 desses blocos no arranjo acima. A próxima etapa detalha uma placa de circuito impresso que opera nos elementos em negrito e nos outros 7 blocos.

As chaves foram representadas como 0 acima. Podemos levar isso um pouco mais adiante e dizer que uma tecla digital é 1 quando pressionada e 0 caso contrário. E as teclas podem ser bemóis brancos musicais convencionais ou sustenidos pretos, ou pedais de órgão, ou paradas de órgão, ou um conjunto de interruptores rotativos que podem nos dar um tom de saxofone. Simplesmente consideramos o instrumento como um conjunto de interruptores em um conjunto de barramentos e, essencialmente, um fluxo digital de 0 e 1's.

Etapa 2: fiação dos teclados

Fiação dos teclados
Fiação dos teclados
Fiação dos teclados
Fiação dos teclados

Para ajudar na fiação dos teclados, uma placa de circuito impresso foi construída usando Eagle CAD. Seu tamanho é de cerca de 96 mm X 43 mm, e 8 são necessários, estendendo-se pela parte traseira dos conjuntos de teclado de órgão.

Vejamos esta placa de circuito impresso (PCB) em detalhes. A imagem à esquerda é a frente da placa de circuito impresso na qual os componentes são montados, e a direita é a parte traseira, onde soldamos os componentes.

Em primeiro lugar, os componentes 2X3 na parte superior devem se conectar às chaves acima, com os dois barramentos de conexões superiores 0 e 1, o próximo par 2 e 3, e o par inferior também os barramentos 2 e 3. Verificou-se que um PCB O cabeçalho 2X3 era rígido o suficiente para acomodar o fio de conexão de fio simples das chaves simplesmente empurradas para o cabeçalho, semelhante à fiação blindada do Arduino. O fio de conexão que usei foi recuperado do órgão original; tem 0,75 mm de diâmetro.

Portanto, cada Cabeçalho 2X3 acomoda uma coluna das teclas destacadas em negrito ou, em termos gerais, uma nota. A placa, portanto, requer 8 desses cabeçalhos. A imagem contém um desses cabeçalhos femininos no canto superior esquerdo. A seção intermediária da placa é preenchida com 32 diodos (1N4148 ou similar), cada um correspondendo a uma das entradas vermelhas. A polaridade do diodo está marcada na placa, com cátodo (faixa preta) na extremidade superior da placa. Um único diodo é ilustrado na posição 4. Finalmente, um único conector macho 2X5 ocupa a seção mais baixa da placa. Seus 2 pinos superiores não estão conectados. O pino 1 está localizado no canto inferior direito e se conecta aos 4 diodos mais à esquerda, o pino 2 aos diodos 5-8 e, finalmente, 29-32 se conecta ao pino 8. O coletor pode ser cortado de uma seção DIL mais longa, conforme ilustrado em o quadro. A fiação entre os vários componentes é realizada dentro do próprio PCB, com a única solda necessária para os diodos e conectores.

8 dessas placas completas são montadas imediatamente abaixo dos manuais usando os orifícios de montagem fornecidos, estendendo-se convenientemente pelo órgão. A função desta placa é, portanto, pegar um bloco de 8 chaves em 4 barramentos e apresentá-lo a um conector macho ao qual o cabo de fita de 10 vias será conectado para transferência para o próximo estágio. O design da placa pode ser baixado do arquivo zip fornecido.

Etapa 3: Consolidar as saídas do teclado em registros de deslocamento

Consolidando saídas de teclado em registros de deslocamento
Consolidando saídas de teclado em registros de deslocamento

São necessários mais dois PCBs, conforme exibido acima. Eles são conhecidos como DIN R5 e são populares no mundo MIDI, embora simplesmente forneçam uma função de registro de deslocamento. Primeiramente na seção horizontal superior, você pode ver 4 conectores 2X5 machos, que se conectam via cabo de fita à contraparte 2X5 nas 8 placas acima. Precisamos de duas placas DIN para acomodar nossos 8 desses cabos.

Mais abaixo na placa estão os chips IC que formam um registrador de deslocamento de 32 bits e, finalmente, de interesse para nós são 2 outros cabeçalhos 2X5, um dos quais (J2) agrupa para outras placas DIN (nosso segundo), e o outro J1 para nosso Arduino ou microprocessador semelhante ao Arduino.

Para resumir, temos -

  • Até 4 barramentos de 64 chaves alimentando em
  • 8 placas de 32 entradas, 8 saídas por barramento
  • essas 64 saídas alimentando 2 registradores de deslocamento de 32 bits
  • o microprocessador Arduino percorrerá os barramentos

Etapa 4: juntando o hardware

Juntando o Hardware
Juntando o Hardware
Juntando o Hardware
Juntando o Hardware
Juntando o Hardware
Juntando o Hardware
Juntando o Hardware
Juntando o Hardware

As conexões entre o Arduino, as duas placas DIN e os cabos planos do complexo da chave do órgão são ilustradas na imagem acima. Observe que o segundo DIN J2 é deixado vazio.

Os conectores empregam tecnologia IDC (contato de deslocamento de isolamento) e os fios não precisam ser descascados ou separados. Eles são aplicados ao cabo com uma ferramenta de compressão disponível em aficionados. À esquerda, a extremidade do cabo ondulado pode ser limpa com uma lâmina de barbear; no centro, a parte inferior do conector fornece um soquete fêmea 2X5; e à direita uma vista superior do conector.

As placas DIN e as placas PCB personalizadas foram fixadas em madeira de órgão usando parafusos de madeira de latão de cabeça redonda e espaçadores. Uma vista parcial das placas de PCB personalizadas montadas no órgão é mostrada acima. Os cabos de ligação superiores conectam paradas ou controles nas placas, e a massa à esquerda emana dos pedais. Finalmente, a remoção dos geradores de tom e outras funções variadas do órgão original permitiu que o vazio do gabinete fosse reutilizado para armazenamento de vinho.

Etapa 5: O Complexo Arduino

O Complexo Arduino
O Complexo Arduino
O Complexo Arduino
O Complexo Arduino
O Complexo Arduino
O Complexo Arduino
O Complexo Arduino
O Complexo Arduino

O complexo Arduino visto à esquerda das duas placas DIN acima será discutido agora. Ele consiste em três camadas distintas, interconectadas como escudos Arduino. Os PCBs que compõem as camadas são fortuitamente coloridos em azul, verde e vermelho.

A camada azul (no topo) é um escudo produzido pela Freetronics, que fornece um display de cristal líquido 16X2. (2 linhas de 16 caracteres). Não é estritamente essencial, mas é extremamente útil para verificar o funcionamento de teclados, pedais e batentes. Ele é conduzido pela biblioteca LiquidCrystal e outras variantes de hardware podem ser facilmente substituídas.

A camada vermelha (na parte inferior) é um Teensy 3.2 montado em uma placa Sparkfun Teensyduino. O Teensy oferece suporte MIDI direto e, de outra forma, se comporta como um Arduino UNO. Portanto, o uso do Teensy economiza componentes posteriormente. A conexão da fonte de alimentação (5V 2A) está na parte inferior esquerda e o conector USB com suporte para saída serial ou MIDI na parte central esquerda. Os cabeçalhos nas bordas superior e inferior fornecem funcionalidade de escudo Arduino padrão.

A camada verde (imprensada entre o azul e o vermelho) é uma placa PCB personalizada. Sua finalidade é, de maneira ampla, oferecer suporte a bits e peças, como links para as placas DIN, e cortar a fiação externa. Algumas de suas funcionalidades são redundantes. Inclui alguns circuitos para suportar MIDI por meio de um Arduino UNO padrão. Ele também fornece um conector macho 2X5 para conexão de cabo plano ao conector J1 na primeira placa DIN. Outras funcionalidades incluem suporte para controle de volume; o órgão original empregava um potenciômetro (potenciômetro) de 10K acionado por um pé de sapato.

Os quatro conectores horizontais fornecem conectividade de escudo Arduino padrão para a placa Teensy abaixo e a tela de cristal líquido. A impressão que lembra uma estação de ônibus no canto esquerdo inferior é uma sobra, e o cabeçalho vertical longo à esquerda fornece conectividade aos quatro ônibus, controle de volume e solo.

A placa customizada foi desenvolvida usando Eagle CAD, e os arquivos zip do complexo Gerber enviados aos fabricantes de PCB estão disponíveis no arquivo zip PCB2.

Etapa 6: o software Arduino

O software foi originalmente desenvolvido para um Arduino UNO, e mais tarde foi alterado com muito poucas mudanças para usar o Teensy. O uso de pin não foi alterado.

A tela de cristal líquido usa meia dúzia de pinos, e foi decidido usar os pinos analógicos no modo digital para obter um bloco de pinos adjacentes para os barramentos. O controle de volume usa outro pino analógico no modo analógico.

Muito do software se preocupa com a leitura do teclado individual, pedal e teclas de parada, habilitando cada barramento por vez, e marcando os valores de bit para fora dos registros de deslocamento fornecidos pelas placas DIN.

O ambiente de downstream normalmente incluirá um processador executando Windows, ou UNIX ou Linux, e um Sintetizador de software como FluidSynth, que por sua vez pode ser gerenciado por jOrgan. O FluidSynth é basicamente conduzido por um ou mais Soundfont (s), que especificam qual som é gerado quando um determinado comando MIDI é recebido. Existe alguma analogia com as fontes de processamento de texto. Para o teclado e pedais, uma alteração da varredura anterior resultará na geração de uma sequência MIDI Note On ou Note Off. A tecla mais à esquerda é MIDI 36 e aumenta no teclado. O índice de barramento fornecerá facilmente um escopo para o número do canal MIDI. Para as teclas de parada, sequências de controle de programa MIDI são geradas, ou pode ser sensato gerar Nota On / Off e deixar para o jOrgan ou software MIDI downstream semelhante para interpretar, ajustar e expandir. Qualquer que seja o curso tomado, a decisão final é imposta pela definição do (s) Soundfont (s) a jusante. O software tem sido usado em várias formas para gerar MIDI via USB para Windows operando o aplicativo Wurlitzer e FluidSynth, e para um Raspberry Pi rodando FluidSynth e um General MIDI Soundfont. Esta descrição é admitidamente incompleta, mas qualquer pessoa familiarizada com o ambiente Arduino ou C não terá dificuldade em alterá-la para seus próprios propósitos; há documentação interna razoável e modularidade razoável.

O software Arduino está contido em organino.zip.