Lo-fi Arduino Guitar Pedal

Lo-fi Arduino Guitar Pedal

Categoria: ÁudioAutor: Eugène Delattre • Vistas: 82

Esmagamento de bits, taxa de redução, estranhos ruídos: pedal de efeitos guitarra DIY 10 bits com um Arduino para DSP de lo-fi.Confira o vídeo de demonstração no Vimeo.

Passo 1. Materiais

Ferramentas

  • Arduino (versão Diecimila foi, ou com auto-reset)
  • Ferro de soldar
  • Pistola de cola quente
  • Cortadores de fio
  • Furadeira ou dremel

Materiais

  • Gabinete
  • Solda
  • Cola quente
  • Fio
  • Placa de perf
  • Tomadas de áudio (usei 1/8 “) (x2)
  • Interface de entradas, por exemplo: 3 potenciômetros
  • Interface de saídas, por exemplo: 3 LEDs e resistores de n/a ohm
  • Resistores: 1 k, 10 k, 1.2 k (x 2), 1.5 k, k 390
  • Capacitores: 2,2 uF (2)

Dobro do número de resistores e capacitores para fiação estéreo.

Passo 2. Preparando o gabinete

Eu usei um “conversor de mídia fast ethernet” para meu gabinete. É apenas uma caixa que acontece para caber o Arduino, alguns elementos da interface e duas entradas de áudio. É um metal muito resistente, o que é importante para um pedal. Como um bônus adicionado: tem uma dobradiça na parte traseira, o que torna mais fácil para abrir e fechar.

As modificações só que tive que fazer a este gabinete foram alguns buracos para os três potes (usando uma furadeira) e cortar alguns de plástico do conector USB.

Passo 3. Ligar os componentes

Uma vez que o recinto está preparado:

  • Situar o Arduino
  • Instalar qualquer um dos seus componentes de interface, como vasos ou LEDs
  • Instale seus jacks de entrada e saídas

Lembre-se de que os LEDs precisam de resistores entre eles e os pinos do Arduino. Eu usei resistores de 150 ohms.Nós vai ser modificando o valor de referência analógica, então se você quiser usar qualquer potenciômetros você tem que conectá-los ao pino AREF em vez do pino 5V usual.Para os conectores de 1/8 “(ou qualquer coisa que não é o mesmo painel do recinto como o Arduino) Certifique-se de usar fios flexíveis. Caso contrário, será difícil fechar o caso e as articulações podem quebrar ou outras conexões podem soltar-se.

Passo 4. Normalizar a entrada e saída

Entrada

Este é o único verdadeiro “truque” quando se trata de hardware para este sistema. Áudio acontece como um sinal de AC do -1 V + 1 V, mas as entradas analógicas no Arduino funcionar de 0 V (terra) para alguma tensão positiva chamado a referência analógica (5 V por padrão). Você pode especificar esta tensão positiva no código ou com uma referência externa.Desde -1 V + 1 V é uma variedade de V 2, vamos escolher algo menor do que 2 V para nosso valor de referência analógica. Despeja 1.1 v é especificado como uma construído em referência interna, que funciona muito bem.A partir daqui temos que normalizar a n/a V V 0 V 1.1 V. Eu fiz isso usando um resistor em série, seguido por um circuito divisor de tensão. Uma guitarra diretamente não pode conduzir a este circuito, ele precisa de um pré-amplificador (como outro pedal) para dirigi-lo. Tenho certeza de que você poderia adicionar um pré-amplificador de transistor ou op-amp à placa perf, assim você poderia conectar o pedal diretamente.

Saída

Para a saída, vamos estar usando PWM. Com alguns cortes de baixo níveis no software, você pode obter um PWM de 8-bit rodando a 62 kHz = 16 MHz / 28There são alguns outros métodos para saída de áudio no Arduino. Uma boa visão geral pode ser encontrada no passatempo de uC. Eu tenho alguns bons resultados de um DAC R2R, mas considerando que ele precisa de cerca de 40 resistores para saída estéreo de 10 bits, decidi contra ele. Em vez disso, fui com a técnica de pinos ponderada, que é como um cruzamento entre padrão PWM e uma escada de resistor.

Construção do circuito

Criei dois de cada circuito em uma placa de perf. Eu tinha uma faixa de terra para baixo o centro que ajudou a organizar as coisas tão bem quanto possível. A primeira vez que eu construí o circuito, ele era muito alto e não se encaixava no recinto, então eu tive que construí-lo novamente.Quando você tiver capacitores em série como esta, eles vão cortar algumas das suas baixas freqüências. Com um capacitor de 2,2 uF, é baixo o suficiente para que isso realmente não afeta sons em nossa faixa de audição. Quanto maior o valor, melhor; mas capacitores tendem a ficar fisicamente maiores à medida que aumenta seu valor.

Passo 5. Conectar o restante de componentes

Uma vez que seus circuitos de entrada e saídos são feitos em sua placa perf, colocá-lo dentro e começar a anexar todos os fios que ainda precisam ser anexados.

  • Entrada de áudio vai para o circuito de entrada e, em seguida, entradas analógicas do Arduino
  • As torneiras do pote ir para entradas analógicas do Arduino
  • Dois LEDs ir para saídas PWM, vai para uma saída digital
  • Quatro saídas PWM vão no circuito DAC ponderado 2/8-bit
  • A saída do circuito DAC ponderada vai para a saída de áudio

Passo 6. Carregar código DSP

Download do código e você encontrará duas pastas. Um é o código básico do DSP, “ArduinoDSP”, que você pode usar para fazer seu próprio pedal. “GlitchPedal” é o que eu usei para esta configuração específica.

ArduinoDSP

O inclui em ArduinoDSP são úteis para definir a adequada PWM prescaling e prescaling valores de entrada analógica. Transformam os pinos 3 e 11 na esquerda saídas (8 e 2 bits respectivamente) e 5 e 6 para as saídas de direita, usando configurações de Fast PWM com nenhum prescaling assim o PWM é o mais rápido possível. A ADC também está definida para um valor baixo prescale, 32, e a referência analógica é definida para 1,1 V (a referência interna).Para modificar o código de ArduinoDSP básico, basta inserir seu próprio código para modificar a variável de “entrada” entre a linha “curta entrada = analogRead(left);” e “saída (à esquerda, entrada);”.

GlitchPedal

O código que eu escrevi já faz algumas coisas. Os LEDs fornecem feedback visual sobre as posições de botão e o nível de entrada, e os potenciômetros controlam configurações para o DSP acontecendo dentro do microcontrolador. O primeiro pote controla o modo, o segundo controla um parâmetro de que modo e a terceira controla uma taxa eficaz da amostra. Os modos incluem:

  • Bitcrush: bit shift a entrada à direita e depois para a esquerda, decepar de n bits.
  • Bitshift: deslocar a entrada à esquerda, levando a um efeito estranho para o primeiro poucos valores e depois, eventualmente, de ruído (ou seja, o “bits de pontilhamento”).
  • Overdrive: Multiplique a entrada por um flutuador de 1 a 20.
  • Resposta de impulso binário: fazer várias operações de binário a entrada e o último resultado (XOR, nem, não ou exclusivo, NAND…)

Passo 7. Notas e variações

Variações

  • Adicionar um filtro de passa-baixa RC na saída com freqüência selecionável de canto
  • Modos mais estranho: bits remapeamento? rotação de bits?
  • Repetir a últimos n amostras? Isso é fortemente limitado pela RAM do ATmega.
  • Fuja de 9V adaptador de parede em vez de alimentação USB
  • 6 saídas de 8 bits em execução em um sistema de alto-5.1 falantes?
  • Usar um Arduino mini para um pedal super pequeno
  • Baía de patch como um interface?
  • Botão de volume de entrada

Notas