Tabla de contenido:
- Paso 1: problema
- Paso 2: contexto del proyecto
- Paso 3: Piezas / herramientas necesarias
- Paso 4: estrategia técnica
- Paso 5: Código
- Paso 6: video
Video: NeckCrusher (pedal de efectos montado en guitarra): 6 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Dale Rosen, Carlos Reyes y Rob Koch
DATT 2000
Paso 1: problema
Los pedales de guitarra restringen al músico a la plataforma de los pedales. Solución: Construya e incruste una funcionalidad de pedales de guitarra en la propia guitarra. Esto permite que el músico se mueva libremente por el escenario, utilizando el mástil de la guitarra como interfaz en lugar de estar restringido a la ubicación de la pedalera. Exploraremos este concepto creando un dispositivo de efecto bitcrusher / frecuencia de muestreo.
Paso 2: contexto del proyecto
Hay muchos pedales de guitarra que utilizan los músicos para manipular el sonido de sus guitarras. La mayoría de estos se encuentran generalmente en unidades de rack o pedales, por lo que restringen el control de los efectos a la ubicación de la unidad de efectos. Montar el dispositivo en la guitarra permite a los jugadores controlar los parámetros del efecto en cualquier lugar del escenario. Esto significa que no estarán restringidos y pueden tener la libertad de moverse durante su desempeño.
Dado que Arduino solo es capaz de audio de 8 bits, es imposible realizar un procesamiento de señal de alta fidelidad. Por eso elegimos los efectos que hicimos, ya que se basan en crear un sonido distorsionado de baja fidelidad. Estos son los únicos efectos que son razonablemente posibles con un Arduino.
Paso 3: Piezas / herramientas necesarias
● Taladro de impacto
● Cortadores de alambre
● Pelacables
● Soldador
● Pistola de pegamento caliente
● Bomba desoldadora
● Guitarra ● Caja
● Soldar
● pegamento caliente
● Arduino
● Proto Board
● Alambre revestido
● Conectores de audio (x2)
● Potenciómetros (x3)
● Condensadores: 2,2 uF (x2)
● Alambre de cobre expuesto
● Tornillos (M3.5 * 8)
● Resistencias: 1 k, 10 k, 1,2 k, 1,5 k, 390 k
● * Amplificador operacional (LM358) / * Transistor (2N3442)
Paso 4: estrategia técnica
Circuito interno
De entrada y salida
Necesitamos convertir la señal de audio proveniente de una guitarra a algo que el arduino pueda usar y modificar. Luego, necesitaremos convertir la señal proveniente del arduino nuevamente en una señal de audio. Arduino lee voltajes de 0V a 5V, las señales de audio son de -1V a 1V. Estas conversiones se realizan mediante resistencias. La señal también se convertirá en el circuito de salida.
Biblioteca Arduino: ArduinoDSP
Descripción del proyecto (interfaz)
Perillas Perilla 1: Frecuencia de muestreo
Perilla 2: Trituradora de bits
Perilla 3: Desplazador de bits
Paso 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;
voltile boolean 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 memoria de audio de 8 bits
configuración vacía () {setupIO ();
// recarga la onda después de 1 segundo fill_sinewave ();
// establece adc prescaler en 64 para la frecuencia de muestreo de 19kHz cbi (ADCSRA, ADPS2); sbi (ADCSRA, ADPS1); sbi (ADCSRA, ADPS0); // ADC de 8 bits en el registro ADCH sbi (ADMUX, ADLAR); sbi (ADMUX, REFS0); cbi (ADMUX, REFS1); cbi (ADMUX, MUX0); cbi (ADMUX, MUX1); cbi (ADMUX, MUX2); cbi (ADMUX, MUX3); // Modo Timer2 PWM configurado en PWM cbi rápido (TCCR2A, COM2A0); sbi (TCCR2A, COM2A1); sbi (TCCR2A, WGM20); sbi (TCCR2A, WGM21); // Configuración para Timer2 cbi (TCCR2B, WGM22); // Preescalador de reloj Timer2 a: 1 sbi (TCCR2B, CS20); cbi (TCCR2B, CS21); cbi (TCCR2B, CS22); // Timer2 PWM Port Enable sbi (DDRB, 3); // cli (); cbi (TIMSK0, TOIE0); sbi (TIMSK2, TOIE2); iw1 = badc1;
}
bucle vacío () {
// verifica el estado del potenciómetro de efecto y del interruptor giratorio readKnobs ();
// ************* // ***Normal*** // *************
if (fx1 == 0 && fx2 == 0 && fx3 == 0 && fx4 == 0) {byte input = analogRead (izquierda); salida (izquierda, entrada); }
// ************* // *** Phasor *** // *************
si (fx4> 100) {
fx1 = 0; fx2 = 0; fx3 = 0;
while (! f_sample) {// espera el valor de muestra de ADC} // ciclo 15625 KHz = 64uSec PORTD = PORTD | 128; f_sample = falso; bb = badc1; dd [icnt1] = bb; // escribir en el búfer fx4 = iw * badc0 / 255; // escalar la muestra retardada con potenciómetro iw1 = dd [icnt2]; // leer el búfer de retardo badc0 = badc0 / 20; // valor límite a 512 icnt1 ++; icnt2 = icnt1 - badc0; icnt2 = icnt2 y 511; // índice de límite 0.. icnt1 = icnt1 & 511; // índice de límite 0..511 iw2 = iw1 + bb; iw2 = iw2 / 2; bb = iw2; OCR2A = bb; // Valor de muestra para salida PWM
PORTD = PORTD ^ 128; salida (izquierda, PORTD); // Producción }
// ************* // *** Flanger *** // ************* if (fx3> 100) {
fx1 = 0; fx2 = 0; fx4 = 0;
while (! f_sample) {// espera el valor de muestra de ADC} // ciclo 15625 KHz = 64uSec
PORTD = PORTD | 128; f_sample = falso; bb = dd [icnt]; // lee el búfer de retardo iw = 127 - bb; // restar el desplazamiento fx3 = iw * badc0 / 255; // escalar la muestra retardada con potenciómetro iw1 = 127 - badc1; // resta el desplazamiento de la nueva muestra iw1 = iw1 + iw; // agrega una muestra retrasada y una nueva muestra if (iw1 127) iw1 = 127; // Limitador de audio bb = 127 + iw1; // agregue el desplazamiento dd [icnt] = bb; // almacena la muestra en el búfer de audio icnt ++; icnt = icnt & 511; // limite bufferindex 0..511 OCR2A = bb; // Valor de muestra para salida PWM
PORTD = PORTD ^ 128; salida (izquierda, PORTD); // Producción
} }
anular readKnobs () {fx1 = analogRead (1); fx2 = analogRead (2); fx3 = analogRead (3); fx4 = analogRead (4);
}
void fill_sinewave () {float pi = 3.141592; float dx; float fd; flotador fcnt; dx = 2 * pi / 512; // llena el búfer de 512 bytes para (iw = 0; iw <= 511; iw ++) {// con 50 puntos sinewawe fd = 127 * sin (fcnt); // tono fundamental fcnt = fcnt + dx; // en el rango de 0 a 2xpi y 1/512 incrementos bb = 127 + fd; // agrega un desplazamiento de CC a sinewawe dd [iw] = bb; // escribe el valor en la matriz
} }
// ********************************************** ****************** // Servicio de interrupción de Timer2 a 62.5 KHz // aquí la señal de audio y potenciómetro se muestrea a una velocidad de: 16Mhz / 256/2/2 = 15625 Hz ISR (TIMER2_OVF_vect) {
PORTB = PORTB | 1;
div32 =! div32; // divide la frecuencia del timer2 / 2 a 31.25kHz if (div32) {div16 =! div16; if (div16) {// muestrea el canal 0 y 1 alternativamente para que cada canal sea muestreado con 15.6kHz badc0 = ADCH; // obtener el canal ADC 0 sbi (ADMUX, MUX0); // establece el multiplexor en el canal 1} else {badc1 = ADCH; // obtener el canal 1 de ADC cbi (ADMUX, MUX0); // establece el multiplexor en el canal 0 f_sample = true; } ibb ++; ibb--; ibb ++; ibb--; // breve retraso antes de iniciar la conversión sbi (ADCSRA, ADSC); // iniciar la siguiente conversión}
}
Paso 6: video
Problemas potenciales ● La pastilla es demasiado débil para alimentar el circuito; necesita un amplificador operacional. - En el video usamos un amplificador de señal. (La caja gris sobre la mesa.)
Recomendado:
Pedal de sobremarcha con pilas para efectos de guitarra: 5 pasos
Pedal de sobremarcha con batería de bricolaje para efectos de guitarra: por amor a la música o por el amor a la electrónica, el objetivo de este Instructable es mostrar cuán crítico es el SLG88104V Rail to Rail I / O 375nA Quad OpAmp con sus avances de baja potencia y bajo voltaje puede revolucionar los circuitos de sobremarcha. Ty
Proto Pedal para efectos de guitarra de bricolaje: 5 pasos (con imágenes)
Proto Pedal para efectos de guitarra de bricolaje: diseñar y crear sus propios efectos de guitarra es una excelente manera de combinar la pasión por la electrónica y la guitarra. Sin embargo, al probar nuevos diseños, encontré que el frágil circuito de la placa de pruebas sin soldadura era difícil de conectar al parche c
Pedal de efectos de guitarra y música ATMega1284P: 6 pasos (con imágenes)
Pedal de efectos de guitarra y música ATMega1284P: He adaptado el Pedalshield Arduino Uno ATMega328 (desarrollado por Electrosmash y en parte basado en el trabajo en el Open Music Lab) al ATMega1284P, que tiene ocho veces más RAM que el Uno (16kB frente a 2kB). Un beneficio adicional inesperado es
Cómo monté en bastidor el procesador de efectos de guitarra Line 6 Pod: 10 pasos (con imágenes)
Cómo monté en bastidor mi procesador de efectos de guitarra Line 6 Pod: compré una de las unidades Line 6 POD originales cuando salieron por primera vez en 1998. Sonaba fenomenal en ese entonces y todavía suena genial hoy - el único problema era su forma - Para decirlo claramente, parece una tontería. Más importante, a menos que tengas
Pedal de efectos de guitarra DIY Rat Clone Distortion - The Dead RAT: 5 pasos (con imágenes)
Pedal de efectos de guitarra DIY Rat Clone Distortion - The Dead RAT: ¡Este no es un pedal de distorsión de Mickey Mouse! Este pedal es un clon de uno de mis pedales de efectos favoritos de los años 80 … la distorsión RAT de ProCo. Es un pedal de distorsión OpAmp básico que usa el chip IC LM308N clásico que es una construcción bastante simple para t