Índice:
- Etapa 1: Problema
- Etapa 2: Contexto do projeto
- Etapa 3: Peças / ferramentas necessárias
- Etapa 4: Estratégia Técnica
- Etapa 5: Código
- Etapa 6: Vídeo
Vídeo: NeckCrusher (pedal de efeito montado na guitarra): 6 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Dale Rosen, Carlos Reyes e Rob Koch
DATT 2000
Etapa 1: Problema
Os pedais da guitarra restringem o músico à plataforma do pedal. Solução: Construa e incorpore uma funcionalidade de pedais de guitarra na própria guitarra. Isso permite que o músico se mova livremente pelo palco, usando o braço da guitarra como uma interface, em vez de ficar restrito ao local da pedaleira. Exploraremos esse conceito criando um dispositivo de efeito bitcrusher / taxa de amostragem.
Etapa 2: Contexto do projeto
Existem muitos pedais de guitarra usados por músicos para manipular o som de suas guitarras. A maioria deles é geralmente em unidades de rack ou stomp box, portanto, restringindo o controle dos efeitos à localização da unidade de efeitos. Montar o dispositivo na guitarra permite que os jogadores controlem os parâmetros do efeito em qualquer lugar do palco. Isso significa que eles não serão restringidos e podem ter a liberdade de se movimentar durante sua apresentação.
Como o Arduino só é capaz de áudio de 8 bits, é impossível fazer processamento de sinal de alta fidelidade. É por isso que escolhemos os efeitos que fizemos, pois eles se baseiam na criação de um som distorcido de baixa fidelidade. Esses são os únicos efeitos razoavelmente possíveis com um Arduino.
Etapa 3: Peças / ferramentas necessárias
● Exercício de impacto
● Cortadores de fio
● Decapantes de fio
● Ferro de soldar
● pistola de cola quente
● Bomba de dessoldagem
● Guitarra ● Caixa
● solda
● cola quente
● Arduino
● Proto Board
● Fio Revestido
● Conectores de áudio (x2)
● Potenciômetros (x3)
● Capacitores: 2,2 uF (x2)
● Fio de cobre exposto
● Parafusos (M3.5 * 8)
● Resistores: 1 k, 10 k, 1,2 k, 1,5 k, 390 k
● * Op Amp (LM358) / * Transistor (2N3442)
Etapa 4: Estratégia Técnica
Circuito Interno
Entrada / Saída
Precisamos converter o sinal de áudio vindo de uma guitarra para algo que o arduino possa usar e modificar. Em seguida, precisaremos converter o sinal vindo do arduino de volta em um sinal de áudio. O Arduino lê tensões de 0 V a 5 V, os sinais de áudio vão de -1 V a 1 V. Essas conversões são feitas usando resistores. O sinal também será convertido no circuito de saída.
Biblioteca Arduino: ArduinoDSP
Descrição do projeto (interface)
Knobs Knob 1: Sample Rate
Botão 2: triturador de broca
Botão 3: Bit Shifter
Etapa 5: Código
#include "dsp.h"
#define cbi (sfr, bit) (_SFR_BYTE (sfr) & = ~ _BV (bit)) #define sbi (sfr, bit) (_SFR_BYTE (sfr) | = _BV (bit))
boolean div32; boolean div16;
volátil booleano f_sample; byte volátil badc0; byte volátil badc1; byte volátil ibb;
int fx1; int fx2; int fx3; int fx4;
int cnta; int icnt; int icnt1; int icnt2; int cnt2; int iw; int iw1; int iw2; byte bb;
byte dd [512]; // Matriz de memória de áudio de 8 bits
void setup () {setupIO ();
// recarrega a onda após 1 segundo fill_sinewave ();
// define o prescaler adc para 64 para frequência de amostragem de 19 kHz cbi (ADCSRA, ADPS2); sbi (ADCSRA, ADPS1); sbi (ADCSRA, ADPS0); // ADC de 8 bits no registro ADCH sbi (ADMUX, ADLAR); sbi (ADMUX, REFS0); cbi (ADMUX, REFS1); cbi (ADMUX, MUX0); cbi (ADMUX, MUX1); cbi (ADMUX, MUX2); cbi (ADMUX, MUX3); // Modo PWM Timer2 definido como PWM cbi rápido (TCCR2A, COM2A0); sbi (TCCR2A, COM2A1); sbi (TCCR2A, WGM20); sbi (TCCR2A, WGM21); // Configuração para Timer2 cbi (TCCR2B, WGM22); // Timer2 Clock Prescaler para: 1 sbi (TCCR2B, CS20); cbi (TCCR2B, CS21); cbi (TCCR2B, CS22); // Ativar porta PWM do Timer2 sbi (DDRB, 3); // cli (); cbi (TIMSK0, TOIE0); sbi (TIMSK2, TOIE2); iw1 = badc1;
}
void loop () {
// verifica o status do potenciômetro de efeito e da chave rotativa readKnobs ();
// ************* // ***Normal*** // *************
if (fx1 == 0 && fx2 == 0 && fx3 == 0 && fx4 == 0) {entrada de byte = analogRead (esquerda); saída (esquerda, entrada); }
// ************* // *** Phasor *** // *************
if (fx4> 100) {
fx1 = 0; fx2 = 0; fx3 = 0;
while (! f_sample) {// aguarde o valor da amostra do ADC} // Ciclo 15625 KHz = 64uSec PORTD = PORTD | 128; f_sample = false; bb = badc1; dd [icnt1] = bb; // escreve no buffer fx4 = iw * badc0 / 255; // escala a amostra atrasada com potenciômetro iw1 = dd [icnt2]; // lê o buffer de atraso badc0 = badc0 / 20; // limite o valor a 512 icnt1 ++; icnt2 = icnt1 - badc0; icnt2 = icnt2 & 511; // limite do índice 0.. icnt1 = icnt1 & 511; // limite do índice 0..511 iw2 = iw1 + bb; iw2 = iw2 / 2; bb = iw2; OCR2A = bb; // Valor de amostra para saída PWM
PORTD = PORTD ^ 128; saída (esquerda, PORTD); // Saída }
// ************* // *** Flanger *** // ************* if (fx3> 100) {
fx1 = 0; fx2 = 0; fx4 = 0;
while (! f_sample) {// aguarde o valor da amostra do ADC} // Ciclo 15625 KHz = 64uSec
PORTD = PORTD | 128; f_sample = false; bb = dd [icnt]; // lê o buffer de atraso iw = 127 - bb; // deslocamento do substrato fx3 = iw * badc0 / 255; // escala a amostra atrasada com potenciômetro iw1 = 127 - badc1; // subtrai o deslocamento da nova amostra iw1 = iw1 + iw; // adiciona amostra atrasada e nova amostra if (iw1 127) iw1 = 127; // Limitador de áudio bb = 127 + iw1; // adiciona deslocamento dd [icnt] = bb; // armazena amostra no buffer de áudio icnt ++; icnt = icnt & 511; // limite bufferindex 0..511 OCR2A = bb; // Valor de amostra para saída PWM
PORTD = PORTD ^ 128; saída (esquerda, PORTD); // Saída
} }
void readKnobs () {fx1 = analogRead (1); fx2 = analogRead (2); fx3 = analogRead (3); fx4 = analogRead (4);
}
void fill_sinewave () {float pi = 3,141592; float dx; float fd; float fcnt; dx = 2 * pi / 512; // preencher o bufferarry de 512 bytes para (iw = 0; iw <= 511; iw ++) {// com 50 pontos sinewawe fd = 127 * sin (fcnt); // tom fundamental fcnt = fcnt + dx; // no intervalo de 0 a 2xpi e incrementos de 1/512 bb = 127 + fd; // adiciona deslocamento dc ao sinewawe dd [iw] = bb; // escreve o valor no array
} }
// ************************************************* ******************* // Serviço de interrupção do Timer2 a 62,5 KHz // aqui o sinal de áudio e pot é amostrado em uma taxa de: 16Mhz / 256/2/2 = 15625 Hz ISR (TIMER2_OVF_vect) {
PORTB = PORTB | 1;
div32 =! div32; // divide a frequência do cronômetro2 / 2 em 31,25 kHz if (div32) {div16 =! div16; if (div16) {// faz a amostragem do canal 0 e 1 alternadamente para que cada canal seja amostrado com 15,6 kHz badc0 = ADCH; // obtém canal ADC 0 sbi (ADMUX, MUX0); // define o multiplexador para o canal 1} else {badc1 = ADCH; // obtém canal ADC 1 cbi (ADMUX, MUX0); // define o multiplexador para o canal 0 f_sample = true; } ibb ++; ibb--; ibb ++; ibb--; // pequeno atraso antes de iniciar a conversão sbi (ADCSRA, ADSC); // inicia a próxima conversão}
}
Etapa 6: Vídeo
Problemas potenciais ● O captador está um pouco fraco para o circuito de alimentação - precisa de um amplificador operacional. - No vídeo usamos um amplificador de sinal. (A caixa cinza sobre a mesa.)
Recomendado:
Compilação do efeito de guitarra do disjuntor de bits do estúdio Parasit: 5 etapas (com imagens)
Parasit Studio Bit Breaker Guitar Effect Build: Parasite Studio é um site de efeitos de guitarra DIY que fornece vários materiais para fazer seus próprios efeitos de guitarra, especialmente aqueles que lidam com efeitos digitais, como bitbreaker ou fuzz. O endereço Parasite Studio está localizado emhttps: //www.parasi
Pedal e pedal de amplificador de guitarra de bolso: 10 etapas
Pedal e pedal de amplificador de bolso de guitarra: Olá! Esse é meu primeiro instrutível e procuro dar o meu melhor com algo que amo, que é a música. Sou um cara do som e nas horas vagas toco violão. Então, aqui está um amplificador de bolso de guitarra com uma saída de 1 watt e mínimo de 4 ohms. Eu usei e
Pedal de efeito de guitarra de distorção de clone de rato DIY - the Dead RAT: 5 etapas (com fotos)
DIY Rat Clone Distortion Guitar Effect Pedal - the Dead RAT: Este não é um pedal de distorção do Mickey Mouse! Este pedal é um clone de um dos meus pedais de efeitos favoritos dos anos 80 … Distorção RAT da ProCo. É um pedal de distorção OpAmp básico que usa o clássico chip LM308N IC que é uma construção bastante simples para t
Pedal do Mac OS em um pedal de amplificador de guitarra: 12 etapas
Pedal de um pedal de guitarra do Mac OS: Precisa de um pedal para o seu Mac? Tem um pedal de guitarra com dois interruptores e uma placa Arduino por aí? Alguns fios, três pinos 1/4 " jack e está tudo pronto. Tive que fazer uma transcrição de áudio e usei meu pedal para reproduzir / pausar e pular ba
Walabot FX - Controle de efeito de guitarra: 28 etapas (com imagens)
Walabot FX - Controle de efeito de guitarra: controle seu efeito de guitarra favorito usando nada além de poses de guitarra incríveis