Índice:

Arduino Soundlab: 3 etapas
Arduino Soundlab: 3 etapas

Vídeo: Arduino Soundlab: 3 etapas

Vídeo: Arduino Soundlab: 3 etapas
Vídeo: Маяк мощностью 3 Вт на Si5351 и arduino. Самодельный CW Beacon 80m. 2024, Novembro
Anonim
Image
Image
Construção
Construção

É incrível como uma ampla gama de sons incríveis pode ser gerada com a técnica de síntese FM, mesmo usando um Arduino simples. Em um instrutível anterior, isso foi ilustrado com um sintetizador que tinha 12 sons pré-programados, mas um visualizador sugeriu que seria muito mais legal ter controle total dos parâmetros de som com potenciômetros, e assim é!

Neste laboratório de som, os tons podem ser controlados por 8 parâmetros: 4 para o envelope ADSR do volume e 4 para a modulação de frequência que determina a textura.

A adição dos 8 potenciômetros não prejudicou o número de chaves: três conjuntos de 8 chaves são lidos alguns microssegundos um após o outro, para um total de 24 chaves, correspondendo a duas oitavas inteiras. Na verdade, dois pinos do Arduino não são usados e a expansão para 40 chaves seria possível.

Veja o vídeo para saber como fazer sons selvagens. Aqui está uma breve visão geral:

* A = ataque: tempo para um tom atingir seu volume máximo (faixa 8ms-2s)

* D = decadência: tempo para um tom descer até seu nível constante de volume (intervalo 8ms-2s)

* S = sustentar: nível constante de volume (intervalo 0-100%)

* R = liberação: tempo para um tom morrer (faixa 8ms-2s)

* f_m: razão da frequência de modulação para a frequência da portadora (intervalo 0,06-16) valores abaixo de 1 resultam em subtons, valores mais altos em sobretons

* beta1: amplitude da modulação FM no início da nota (intervalo 0,06-16). Valores pequenos resultam em pequenas variações da textura do som. grandes valores resultam em sons malucos

* beta2: amplitude da modulação FM no final da nota (intervalo 0,06-16) Dê beta2 um valor diferente de beta1 para fazer a textura do som evoluir no tempo.

* tau: velocidade na qual a amplitude FM evolui de beta1 para beta 2 (intervalo 8ms-2s) Valores pequenos fornecem um pequeno estrondo no início de uma nota, valores grandes uma evolução longa e lenta.

Etapa 1: construção

Construção
Construção
Construção
Construção
Construção
Construção

Claramente, este ainda é um protótipo, espero que um dia eu ou outra pessoa construa este grande e forte e bonito com grandes teclas e mostradores reais para os potenciômetros em um gabinete incrível….

Componentes necessários:

1 Arduino Nano (não funciona com o Uno, que tem apenas 6 entradas analógicas)

24 botões

8 potenciômetros, na faixa de 1kOhm - 100kOhm

1 potenciômetro de 10kOhm para controle de volume

1 capacitor - eletrolítico de 10 microfarad

1 entrada de fone de ouvido de 3,5 mm

1 chip amplificador de áudio LM386

2 capacitor eletrolítico de 1000 microfarad

1 capacitor cerâmico de 1 microfarad

1 microinterruptor

1 alto-falante 8 ohm 2 watts

1 placa de protótipo 10x15cm

Certifique-se de compreender os esquemas anexados. Os 24 botões são conectados em 3 grupos de 8, para serem lidos em D0-D7 e ativados em D8, D10 e D11. Os potenciômetros possuem + 5V e aterramento nas derivações finais e as centrais são alimentadas para as entradas analógicas A0-A7. O D9 tem saída de áudio e é acoplado a um potenciômetro de 10kOhm para controle de volume. O som pode ser ouvido diretamente com fones de ouvido ou amplificado com um chip amplificador de áudio LM386.

Cabe tudo em uma placa protótipo de 10x15cm, mas os botões estão muito próximos para tocar bem, então seria melhor construir um teclado maior.

O circuito pode ser alimentado através da conexão USB no Arduino Nano, ou com uma fonte de alimentação externa de 5V. Uma caixa de bateria 2xAA seguida por um conversor elevador é uma solução de alimentação perfeita.

Etapa 2: Software

Faça upload do sketch em anexo para o Arduino Nano e tudo deve funcionar.

O código é direto e fácil de modificar, não há código de máquina nem interrupções, mas há algumas interações diretas com os registradores, para interagir com o temporizador, para acelerar a leitura do botão e para controlar o comportamento do ADC para a leitura do potenciômetro

Etapa 3: melhorias futuras

Ideias da comunidade são sempre bem vindas!

Estou mais incomodado com os botões: eles são minúsculos e clicam com força quando pressionados. Seria muito bom ter botões maiores e mais confortáveis para apertar. Além disso, os botões de sensibilidade à força ou velocidade permitiriam controlar o volume das notas. Talvez os botões de pressão de 3 vias ou os botões sensíveis ao toque possam funcionar?

Outras coisas interessantes seriam armazenar configurações de som em EEPROM. Armazenar melodias curtas em EEPROM também permitiria fazer músicas muito mais interessantes. Finalmente, sons mais complexos poderiam ser gerados, se alguém souber como gerar sons de percussão de forma computacionalmente eficiente, isso seria incrível …

Recomendado: