Índice:

Sonar MIDI "Theremin": 10 etapas (com imagens)
Sonar MIDI "Theremin": 10 etapas (com imagens)

Vídeo: Sonar MIDI "Theremin": 10 etapas (com imagens)

Vídeo: Sonar MIDI
Vídeo: El Theremin - Un instrumento Musical hecho con Arduino , Ultrasonido e Impresión 3d 2024, Novembro
Anonim
Sonar MIDI
Sonar MIDI

Este é um instrumento musical que usa dois sensores de distância de sonar para controlar o tom e a qualidade das notas. Não é realmente um Theremin, é claro, mas "Theremin" se tornou o termo genérico para instrumentos tocados com o movimento das mãos.

Possui um sintetizador MIDI integrado, amplificador e alto-falantes. As notas musicais são produzidas por um chip MIDI - o VS1053 - que possui 127 vozes (ou seja, instrumentos supostamente diferentes). Possui um alto grau de polifonia (até 64) para que possa tocar notas ou acordes isolados.

Sua mão direita controla a nota que está sendo tocada. No modo "discreto", o espaço à direita é dividido em "caixas". Quando sua mão entra em uma caixa, a nota para essa caixa começa. Quando você sai da lixeira, a nota pode parar (por exemplo, um órgão) ou morrer naturalmente (por exemplo, um piano).

No modo "contínuo", o espaço à direita determina um tom continuamente variável - como o Theremin original. A nota começa quando sua mão entra no espaço e para quando você sai do espaço.

Sua mão esquerda controla a qualidade da nota que está sendo tocada. Ele pode controlar o volume, tremolo, vibrato, pitch-bend, reverb, etc.

Uma pequena tela LCD possui um menu que permite selecionar o instrumento atual, a função da mão esquerda, a escala (ou "tecla") da mão direita, vibrato, tremolo, etc. Você pode salvar e carregar diferentes "Configurações "e alternar entre eles rapidamente durante uma apresentação.

Todo o instrumento MIDI "Theremin" opera sozinho com seu próprio alto-falante e bateria recarregável.

Se você for copiar minha construção, precisará de um Arduino Nano (£ 1,50), um módulo VS1053 (£ 4,50), um display LCD ST7735 de 1,44 (£ 3,50), dois módulos HC-SR04 (£ 1 cada) e alguns resistores. Você também precisará de alguns alto-falantes amplificados e talvez uma célula de lítio e uma fonte de alimentação, mas os detalhes dependerão de como você decidir construí-la. Comprei todos esses extras em vendas de porta-malas e lojas de caridade. Além de você vou precisar da parafernália de oficina eletrônica usual.

Etapa 1: Controlando o VS1053

Controlando o VS1053
Controlando o VS1053
Controlando o VS1053
Controlando o VS1053

Escolhi o módulo VS1053 mostrado na foto. (Observe os dois reguladores SOT223, os dois conectores e a posição do conector.) Pesquise no eBay, Alibaba ou em seu fornecedor favorito um módulo VS1053 parecido com isso. Eles estão disponíveis no Aliexpress aqui e aqui.

Comprei há alguns anos e não parece mais estar disponível no eBay, apenas no Alibaba. Uma versão PCB vermelha está agora disponível no eBay. Parece ser funcionalmente idêntico, mas a pinagem é diferente, então você precisará ajustar meus esquemas e layouts. Eu não testei. Na discussão (abaixo) você pode encontrar instruções sobre como adicionar um resistor ao PCB vermelho para habilitar MIDI "ao vivo". Ou você pode enviar comandos adicionais durante a configuração para habilitá-lo.

O VS1053 é um chip fino, mas bastante complicado. Estou usando apenas a parte MIDI disso. É possível controlar o VS1053 por meio de uma interface serial, mas estou usando o barramento SPI, pois é mais conveniente com um Arduino Nano. Qualquer byte enviado pelo barramento SPI é tratado como um comando MIDI.

Você encontrará listas de comandos MIDI na web. O VS1053 responde a alguns, mas não a todos. O programa Miditheremin0.exe mostra aqueles que eu sei que funcionam.

