Índice:

Interface digital musical: 6 etapas (com imagens)
Interface digital musical: 6 etapas (com imagens)

Vídeo: Interface digital musical: 6 etapas (com imagens)

Vídeo: Interface digital musical: 6 etapas (com imagens)
Vídeo: EITA SAIU!! 6 Novos Truques do Whatsapp que Você Precisa Conhecer / 2023 🥳 2024, Julho
Anonim
Interface digital musical
Interface digital musical

Sejam bem vindos, Eu gostaria de mostrar a vocês minha própria Interface Digital Musical. Eu fiz isso durante a minha graduação em som técnico, estes são os meus trabalhos de pesquisa. Para começar, perguntei-me como posso compor música sem DAW, com materiais reciclados e possibilidade de tocar sozinho.

Neste instrutível, vou ensiná-lo a usar a comunicação serial para enviar / receber informações de sensores (analógicos e digitais) do Arduino para o Raspberry pi para o software puredata para acionar um som.

Os materiais necessários são:

x1 framboesa PI3

x1 Boîter de proteção PI3

x1 Micro SD (32G)

x1 Arduino UNO

x1 Sensor IR Sharp GP2Y0E02B

x1 breadbord

Medidor de teste de placa x1 (0,2)

x28 Resistência 10MΩ

Resistência x2 1,8kΩ

x1 Resistência 10kΩ

Terminal x20 macho / fêmea

Porta-solda x1

x1 bobina de estanho (1 metro)

Ferro de solda x1

x25 Flexibles Straps Macho / Macho

Etapa 1: Sensores

Sensores
Sensores
Sensores
Sensores
Sensores
Sensores

Usei 4 piezoelétricos vindos do controle remoto "Guitar Hero" Harmonix XBOX 360. Usei um botão liga / desliga porque o interruptor magnético do pedal jam pedal guitar hero remoto estava desligado.

Usei um sensor infravermelho Sharp GP2Y0E02B. Para todos esses sensores, fiz a montagem pull-up para uma operação eficaz …

Assim, empiricamente encontrei o valor de resistência para sensor de botão e sensor de IR. Porém testei o piezoelétrico para saber a escala completa deste, e fixei o valor da resistência necessária e aplicada para os 4 sensores analógicos.

Etapa 2: montagem pull-up

Montagem de pull-up
Montagem de pull-up
Montagem de pull-up
Montagem de pull-up
Montagem de pull-up
Montagem de pull-up
Montagem de pull-up
Montagem de pull-up

Depois de testar o piezoelétrico com gerador de tensão, fixei o valor da resistência em 7MΩ.

O pull-up do conjunto de resistência do botão foi de 10 kΩ.

Para o sensor IR, usei duas resistências de 1, 8kΩ entre, respectivamente, a tensão de alimentação e SDA (dados) e SCL (relógio).

Tenha cuidado porque esses valores de resistência são para RTX Arduino UNO; algo para saber sobre a entrada de impedância do Arduino: 10MΩ.

Você pode ver a montagem pull-up na última imagem desta etapa; Fixei alças piezoelétricas em 0 1 2 3 pinos no UNO, alça de botão em 2 pinos digitais mas comunico o valor em 6 pinos em UNO e alça de sensor IR em 4 5 pinos em UNO, todas entradas analógicas do Arduino Uno.

Etapa 3: codificar o Arduino

Para garantir que a operação fosse eficaz, testei enviar / receber informações dos sensores para o Arduino.

Eu coloquei os arquivos na descrição, mas você pode encontrá-los na seção de exemplos da programação do Arduino Genuino, exceto o sensor IR porque não está completo, alterei algumas informações na seção "definir" como "deslocamento" e alterei o cálculo de medição para regular em variações de distância. Você provavelmente já viu "Wire" no código do sensor IR. Na verdade usei o protocolo I2C para me comunicar. Convido você a conhecer o protocolo I2C, muito interessante, você pode usar este para transmitir em tempo real todos os sensores digitais que quiser.

Etapa 4: comunicação serial com o Arduino Raspberry

Comunicação serial Arduino Raspberry
Comunicação serial Arduino Raspberry
Comunicação serial Arduino Raspberry
Comunicação serial Arduino Raspberry

Sim: D

Como você pode ver na primeira foto, o link Arduino-Raspberry é um plug USB.

Encontrei uma maneira de receber informações dos sensores diretamente pelo PureData Extented que está instalado no Raspberry PI. Por que PureData Extended? Porque a versão Vanilla não usa a mesma biblioteca que um aplicativo no ambiente Raspbian.

Portanto, inicie o StandardFirmata no Arduino Genuino para corrigir as variações de E / S e de valor da maneira certa!

Para recuperar as informações dos valores no Raspberry PI, existem 2 protocolos: Firmata e Msg.

Escolhi o Firmata por um motivo, era mais simples obter informações no PureData via patch Pduino, um ambiente.

Convido você a descobrir Msg se você usar o protocolo OSC.

Etapa 5: Patch PureData recebido

Patch PureData recebido
Patch PureData recebido

De fato, depois de semanas codificando no Genuino, consegui receber todas as informações do meu sensor em uma página, o que permitiu ver variações em tempo real graças ao Pduino, um patch no Puredata, seção librairies extra.

A partir desta etapa, não tocamos mais no código do Arduino. As informações do valor são legíveis.

Como observei no passo 3, recebi informações do botão digital em 6 pinos analógicos, foi simples de ver o efetivo funcionamento da comunicação. Tudo em uma linha.

Etapa 6: Desenvolvimento PureData

Desenvolvimento PureData
Desenvolvimento PureData
Desenvolvimento PureData
Desenvolvimento PureData
Desenvolvimento PureData
Desenvolvimento PureData
Desenvolvimento PureData
Desenvolvimento PureData

PureData é uma linguagem específica e você deve gastar seu tempo livre para ter sucesso fazendo um belo patchwork.

Parte do patch PureData estará disponível no GitHub.

Espero que o que escrevi aqui o tenha ajudado a começar seu próprio projeto próximo ao meu.

Recomendado: