» Instrumentos musicais »Sintetizador espacial Kravox no Arduino

Sintetizador espacial Kravox no Arduino



O mestre inventou o Kravox durante um projeto de pesquisa na Universidade de Lund (Suécia), cujo objetivo era dar aos controladores de instrumentos musicais digitais a sensação dos instrumentos mecânicos tradicionais. Agora, o mestre quer tornar o Kravox acessível a todos como uma plataforma musical para experimentação. Foi por isso que ele criou este briefing detalhado, que permitirá que o maior número possível de pessoas use este novo instrumento musical interessante.

Jogar Kravox é bem simples. Imagine que você está tocando com um objeto comum, como uma vassoura, e a maneira como você o toca e move no espaço controla como o som é gerado. Você pode assistir e ouvir como tocar o Kravox, bem como o processo de fabricação do instrumento, no final do artigo nos vídeos.

Ferramentas e materiais:
- placa de ensaio 50 * 24 furos -1 pcs;
-40 pinos conectores macho -5 pcs;
Plugue de 40 pinos - 5 peças;
- Potenciômetros de 10 kOhm e alças para eles - 5 peças;
-LED azuis padrão de 5 mm - 3 peças;
- Resistores 150 Ohms - 3 peças;
- Capacitor 10 uF - 2 peças;
- Capacitor 100 nF - 2 peças;
-Rádio módulo NRF24L01 - 2 peças;
-Arduino nano -2 pcs;
-Resistores 220 Ohm -3 pcs;
- Placas dos sensores sensores MPR121 - 2 peças;
- Giroscópio digital GY-521 MPU 6050 - 1 pc;
- cabos USB-A para USB-C;
-4 metros (mínimo) de fita de cobre com 1 cm de largura;
-Powerbank;
-7 metros (mínimo) de fios de cores diferentes;
-0,2 metros, tubo termo-retrátil ø = 3 mm;
Acessórios de solda;
-Multímetro;
Regra;
-Faca;
-Nozhovka;
- alicates;
-Carton;
-Pistola de cola;
-Tape;
Cola;
- goma de escritório;
-Clips;




Etapa 1: Teoria
O Kravox é um instrumento musical digital de plataforma aberta de código aberto que consiste em três componentes - um controlador / controladores, um receptor e software.

Você pode conectar até três controladores sem fio. Cada controlador processa dados de orientação e aceleração do giroscópio digital MPU-6050 e dados de toque de duas placas sensoras MPR121 conectadas ao Arduino Nano. O controlador envia dados para o receptor usando o transmissor de rádio nRF24L01. Se for necessário usar mais de um controlador, o segundo e o terceiro controladores devem receber endereços individuais.

O receptor transmite dados recebidos do (s) controlador (es) para o computador conectado, juntamente com dados coletados de vários potenciômetros.O código do receptor fornecido permite estabelecer comunicação com três controladores, mas também funcionará com apenas um ou dois sem configurações.

Os dados do receptor são processados ​​em um programa escrito que emite som.
A beleza do Kravox é que sua forma, como soa e como reproduzi-lo, pode ser ajustada. Isso deu ao assistente a oportunidade de desenvolver uma versão fácil de copiar do Kravox para esta lição.


Etapa 2: criar uma placa controladora
Em seguida, o assistente explica como fazer eletrônica controlador passo a passo a partir dos detalhes acima.
Se você não souber onde soldar o cabo, sempre poderá retornar ao diagrama de circuitos e verificar se os componentes estão conectados corretamente.


O primeiro passo é cortar a tábua de pão e os conectores e montá-los juntos com um capacitor pequeno e um grande, o que ajuda a aumentar a confiabilidade do transmissor de rádio.

Corte a placa com uma faca
Corte os conectores com uma serra (o mestre os colocou no livro para alinhá-los da mesa)
Instale os conectores na tábua de pão e na solda. Você já pode conectar cada par de contatos de dois
conectores longos que são adjacentes um ao outro. De resto, basta conectá-los com uma pequena solda - de preferência contatos que, de acordo com o diagrama de circuitos, não serão conectados posteriormente. Ao soldar capacitores, preste atenção à polaridade do capacitor eletrolítico de 10 microfarads (o maior dos dois). Um lado terá uma tira e, como regra, uma perna mais curta. Este lado deve estar conectado ao terra. O capacitor menor de 100 nanofarads não é polarizado e pode ser soldado de qualquer maneira.