Você pode baixar a folha de dados do VS1053 na web. É um documento enorme e difícil. A seção "8.9 Formatos MIDI Suportados" é quase tudo o que diz sobre MIDI. A seção "10.10 MIDI em tempo real" fala sobre o uso de GPIO0 e GPIO1 para habilitar MIDI, mas a placa que eu possuí não exigia nenhuma habilitação especial. Você também pode baixar uma lista de mensagens MIDI (nem todas são suportadas pelo VS1053).

Conecte o módulo VS1053 a um Arduino Nano conforme mostrado e carregue o arquivo INO para o Arduino. Eu usei uma placa de ensaio sem solda. Não tenho uma foto dele neste estágio, mas você pode ver a placa de ensaio com outros componentes em uma etapa abaixo.

O esboço INO recebe um byte do PC pela linha serial e envia o byte para o VS1053. É um programa muito simples que permite testar o VS1053. Conecte o soquete do conector de saída aos fones de ouvido ou alto-falante do computador.

O programa Windows Miditheremin0.exe (baixe Step1.zip do github) envia comandos para o VS1053. Clique no botão "90 notas vel" para tocar uma nota. Ou você pode escrever seu próprio programa para Windows. Ou use um dos muitos programas de terminal disponíveis na web.

O módulo VS1053 possui os seguintes pinos:

  • o barramento SPI tem os usuais MISO, MOSI e SCLK
  • se XRST for baixo, o chip reinicia
  • O XDCS não faz nada no modo SPI, então vincule-o ao XCS
  • XCS é Chip Select
  • DREQ avisa quando o chip está pronto para um novo comando.

O XCS deve ser definido como baixo enquanto você está enviando um byte; então alto. Dessa forma, você tem certeza de que sincronizou o primeiro bit de cada byte. A leitura de DREQ informa que o chip está pronto para receber um novo comando.

Após o Arduino enviar um byte, ele deve enviar um byte fictício para alternar o relógio e permitir que o VS1053 envie um byte de volta em resposta. A função SPItransfer () mostra como.

O módulo vermelho disponível no eBay inclui um slot para cartão SD, portanto, tem alguns pinos extras. Ignore-os.

Agora que você está confiante de que pode fazer o VS1053 funcionar, vamos transformá-lo em mais um instrumento musical.

Etapa 2: usando os sonares

Usando os Sonars
Usando os Sonars
Usando os Sonars
Usando os Sonars

Conecte os módulos HC-SR04 ao Arduino Nano conforme mostrado e carregue o arquivo INO para o Arduino.

Observe no esquema que DC3 - o capacitor de desacoplamento para os módulos HC-SR04 - deve ser conectado próximo aos módulos HC-SR04. Eles consomem bastante corrente quando estão transmitindo, que DC3 ajuda a fornecer.

Nesta fase do projeto, o PC com Windows ainda envia comandos para o VS1053, mas o VS1053 também é controlado pelos sensores de sonar HC-SR04 (baixe Step2.zip do github).

Todos os novos comandos começam com 0xFF e são interpretados pelo esboço do Arduino (em vez de serem enviados diretamente para o VS1053). Os bytes não "FF-command" são enviados para o VS1053.

Existem comandos para mudar o instrumento, mudar a escala, adicionar vibrato e tremolo, etc. O programa pode ser executado no modo "discreto" onde existem notas separadas (como um piano) ou no modo "contínuo" onde uma única nota é curvado para cima e para baixo (como um theremin).

Ele faz muito bem tudo o que o instrumento final fará, mas é controlado por um PC.

O sensor de sonar HC-SR04 direito seleciona o tom da nota que é tocada. No modo "discreto", o espaço à direita é dividido em "caixas". Quando sua mão entra em uma caixa, a nota para essa caixa começa. Quando você sai da lixeira, a nota pode parar (por exemplo, um órgão) ou morrer naturalmente (por exemplo, um piano). Quando sua mão entra em uma lixeira, ela se expande ligeiramente para que você não fique tremendo em suas bordas.

A função GetSonar () retorna o tempo decorrido até o primeiro eco. Ele ignora ecos muito rápidos (duração <10) que o HC-SR04 às vezes relata. Se nenhum eco foi recebido por maxDuration, ele retornará maxDuration. A duração não é medida em nenhuma unidade particular - é apenas um número.

No modo Discreto, a duração é filtrada primeiro para remover interrupções ocasionais (quando nenhum eco é recebido). Presume-se que a mão esteja presente somente após o recebimento de 10 amostras de maxDuration. Em seguida, a duração é filtrada usando um filtro Mediana. Filtros de mediana são bons na remoção de ruído "impulsivo" (ou seja, picos ocasionais). A duração filtrada é usada para selecionar um bin.

