Cuprins:
- Pasul 1: Problemă
- Pasul 2: Contextul proiectului
- Pasul 3: Piese / Instrumente necesare
- Pasul 4: Strategia tehnică
- Pasul 5: Cod
- Pasul 6: Video
Video: NeckCrusher (Pedală de efect montată pe chitară): 6 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Dale Rosen, Carlos Reyes și Rob Koch
DATT 2000
Pasul 1: Problemă
Pedalele de chitară restricționează muzicianul la platforma pedalei. Soluție: Construiți și încorporați o funcționalitate a pedalelor de chitară în chitara însăși. Acest lucru îi permite muzicianului să se deplaseze liber pe scenă, folosind gâtul chitarei ca interfață în loc să fie limitat la locația pedalei. Vom explora acest concept prin crearea unui dispozitiv de tip bitcrusher / sample rate effect.
Pasul 2: Contextul proiectului
Există multe pedale de chitară folosite de muzicieni pentru a manipula sunetul chitarelor lor. Cele mai multe dintre acestea sunt de obicei în unități de tip rack sau stomp box, restrângând astfel controlul efectelor la locația unității de efecte. Montarea dispozitivului pe chitară permite jucătorilor să controleze parametrii efectului oriunde pe scenă. Aceasta înseamnă că nu vor fi restricționați și pot avea libertatea de a se deplasa pentru performanța lor.
Deoarece Arduino este capabil doar de sunet pe 8 biți, este imposibil să efectuați procesarea semnalului de înaltă fidelitate. Acesta este motivul pentru care am ales efectele pe care le-am făcut, deoarece acestea se bazează pe crearea unui sunet distorsionat de fidelitate redusă. Acestea sunt singurele efecte care sunt în mod rezonabil posibile cu un Arduino.
Pasul 3: Piese / Instrumente necesare
● Burghiu de impact
● Freze de sârmă
● Dispozitive de despicare
● Fier de lipit
● Pistol de lipit fierbinte
● Pompa de dezlipire
● Chitară ● Carcasă
● lipit
● Hot Glue
● Arduino
● Proto Board
● Sârmă acoperită
● Mufe audio (x2)
● Potențiometre (x3)
● Condensatoare: 2,2 uF (x2)
● Sârmă de cupru expusă
● Șuruburi (M3.5 * 8)
● Rezistențe: 1 k, 10 k, 1,2 k, 1,5 k, 390 k
● * Op Amp (LM358) / * Tranzistor (2N3442)
Pasul 4: Strategia tehnică
Circuite interne
Intrare ieșire
Trebuie să convertim semnalul audio provenit de la o chitară la ceva ce arduino poate folosi și modifica. Va trebui apoi să convertim semnalul care vine de la arduino înapoi într-un semnal audio. Arduino citește tensiuni de la 0V la 5V, semnalele audio sunt de la -1V la 1V. Aceste conversii se fac folosind rezistențe. Semnalul va fi convertit și în circuitul de ieșire.
Biblioteca Arduino: ArduinoDSP
Descrierea proiectului (interfață)
Butoane Buton 1: Rată de eșantionare
Buton 2: Concasor de biți
Buton 3: Bit Shifter
Pasul 5: Cod
#include „dsp.h”
#define cbi (sfr, bit) (_SFR_BYTE (sfr) & = ~ _BV (bit)) #define sbi (sfr, bit) (_SFR_BYTE (sfr) | = _BV (bit))
div32 boolean; div16 boolean;
f_sample boolean volatil; octet volatil badc0; octet volatil badc1; octet volatil 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; octet bb;
octet dd [512]; // Matrice de memorie audio pe 8 biți
void setup () {setupIO ();
// reîncarcă val după 1 secundă fill_sinewave ();
// setați adc prescaler la 64 pentru frecvența de eșantionare 19kHz cbi (ADCSRA, ADPS2); sbi (ADCSRA, ADPS1); sbi (ADCSRA, ADPS0); // 8-Bit ADC în ADCH Register sbi (ADMUX, ADLAR); sbi (ADMUX, REFS0); cbi (ADMUX, REFS1); cbi (ADMUX, MUX0); cbi (ADMUX, MUX1); cbi (ADMUX, MUX2); cbi (ADMUX, MUX3); // Modul PWM Timer2 setat la PWM rapid cbi (TCCR2A, COM2A0); sbi (TCCR2A, COM2A1); sbi (TCCR2A, WGM20); sbi (TCCR2A, WGM21); // Configurare pentru Timer2 cbi (TCCR2B, WGM22); // Timer2 Clock Prescaler la: 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;
}
bucla nulă () {
// verificați starea potențiometrului de efect și a comutatorului rotativ readKnobs ();
// ************* // *** Normal *** // *************
if (fx1 == 0 && fx2 == 0 && fx3 == 0 && fx4 == 0) {octet input = analogRead (stânga); ieșire (stânga, intrare); }
// ************* // *** Phasor *** // *************
dacă (fx4> 100) {
fx1 = 0; fx2 = 0; fx3 = 0;
while (! f_sample) {// wait for Sample Value from ADC} // Ciclul 15625 KHz = 64uSec PORTD = PORTD | 128; f_sample = false; bb = badc1; dd [icnt1] = bb; // scrie în buffer fx4 = iw * badc0 / 255; // eșantion întârziat la scară cu potențiometru iw1 = dd [icnt2]; // citiți buffer-ul de întârziere badc0 = badc0 / 20; // limitează valoarea la 512 icnt1 ++; icnt2 = icnt1 - badc0; icnt2 = icnt2 & 511; // index limită 0.. icnt1 = icnt1 & 511; // index limită 0..511 iw2 = iw1 + bb; iw2 = iw2 / 2; bb = iw2; OCR2A = bb; // Valoarea eșantionului la ieșirea PWM
PORTD = PORTD ^ 128; ieșire (stânga, PORTD); // ieșire}
// ************* // *** Flanger *** // ************* if (fx3> 100) {
fx1 = 0; fx2 = 0; fx4 = 0;
while (! f_sample) {// așteptați valoarea Sample din ADC} // Ciclu 15625 KHz = 64uSec
PORTD = PORTD | 128; f_sample = false; bb = dd [icnt]; // citiți buffer-ul de întârziere iw = 127 - bb; // offset scade fx3 = iw * badc0 / 255; // probă întârziată la scară cu potențiometru iw1 = 127 - badc1; // scăpați offset din noua mostră iw1 = iw1 + iw; // adaugă eșantion întârziat și eșantion nou dacă (iw1 127) iw1 = 127; // Limitator audio bb = 127 + iw1; // adaugă offset dd [icnt] = bb; // stochează eșantionul în bufferul audio icnt ++; icnt = icnt & 511; // limit bufferindex 0..511 OCR2A = bb; // Valoarea eșantionului la ieșirea PWM
PORTD = PORTD ^ 128; ieșire (stânga, PORTD); // Ieșire
} }
void readKnobs () {fx1 = analogRead (1); fx2 = analogRead (2); fx3 = analogRead (3); fx4 = analogRead (4);
}
void fill_sinewave () {float pi = 3.141592; float dx; plutitor fd; float fcnt; dx = 2 * pi / 512; // umpleți bufferarry-ul de 512 octeți pentru (iw = 0; iw <= 511; iw ++) {// cu 50 de perioade sinewawe fd = 127 * sin (fcnt); // ton fundamental fcnt = fcnt + dx; // în intervalul de la 0 la 2xpi și 1/512 trepte bb = 127 + fd; // adaugă dc offset la sinewawe dd [iw] = bb; // scrieți valoarea în matrice
} }
// ************************************************* ****************** // Timer2 Interrupt Service la 62,5 KHz // aici semnalul audio și pot este eșantionat într-o rată de: 16Mhz / 256/2/2 = 15625 Hz ISR (TIMER2_OVF_vect) {
PORTB = PORTB | 1;
div32 =! div32; // împărțiți frecvența timer2 / 2 la 31,25 kHz dacă (div32) {div16 =! div16; if (div16) {// eșantionează canalul 0 și 1 alternativ, astfel încât fiecare canal este eșantionat cu 15,6kHz badc0 = ADCH; // obțineți canalul ADC 0 sbi (ADMUX, MUX0); // setați multiplexorul la canalul 1} else {badc1 = ADCH; // obțineți canalul ADC 1 cbi (ADMUX, MUX0); // setați multiplexorul la canalul 0 f_sample = true; } ibb ++; ibb--; ibb ++; ibb--; // scurtă întârziere înainte de a începe conversia sbi (ADCSRA, ADSC); // începe următoarea conversie}
}
Pasul 6: Video
Probleme potențiale ● Pickup-ul este puțin prea slab pentru a alimenta circuitul - aveți nevoie de un amplificator op. - În videoclip am folosit un amplificator de semnal. (Cutia cenușie întinsă pe masă.)
Recomandat:
Pedală de chitară Phaser: 14 pași (cu imagini)
Phaser Guitar Pedal: O pedală de chitară phaser este un efect de chitară care împarte un semnal, trimite o cale prin circuit în mod curat și schimbă faza celui de-al doilea. Cele două semnale sunt apoi amestecate la loc și când sunt defazate, se anulează reciproc. Acest lucru creează un astfel de
Parasit Studio Bit Breaker Efect de chitară: 5 pași (cu imagini)
Parasit Studio Bit Breaker Guitar Effect Build: Parasite Studio este un site de efecte de chitară DIY care oferă diverse materiale pentru realizarea propriilor efecte de chitară, în special cele care se ocupă de efecte digitale, cum ar fi bitbreaker sau fuzz. Adresa Parasite Studio se află la adresa: //www.parasi
Pedala și pedala pentru amplificator de buzunar pentru chitară: 10 pași
Pedala și pedala pentru amplificator de buzunar pentru chitară: Bună ziua! Acesta este primul meu instructable și am încercat să fac tot posibilul cu ceva ce îmi place, care este muzica. Sunt un tip sunet și în timpul liber cânt la chitară. Deci, iată un amplificator de buzunar pentru chitară cu o ieșire de 1 watt și minim de 4 ohmi. Am folosit și
Pedală de efect de chitară distorsiune clonă șobolan DIY - RAT mort: 5 pași (cu imagini)
Pedală de efect de distorsiune chitară de șobolan DIY - RAT-ul mort: Aceasta nu este o pedală de distorsiune Mickey Mouse! Această pedală este o clonă a uneia dintre pedalele mele de efecte preferate din anii 80 … Distorsiunea RAT a ProCo. Este o pedală de distorsiune OpAmp de bază care folosește clasicul cip IC LM308N, care este o construcție destul de simplă pentru t
Carcasă cu efect de chitară și sursă de alimentare: 7 pași (cu imagini)
Valve Guitar Effect Case și sursa de alimentare: Aceasta va fi o sursă de energie și un șasiu pentru o pedală de efect de chitară bazată pe supape. Îmi dădeam seama pe măsură ce mergeam, așa că progresul pe care îl voi arăta nu era neapărat ordinea pe care am luat-o - ceea ce urmează este un traseu idealizat, reamenajat și neacceptat