Além disso, os resistores de LED são soldados. Preste atenção à polaridade do LED: um lado geralmente tem uma perna mais curta. Este lado deve ser conectado ao terra na próxima etapa. Um fio azul é soldado à outra perna. A outra extremidade do fio é soldada ao conector em que o pino D3 do Arduino será conectado.


Em seguida, todos os cabos de energia vermelho e azul são montados. Vermelho para 3,3 Volts e azul para terra (GND).


Três placas de sensores se comunicam via protocolo I2C (circuito integrado). Isso significa que todos eles podem ser conectados aos mesmos dois pinos do Arduino, portanto, soldamos os fios amarelo e verde nos sensores e nos pinos Arduino A4 e A5. Você também precisa montar um cabo branco para conectar os contatos de interrupção do giroscópio.


O transmissor de rádio se comunica através do protocolo SPI (serial
interface periférica), que requer mais conexões que o I2C, o assistente adiciona fios preto, cinza, marrom, roxo e laranja.


Agora é hora de preparar os componentes. Além de soldar nos conectores de pino, se não
soldado, você precisa prestar atenção especial à placa do sensor! Para modelos baratos da China, o pino de endereço é rigidamente aterrado sem um resistor intermediário; portanto, é necessário cortar fisicamente essa conexão na parte inferior da placa com uma faca. Corte entre dois blocos perto do local onde está escrito ADD. O assistente recomenda tocar com um multímetro para garantir que os contatos não estejam conectados.


Quando todas as peças tiverem conectores soldados e as placas do sensor estiverem preparadas, você poderá conectar o Arduino Nano, um giroscópio, duas placas do sensor e um módulo de rádio à placa controladora.


Etapa 3: fazer o download do código
Após uma verificação dupla, se tudo estiver conectado corretamente, a próxima etapa é fazer o download do Arduino nano fornecido, mas antes que você possa fazer isso, será necessário instalar as bibliotecas do giroscópio, placas dos sensores e transmissores de rádio. Se você é novo nas bibliotecas do Arduino, saiba como instalá-las.
O giroscópio MPU6050 requer as bibliotecas I2Cdev.he MPU6050_6Axis_MotionApps20.h, que podem ser baixadas.
Para placas de toque MPR121, é necessária a biblioteca desencapada MPR121.h, que pode ser encontrada.Existem pelo menos duas versões da biblioteca. Certifique-se de instalar a versão desenvolvida pela Bare Conductive, não a versão desenvolvida pela Adafruit.
A placa transmissora de rádio NRF24L01 requer as bibliotecas nRF24L01.he RF24.h TMRh20, que podem ser baixadas. Observe: também há pelo menos duas versões dessas bibliotecas com o mesmo nome. Certifique-se de instalar o TMRh20 desenvolvido, não o maniacbug.
Após a instalação das bibliotecas, você pode fazer o download do código do Kravox-Controller.

Para verificar se o controlador está funcionando, você pode habilitar a saída de dados de sensores de toque e um giroscópio através de um monitor serial. Para fazer isso, você deve editar a última seção do código do destinatário antes de fazer o download: removendo a marca de comentário no início (/ *) e no final (* /) (veja. Foto)

Depois de baixar o código com esta opção, é necessário abrir o Serial Monitor e definir a taxa de transmissão (taxa de dados) para 115200. Agora você pode ver os dados dos sensores, que mudam quando a placa controladora é movida e os contatos são tocados, nas placas MPR121 marcadas de 0 a 11)

Se nada funcionar ou apenas zeros forem obtidos, é necessário verificar cuidadosamente a fiação e compará-la com o diagrama acima. Se você receber o sinal errado do Serial Monitor, precisará verificar se as taxas de transferência de dados estão definidas corretamente.


Etapa quatro: alimentação da placa

Para energia, você precisa conectar a placa controladora ao banco.
Se o banco não desligar automaticamente depois de um tempo, a placa controladora estará concluída e você poderá acessar a placa receptora. Caso contrário, siga o próximo passo.

Etapa 5: Resolver o problema de energia
Em princípio, a placa controladora está pronta, mas alguns bancos desligam automaticamente após alguns segundos quando conectados à placa controladora, porque consome pouca energia. Como solução, você pode simplesmente adicionar três resistores de 220 Ohm em paralelo entre os pinos 5V e GND do Arduino.