No modo Contínuo, a duração é filtrada novamente para remover interrupções ocasionais. Em seguida, é suavizado usando um filtro exponencial. A duração filtrada é usada para definir a frequência da nota usando "pitch bend".

Etapa 3: adicionar um display

Adicionando um Display
Adicionando um Display
Adicionando um Display
Adicionando um Display
Adicionando um Display
Adicionando um Display

O display é uma tela TFT LCD colorida de 1,44 com um controlador ST7735, 128x128 pixels. Existem muitas telas disponíveis no eBay, por exemplo, você pode preferir desenvolver seu instrumento com uma tela sensível ao toque maior. Eu não tinha usado o ST7735 controlador e queria experimentá-lo.

Eu peguei o meu deste fornecedor. O mesmo módulo é vendido amplamente no eBay - basta comprar um que tenha a mesma aparência da foto.

O LCD possui os seguintes pinos:

  • GND ground
  • VCC 3.3V
  • SCL SPI bus SCLK
  • SDA SPI bus MOSI de Arduino
  • RES reset
  • Dados / comando DC
  • Seleção de chip CS
  • Luz de fundo BL

O módulo funciona com 3,3 V, portanto, você não deve conectá-lo diretamente ao seu Arduino de 5 V. Usei resistores de 1k para diminuir a tensão. Isso não é uma boa prática (em geral, deve-se usar um divisor de potencial ou um chip redutor de tensão), mas funciona perfeitamente bem neste circuito. Eu estava sendo preguiçoso.

O display é alimentado por 3,3 V fornecido pelo Arduino. O regulador Arduino parece bastante feliz.

A Adafruit gentilmente publica uma biblioteca ST7735 e várias outras bibliotecas estão disponíveis no Github e em outros lugares. Experimentei alguns e não gostei de nenhum. Alguns simplesmente não funcionavam e todos eram enormes. Você escreve um esboço do Arduino que desenha uma linha e algum texto e descobre que sua memória está 75% cheia. Então, escrevi minha própria biblioteca.

A biblioteca SimpleST7735 pode ser baixada (baixe Step3.zip do github).

Possui um conjunto padrão de comandos de desenho muito semelhantes a todas essas bibliotecas.

Algumas das bibliotecas "rápidas" que você pode baixar usam loops de temporização especiais e ficam chateadas quando outros dispositivos, talvez mais lentos, são usados no mesmo barramento. SimpleST7735 é escrito em C ao invés de assembler, então não é tão rápido quanto poderia ser, mas é muito mais portátil e compartilha o barramento SPI educadamente com outros dispositivos. Um programa do Windows pode ser baixado e permite que você crie suas próprias fontes e ícones.

Você pode baixar a folha de dados do ST7735 da web. Você fala com ele por

  • definir CS baixo
  • definir DC baixo
  • enviar um byte de comando
  • definir DC alto
  • enviar zero ou mais bytes de dados
  • definir CS alto

Você pode ver como faço isso na função spiSend_TFT_CW () na biblioteca. Os bytes de dados podem ser uma linha inteira de pixels ou uma configuração para um registro de controle.

A função ST7735Begin () na biblioteca mostra o conjunto de comandos de inicialização que escolhi. Você pode querer alterar os comandos se escolher um monitor ST7735 diferente (por exemplo, com mais pixels) ou se quiser uma orientação diferente. Espero que meu código seja fácil de ver como alterá-lo, se necessário.

O esquema mostra um botão de controle "SW1" e um pedal SW2 ". O botão de controle seleciona diferentes" Configurações "(consulte a próxima etapa) ou seleciona o modo Menu. O pedal é opcional e só seleciona configurações diferentes - não instalei um pedal sozinho. As configurações são úteis durante uma apresentação, quando você deseja mudar rapidamente de tom ou de instrumento.

Etapa 4: O sistema de menus

O Sistema de Menu
O Sistema de Menu
O Sistema de Menu
O Sistema de Menu

Este esboço do Miditheremin3.ino Arduino adiciona um sistema de menu ao MIDI Theremin e controla o instrumento completo final.

O MIDI Theremin normalmente funciona no modo "Play". Sua mão direita seleciona qual nota e sua mão esquerda controla a qualidade da nota. O LCD exibe um teclado de piano com a nota atual destacada.

Se você segurar o botão de controle por um segundo, o programa entrará no modo "Menu". No modo Menu, se você segurar o botão de controle por um segundo, o programa retornará ao modo "Play".

O menu tem uma estrutura em árvore com itens principais e subitens. O item de menu atual é destacado. Você move a seleção para cima / para baixo com o sonar esquerdo. Os submenus de um item principal são expandidos apenas quando o item principal é selecionado.

Tendo escolhido um submenu, ao clicar no botão, o valor daquele item é destacado. A mão esquerda agora aumenta ou diminui o valor. Clique no botão novamente para voltar a selecionar os submenus.

No modo Discreto, a árvore do menu é

  • Instrumento

    • 0: Piano de cauda
    • Troca de mãos: normal
  • Mão direita

    Modo: discreto

  • Mão esquerda
    • Modo: Vibrato
    • Profundidade máxima: 10
  • Escala
    • Escala: Heptatônica maior
    • Oitavas: 2
    • Nota mais baixa: 60 C
  • Acorde

    • Acorde: Tríade Maior
    • Inversão: 0
    • Polifonia: 1
  • Tremolo

    • Tamanho: 20
    • Período: 10
  • Vibrato

    • Tamanho: 20
    • Período: 10

O instrumento pode ser "Grand Piano", "Church Organ", "Violin", etc. Existem 127 instrumentos no VS1053, muitos dos quais soam idênticos e muitos são tolos como "tiros". O submenu Trocar mãos permite que você troque as funções das mãos esquerda e direita - talvez você prefira assim ou talvez queira que os alto-falantes fiquem de frente para o público.

A mão direita pode ser "Discreta" ou "Contínua". Veja abaixo o menu "contínuo".

A mão esquerda pode controlar "Volume", "Tremolo", "Vibrato", "PitchBendUp", "PitchBendDown", "Reverb", "Polyphony" ou "ChordSize".

O "volume" é óbvio. "Tremolo" é uma variação rápida de volume; a mão esquerda controla o tamanho da variação; o período é definido por um item de menu diferente. "Vibrato" é uma variação rápida do tom; a mão esquerda controla o tamanho da variação; o período é definido por um item de menu diferente. "PitchBendUp" e "PitchBendDown" alteram o tom da nota que está sendo tocada; a mão esquerda controla o tamanho da dobra. "Reverb" é bastante inexpressivo no VS1053; a mão esquerda controla o tamanho do reverb. "Polifonia" controla quantas notas são reproduzidas de uma vez até o máximo definido pelo menu Polifonia (veja abaixo). "ChordSize" significa que a mão esquerda controla quantas notas de um acorde (veja abaixo) são tocadas.

Na música, uma "escala" ou "tom" é o subconjunto de notas que você está usando. Por exemplo, se você se restringisse à escala heptatônica de dó maior, estaria tocando apenas as notas brancas do piano. Se você escolheu C # Major Pentatonic, então você apenas usaria as notas pretas (por exemplo, para músicas folk escocesas).

O menu Escala escolhe quais notas o espaço da mão direita corresponde e quantas oitavas o espaço da mão direita cobre. Portanto, se você escolher 1 oitava de Mi maior, o espaço da mão direita será dividido em 8 caixas, com E na afinação mais baixa e E uma oitava acima na afinação mais alta.

O menu Scale permite que você escolha muitas escalas incomuns de "música não ocidental", mas assume que todas as notas são do teclado de temperamento uniforme - é assim que o MIDI funciona, você não pode especificar facilmente a frequência de uma nota. Então, se você quisesse, digamos, a escala de um quarto de tom árabe, você estaria em apuros.

O submenu Oitavas permite que você escolha quantas oitavas da escala você deseja. E a nota mais baixa diz onde a escala começa.

Normalmente, quando uma nota é tocada, apenas essa nota é tocada. O menu Chord permite que você toque várias notas ao mesmo tempo. Um acorde da Tríade Maior significa 'toque a nota escolhida mais a nota quatro semitons acima, mais a nota sete semitons acima'.

O submenu Inversão oferece inversões de acordes. Isso significa que ele move algumas das notas do acorde para uma oitava abaixo. A Primeira Inversão move todas as notas "extras" para baixo uma oitava, a segunda Inversão move uma nota a menos para baixo, e assim por diante.