Após reconectar os componentes, (definitivamente) a placa controladora final fica assim.


Etapa 6: Criar uma placa receptora
Nesta etapa, o assistente mostrará como fazer a placa receptora. O processo é muito semelhante a fazer uma placa controladora.


Primeiro você precisa aparar a tábua de pão e os conectores. Em seguida, instale os capacitores. Você pode comparar esta etapa com a primeira etapa da criação de uma placa controladora para obter mais informações.


Em seguida, você precisa adicionar todos os fios vermelho e azul. Vermelho para 3,3 Volts e azul para terra (GND).


Fiação para SPI de comunicação.


A placa do receptor está pronta, mas antes de você carregar o código do Kravox-Receiver no Arduino Nano, você deve primeiro criar uma interface para o receptor.


Em seguida, o assistente mostra como fazer uma interface com 4 potenciômetros e um LED para o receptor. A interface está conectada, como na primeira figura, e será conectada à placa receptora, como visto na segunda figura.


O procedimento é o seguinte: primeiro você precisa levar um conjunto de 8 cabos e soldar 5 deles nos contatos do meio dos potenciômetros. É aconselhável usar as mesmas cores do diagrama para não ficar confuso.

Em seguida, é necessário cortar a tábua de pão 2 linhas de 17 orifícios e um conector macho de 17 pinos. Conecte os cabos e o conector à placa. Preste atenção no diagrama acima para certificar-se de conectar os cabos nos lugares certos.


Agora você precisa soldar os fios azuis (terra) a um dos contatos de todos os potenciômetros. Solde um LED azul com um resistor limitador de corrente de 150 Ohms.

Fios de solda verde.

A interface final deve se parecer com isso (foto 1) e pode ser conectada à placa receptora como esta (foto 2).