O submenu Polyphony diz quantas notas estão tocando de uma vez; se a polifonia for 1, quando uma nota começar, a anterior será interrompida; se a polifonia for maior, várias notas podem se sobrepor - tente com o órgão da igreja.

O menu Tremolo especifica a profundidade de qualquer tremolo e o período do ciclo do tremolo. Um período de "100" significa um ciclo por segundo. Se a mão esquerda estiver controlando o tremolo, o submenu Tamanho ficará oculto.

O menu Vibrato especifica o tamanho de qualquer vibrato e o período do ciclo de vibrato. Se a mão esquerda estiver controlando o vibrato, o submenu Size ficará oculto.

O programa permite que você salve e carregue até 5 "Setups" diferentes. Um Setup armazena todos os valores que você pode definir no menu. Ao sair do modo Menu, a configuração atual é salva. As configurações são salvas na EEPROM.

No modo Play, clicar no botão muda para a próxima configuração. Se você segurar o botão por um segundo, o menu aparecerá. Pressionar o pedal também muda para a próxima configuração; o pedal nunca seleciona o menu.

No modo contínuo, a árvore do menu é

  • Instrumento

    • 0: Piano de cauda
    • Troca de mãos: normal
  • Mão direita

    Modo: contínuo

  • Faixa
    • Num semitons: 12
    • Nota do meio: 60 C
  • Mão esquerda
    • Modo: Tremolo
    • Profundidade máxima: 10
  • Tremolo

    • Tamanho: 20
    • Período: 10
  • Vibrato

    • Tamanho: 20
    • Período 10

O menu Range escolhe o intervalo de frequências que a mão direita especifica: o número de semitons percorridos e a nota do meio.

A mão esquerda só pode controlar "Volume", "Tremolo" e "Vibrato".

Etapa 5: Soldar juntos

Soldando juntos
Soldando juntos
Soldando juntos
Soldando juntos
Soldando juntos
Soldando juntos

Eu construí o circuito em stripboard. Eu não consigo ver o motivo de ter um PCB feito para um único com apenas 4 resistores, mas sei que algumas pessoas não gostam de stripboard.

Meu layout de stripboard é mostrado acima. As quatro placas - Arduino, VS1053, display e stripboard - formam um sanduíche. No layout, o contorno do Arduino é amarelo, o VS1053 é azul, a tela é verde e o stripboard é laranja.

As linhas ciano são as tiras de cobre do stripboard - certifique-se de colocar quebras onde necessário. As linhas vermelhas são links no lado do componente do stripboard ou fios que vão para outro lugar.

Usei pinos extralongos para a placa VS1053 porque ela fica acima do Arduino. Pinos nos cantos mais distantes da tela e placas VS1053 ajudam a estabilizá-los. Os orifícios de montagem dos módulos são chapeados para que você possa soldá-los. Certifique-se de que os seus não estejam conectados ao aterramento - os orifícios de montagem dos meus módulos não estão.

Se você tiver um módulo VS1053 diferente ou uma tela diferente, você pode alterar os pinos do Arduino:

  • D2 a D10 e A0 a A5 podem ser usados em qualquer ordem que você desejar; atualize os números dos pinos perto do início do esboço INO
  • D11, D12, D13 são dedicados ao SPI e não podem ser reatribuídos
  • D0, D1 são dedicados a E / S serial
  • A6, A7 não podem ser usados como pinos digitais

Os módulos HC-SR04 estão a 90 ° entre si, conectados por um pedaço de stripboard. O botão está entre eles. Sem dúvida, você terá seu próprio design preferido.

Se você decidir ter um pedal, conecte-o por meio de um jack-socket.

Etapa 6: Adicionando uma PSU

Adicionando um PSU
Adicionando um PSU
Adicionando um PSU
Adicionando um PSU
Adicionando um PSU
Adicionando um PSU

Eu medi a corrente total do Arduino, VS1053 e mostrei como 79mA. De acordo com as planilhas de dados, o Arduino tem 20mA, a tela é 25mA, o VS1053 é 11mA e o HC-SR04 tem 15mA cada quando "funcionando" - então 80mA parece certo.

O display usa 25mA e é alimentado pela saída 3V3 do Arduino, que é classificada para fornecer 50mA. Portanto, o circuito não deve sobrecarregar o regulador 3V3 do Arduino.

Podemos alimentar o circuito por meio do pino Vin do Arduino? Não consigo encontrar a resposta para isso em qualquer lugar na web. Não está na documentação do Arduino. O regulador de 5 V integrado dissipará (Vin-5) * 80 mW. Qual é a sua dissipação máxima? Parece que ninguém sabe ao certo. De acordo com sua ficha técnica, o regulador NCP1117 em um encapsulamento SOT-223 com uma almofada mínima de cobre pode dissipar 650mW. Então, para uma corrente de 80mA,

  • Vin Power
  • 8V 240mW
  • 9 320
  • 10 400
  • 11 480
  • 12 560
  • 13 640
  • 14 720

Por segurança, suponho que não devamos exceder 9 V no Vin.

Uma fonte de alimentação externa de 5 V seria muito mais segura, mas usei o regulador do Arduino e está tudo bem.

Para alimentar o circuito, escolhi um módulo que combina um carregador de íons de lítio e uma fonte de alimentação de reforço. Eles estão amplamente disponíveis no eBay ou pesquise por "Li Charger Boost".

O carregador usa um chip TC4056 que possui um algoritmo complicado de corrente constante e voltagem constante. Quando você remove a entrada de alimentação USB, ela entra no modo de espera com um consumo de bateria inferior a 2uA. O TC4056 possui uma entrada para detecção de temperatura, mas não está disponível na placa do módulo (o pino é aterrado).

O circuito de reforço supostamente é 87-91% eficiente sobre a faixa de tensão normal da bateria com uma corrente de saída de 50-300mA. (Eu não fiz a medição sozinho.) Isso é muito bom.

No entanto, sua corrente de "espera" quando você remove a carga é de 0,3 mA, o que é ruim. Uma célula de 300mAH seria drenada em 6 semanas. Talvez fosse drenado a ponto de sua voltagem cair a um nível prejudicial.

Há uma única trilha que conecta a bateria à PSU de reforço. Você pode cortar a trilha facilmente (veja a foto). Solde um fio no resistor grande na parte superior para que você possa fazer a ponte entre o corte por meio de uma chave.

A corrente desenhada agora é de 0,7uA com a placa que testei. Portanto, a célula durará 50 anos - bem, claro que não, a autodescarga de uma célula de íon-lítio é de cerca de 3% ao mês. 3% ao mês para uma célula de 300mAH é uma corrente de 13uA. Compare isso com o 300uA que o circuito de reforço leva. Acho que vale a pena desligar o circuito de impulso.

Você não deve ligar a carga quando a célula estiver carregando. A corrente puxada pela carga confundirá o algoritmo de carregamento.

Portanto, você precisa de um comutador de 2 pólos (por exemplo, um interruptor deslizante) que esteja na posição "Ligado" ou "Carregar".

Você pode ignorar o soquete USB embutido e soldar fios separados no switch e em seu próprio soquete USB.

Ou você pode manter o soquete embutido e cortar a conexão entre o soquete e o chip. O diagrama acima mostra onde cortar.

Conecte a saída de 5 V da PSU de reforço ao pino de 5 V do Arduino. As pessoas dizem "não faça isso - você está contornando o diodo de proteção do Arduino". Mas o Nano não tem um pino conectado ao lado USB do diodo. Basta conectar ao pino 5V. Qual é o pior que poderia acontecer? Você perde um Nano que custou menos de £ 3.

O circuito PSU também deve alimentar o amplificador para os alto-falantes.

Etapa 7: Adicionar alto-falantes

Adicionar alto-falantes
Adicionar alto-falantes

Eu queria que o MIDI Theremin fosse portátil. Deve incluir seus próprios alto-falantes e amplificador.

Você pode construir seu próprio amplificador ou comprar um módulo de amplificador e, em seguida, comprar alto-falantes e colocá-los em uma caixa. Mas de que adianta? No meu techno-midden, tenho meia dúzia de alto-falantes amplificados que comprei de lojas de caridade e vendas de porta-malas, todos por menos de £ 1 cada.

Os alto-falantes azuis claros usam apenas 30mA a 5V, mas têm uma resposta de graves pobre. O rádio preto tem um formato legal - posso imaginar encaixar os módulos HC-SR04 nos cantos e a tela na superfície superior. Os cinza de "tela plana" são alimentados por uma entrada USB, o que é ideal.