Sétimo passo: código
Agora disponível para download no receptor Arduino Nano.
Para verificar, você precisa fazer um pequeno ajuste no código novamente antes de fazer o download. Por padrão, o receptor exibe seus dados em um formato que pode ser interpretado como dados puros, mas não exibe informações úteis em um monitor serial. No entanto, você pode alterar esse comportamento no seu código editando (adicionando // antes) a linha #define WRITE_AS_BYTES e (removendo // before) a linha // #define PRINT_VIA_SERIAL_MONITOR.


Passo Oito: Caso
Mais longe da tira de cobre, o mestre faz um sensor.


Para defender o caso, o mestre usa caixas vazias.

O mestre desenha papelão. Corta 24 tiras de cobre e prende em um papelão.



Além disso, o mestre corta papelão com 2 x 24 furos de largura e o conector macho de 24 pinos é dimensionado e solda 24 fios a ele. Os fios no meio devem ter pelo menos 10 cm de comprimento e, à medida que você se afasta do centro, o comprimento dos fios aumenta. Por exemplo, se você usar uma fita de cobre com 1 cm de largura e a distância entre os eletrodos 3 mm, o comprimento do fio deverá aumentar em 1,3 cm, conforme mostrado abaixo: 10 / 11.3 / 12.6 / 13.9 / 15.2 ...

Agora você pode soldar as segundas extremidades dos fios nas tiras de cobre e selar as tiras com fita.



Cola o sensor no corpo e, em seguida, cola outro corpo nele (para verificação).


Cobre a parte traseira da placa controladora com papelão.

Instala LEDs e banco de potência. Você precisa organizar o banco de potência para poder conectar e desconectar o cabo USB, porque é assim que o controlador liga e desliga. Conecte também a interface de toque à placa controladora e coloque-a na caixa.

Faz um recorte para o cabo USB-A-USB-C na junção das duas caixas, prende-o e conecta-o ao Arduino Nano.

Agora o controlador está pronto.

O mestre corrige o caso com a ajuda de chiclete de papelaria. Se, posteriormente, surgirem problemas com sensores que detectam toque quando eles não estão presentes, é necessário colocar material isolante, como filme ou algo semelhante, entre a carcaça sensível ao toque, a placa de circuito e os fios. Conecte a energia sem tocar nos sensores.


Etapa Nove: Criando um Caso de Receptor
Agora você precisa fazer uma carcaça para o receptor. O assistente faz vários furos redondos para potenciômetros e LEDs.


Cola a placa receptora, LED, potenciômetros de parafuso. Define as alças.




Etapa Dez: Concluir
Agora que todo o equipamento está montado, é hora de tocar música! Para fazer isso, você precisa de um software ao qual possa conectar o equipamento. Para o Kravox, este é o software Pure Data Vanilla, que você pode baixar gratuitamente.

Depois de instalar o Pure Data no computador, você precisa executá-lo e abrir o arquivo Kravox.pd. Observe que ele deve ser salvo no seu computador na mesma pasta que a pasta de exemplos de bateria com a qual é fornecida - caso contrário, o Pure Data não poderá encontrar os arquivos.
Assim que a interface do programa Kravox.pd for aberta, você precisará abrir a janela como na foto e instalar os quatro chamados dispositivos externos listados nesta janela. A instalação é simples, basta clicar em "ajuda" no menu "Limpar dados", selecionar "Encontrar objetos adicionais na internet" (pode ser um pouco diferente), encontrar "comport", "zexy", "freeverb" e "arraysize". "um por um e instale a versão mais recente. Agora os quatro objetos marcados como comport, repack, freeverb e arraysize devem ter um esboço sólido, como na figura abaixo. Talvez seja necessário reiniciar o Pure Data para isso.

Após a instalação de dispositivos externos, você pode conectar o receptor via USB. Se você alterou o código na Parte 4 para usar o Receptor com o Monitor Serial Arduino, primeiro você deve desfazer essa alteração e carregar o código-fonte no receptor Arduino Nano antes de conectar e fechar o Monitor Serial Arduino.

Agora, dê uma olhada na janela Pure Data. Se você vir um fluxo de dados atualizado rapidamente, isso é ótimo, mas provavelmente mostrará uma mensagem vermelha, como a da primeira imagem, que é atualizada a cada dois segundos.

O texto em vermelho pode ser um pouco diferente, mas ainda assim significa que o Pure Data ainda não conseguiu se conectar ao seu receptor. Isso ocorre porque o programa precisa especificar qual porta USB conectar. As portas USB podem ser etiquetadas de maneira diferente em diferentes dispositivos; no MacBook Pro de 2014, o Pure Data reconhece as duas portas USB como porta serial 3, independentemente de qual receptor você está se conectando. Em seguida, o assistente usou o Kravox com o Lenovo Yoga Pad com apenas uma porta USB em funcionamento, designada como porta serial 6. No Windows, as portas são designadas como 8 e 9. O assistente recomenda apenas tentar descobrir qual número a porta USB funciona no seu dispositivo. . Ele criou um diálogo como parte da interface Kravox.pd (segunda foto), onde você pode simplesmente clicar nos números até o dispositivo funcionar. Você também pode experimentar os botões "Mostrar portas disponíveis" e "Mostrar dispositivos USB conectados".
Sintetizador espacial Kravox no Arduino


Então você precisa clicar em "Salvar" para que o Pure Data tente conectar-se a essa porta na próxima vez automaticamente.
Se o código do controlador foi editado, é necessário recarregar o código.

Resta conectar a placa controladora à fonte de alimentação. Ao fazer isso, o gabinete da interface de toque ao redor da placa deve estar fechado e a parte de toque do gabinete não deve tocar suas mãos ou qualquer outra coisa.

Tudo está pronto, informações adicionais podem ser visualizadas no vídeo.


5.5
5.5
5.5

Adicionar um comentário

    • sorrirsorrisosxaxaoknão seiyahoonea
      chefearranhartolosimsim simagressivosegredo
      desculpedançardance2dance3perdãoajudabebidas
      pararamigosbomgoodgoodapitodesmaiarlíngua
      fumaçapalmascraydeclararirônicodon-t_mentionbaixar
      calorirritantelaugh1mdareuniãomoskingnegativo
      not_ipipocapunirlerassustarsustospesquisar
      provocarthank_youistoto_clueumnikagudoconcordar
      malbeeeblack_eyeblum3corargabar-setédio
      censuradobrincadeirasecret2ameaçarvitóriayusun_bespectacled
      sacudirrespektlolpreviubem vindoKrutoyya_za
      ya_dobryiajudantene_huliganne_othodifludproibirfechar

Aconselhamos que você leia:

Entregue-o para o smartphone ...