Com um pouco de pesquisa, você deve encontrar alto-falantes amplificados que já têm um case bonito. Certifique-se de que eles funcionarão com a tensão de sua fonte de alimentação. Se for alimentado por quatro células AA, provavelmente funcionará bem a 5V.

Mas eu cavei mais fundo no techno-midden e encontrei uma docking station muito boa que comprei em uma barraca "tudo por £ 0,50". Ele havia perdido o carregador e o controle remoto infravermelho, mas funciona bem.

Se você está determinado a construir seus próprios alto-falantes amplificados, aqui está um bom Instructable. Ou procure Instructables para PAM8403 ou Amplificador.

Etapa 8: estação de encaixe

Docking Station
Docking Station
Docking Station
Docking Station
Docking Station
Docking Station
Docking Station
Docking Station

Esta é uma docking station portátil muito boa da Logitech. É improvável que você obtenha um igual, mas os princípios de construção serão semelhantes.

A docking station inclui sua própria célula de íon de lítio recarregável e PSU de reforço. (Se a sua não, então construa a PSU descrita acima e pule os próximos parágrafos.)

Se o seu amplificador tem uma célula de íon-lítio, provavelmente tem uma fonte de alimentação de reforço. (A voltagem de uma única célula de íon-lítio é inconvenientemente baixa, portanto, precisa ser reforçada.)

Primeiro, encontre as conexões para a alimentação do amplificador. A PSU terá grandes capacitores de suavização - veja a foto da placa de circuito impresso. Meça a tensão em suas placas de solda na parte inferior. O bloco negativo deve ser o bloco de "aterramento" do circuito. Se a pcb tiver sido preenchida, isso será aterrado. Ou o solo pode ser uma trilha espessa que leva a muitos lugares no tabuleiro.

Pode haver grandes capacitores no estágio de saída do amplificador - essa é a maneira antiquada de fazer isso. Meça a tensão entre eles enquanto ele está funcionando. Provavelmente variará de acordo com a música e pode atingir a média da metade da voltagem dos capacitores da fonte de alimentação. Esses são os capacitores errados - você quer aqueles na PSU.

É muito improvável que a placa tenha potência positiva e negativa (grandes amplificadores de potência estéreo têm, mas nunca vi um leve como esse). Certifique-se de que realmente escolheu o terreno e a força positiva.

A docking station da Logitech que estou usando tem um circuito digital complicado, assim como o amplificador analógico. Se o seu for assim, terá capacitores de suavização para 5V ou 3,3V e talvez 9V para o amplificador. Meça as tensões em todos os grandes capacitores e escolha a maior tensão.

Certifique-se de que a tensão da conexão de alimentação escolhida depende do botão liga / desliga. (Quando você desliga a chave, a tensão pode demorar um pouco para cair conforme o capacitor se esvazia.)

Solde os fios em tudo o que você escolheu como fonte de alimentação. A docking station da Logitech produz cerca de 9V, que se conecta perfeitamente ao pino Vin do Arduino.

Seus alto-falantes amplificados ou docking station devem ter um conector de 3,5 mm para entrada de áudio. Uma das juntas de solda será retificada - provavelmente a que está mais próxima da borda da placa. Use um ohmímetro para verificar se ele se conecta ao que você pensa ser o aterramento. Com algumas entradas de áudio, a "blindagem" do conector não está conectada diretamente ao aterramento. Está flutuando. Portanto, se nenhum dos pinos do conector estiver aterrado, não se preocupe no momento. (A "blindagem" da tomada no módulo VS1053 também é flutuante.)

Use um medidor para verificar se o pino de "aterramento" do conector está na mesma tensão do aterramento da fonte de alimentação.

A docking station da Logitech era estranha. Se eu conectasse o "aterramento" do conector da Logitech ao "aterramento" da placa VS1053 (usando um cabo de áudio, funcionou bem, mas a corrente para meu sistema Theremin subiu de 80mA para mais de 200mA. Então, me certifiquei Não liguei esses dois "motivos". Funciona bem, mas não tenho ideia do que estava acontecendo.

Etapa 9: Apresentando um Caso

Argumentando
Argumentando
Argumentando
Argumentando
Argumentando
Argumentando
Argumentando
Argumentando

O case que você fará dependerá dos materiais que você tem em mãos, do que você gosta de trabalhar e dos alto-falantes amplificados que você escolheu. O que quer que você faça deve garantir que os sonares apontem para longe um do outro e para cima a 45 °. Em seguida, haverá a tela de exibição e o botão de pressão.

Se você olhou meus outros Instuctables, você sabe que sou um grande fã de folha de flandres. Ele pode ser dobrado para formar, soldada suavemente e pintada. As fotos mostram como arrumei as coisas.

O triângulo superior é de folha de flandres dobrada, soldada, preenchida, alisada e pintada. Os pcbs são colados a quente no triângulo e têm pequenas lascas de madeira para atuar como espaçadores.

O "painel frontal" é uma folha de poliestireno de 1 mm. Os espaçadores são feitos de mais folha de poliestireno e parafusos auto-roscantes seguram o stripboard no lugar. Suportes de madeira são colados a quente na cavidade na frente da estação de acoplamento e os pcbs são aparafusados neles com parafusos auto-roscantes longos.

Acho que poderia imprimir algo em 3D, mas prefiro os métodos da velha escola, onde posso ajustar as coisas à medida que prossigo. Fazer coisas é uma viagem de descoberta e não de "engenharia".

Etapa 10: Desenvolvimento Futuro

Desenvolvimento futuro
Desenvolvimento futuro

Como você poderia desenvolver ainda mais o instrumento? Você pode alterar a interface do usuário. Você pode substituir o botão por um sensor de distância infravermelho para que não precise tocar no instrumento. Ou talvez use uma tela de toque em vez de um botão e a mão esquerda para controlar o menu.

O menu Escala permite que você escolha escalas de "música não ocidental", mas assume que todas as notas são do teclado de temperamento uniforme - é assim que funciona o MIDI. A escala de um quarto de tom árabe tem notas que não estão na escala de temperamento uniforme. Outras escalas não estão relacionadas de forma alguma a um teclado de temperamento uniforme. Pode ser possível usar pitch-bend para produzir tais notas. Você precisaria de alguma forma para o menu especificar a frequência de cada nota. Acho que o pitch bend pode se aplicar a todas as notas do canal. Atualmente, uso apenas um canal - o canal 0. Portanto, se for polifônico ou tiver acordes, você terá que tocar cada nota em um canal diferente.

O instrumento pode se tornar um sintetizador de bateria. A mão esquerda pode determinar o tom de um Tom melódico, enquanto o sonar direito é substituído por um sensor piezoelétrico que você golpeia para soar o tambor.

As duas mãos podiam controlar dois instrumentos diferentes.

A mão esquerda pode escolher um instrumento.

Na metade deste projeto, descobri o Altura MkII Theremin MIDI Controller da Zeppelin Design Labs. Parece um bom instrumento.

Eles têm alguns vídeos que valem muito a pena assistir:

(Eu roubei a palavra "bins" de Altura e a ideia de que um contentor se expande quando você entra nele para ajudá-lo a permanecer nele.)

Meu MIDI Theremin difere do Altura em alguns aspectos. Mine produz seu próprio som com seu sintetizador MIDI integrado, amplificador, etc.; o Altura envia mensagens para um sintetizador externo. Você pode muito bem preferir a maneira deles de fazer isso. O meu tem uma tela TFT em vez de uma tela de 7 segmentos - isso é definitivamente melhor, mas você pode pensar que uma tela maior seria uma melhoria. O meu usa menus para configurar os parâmetros, enquanto o deles usa botões. Os menus são necessários porque o meu precisa de muitos controles para o dispositivo de entrada (os sonares) e o sintetizador; o Altura precisa de menos controles. Talvez os botões sejam melhores durante uma apresentação ao vivo. Talvez o meu devesse ter botões. Um botão para escolher as configurações pode ser bom.

O Altura possui um controle de "Articulação" que define a velocidade com que as notas podem ser tocadas. Não incluí isso no meu software - talvez devesse estar lá. O Altura possui um Arpeggiator (sequenciador de etapas). Essa é uma boa ideia; o meu tem acordes que não são exatamente a mesma coisa.

Então é isso. Espero que você goste de construir e usar um MIDI-Theremin. Deixe-me saber se você encontrar algum erro na minha descrição ou se você puder pensar em alguma melhoria.

Recomendado: