Cov txheej txheem:

NeckCrusher (Guitar Mounted Effect Pedal): 6 Kauj Ruam (nrog Duab)
NeckCrusher (Guitar Mounted Effect Pedal): 6 Kauj Ruam (nrog Duab)

Video: NeckCrusher (Guitar Mounted Effect Pedal): 6 Kauj Ruam (nrog Duab)

Video: NeckCrusher (Guitar Mounted Effect Pedal): 6 Kauj Ruam (nrog Duab)
Video: My Pedal Board Run-Through 2024, Hlis ntuj nqeg
Anonim
NeckCrusher (Guitar Mounted Effect Pedal)
NeckCrusher (Guitar Mounted Effect Pedal)

Dale Rosen, Carlos Reyes thiab Rob Koch

NTSE 2000

Kauj ruam 1: Teeb meem

Teeb meem
Teeb meem

Guitar pedals txwv tus kws ntaus nkauj mus rau lub platform pedal. Kev daws teeb meem: Tsim thiab teeb tsa lub tshuab ntaus nrig ua haujlwm rau hauv lub guitar nws tus kheej. Qhov no tso cai rau tus kws hu nkauj kom txav mus los tau yooj yim hla theem, siv lub caj dab guitar ua qhov cuam tshuam tsis txhob txwv qhov chaw ntawm lub tsheb kauj vab. Peb yuav tshawb nrhiav lub tswv yim no los ntawm kev tsim cov cuab yeej me me me/piv txwv tus nqi.

Kauj Ruam 2: Cov Ntsiab Lus Project

Lub ntsiab lus ntawm Project
Lub ntsiab lus ntawm Project

Muaj ntau lub tshuab ntaus suab paj nruag siv los ntawm cov kws ntaus nkauj los tswj lub suab ntawm lawv cov guitars. Feem ntau ntawm cov no feem ntau yog nyob ntawm cov khoom siv khib lossis lub thawv ntim khoom, yog li txwv kev tswj hwm qhov cuam tshuam mus rau qhov chaw ntawm chav cuam tshuam. Kev teeb tsa lub cuab yeej ntawm tus ntaus suab paj nruag ua rau cov neeg ua haujlwm tswj hwm qhov tsis zoo ntawm txhua qhov ntawm theem. Qhov no txhais tau tias lawv yuav tsis raug txwv thiab tuaj yeem muaj kev ywj pheej txav mus los rau lawv qhov kev ua tau zoo.

Txij li Arduino tsuas yog muaj peev xwm ntawm 8 ntsis suab, nws tsis yooj yim sua kom ua siab ncaj teeb liab ua. Qhov no yog vim li cas peb xaiv qhov cuam tshuam uas peb tau ua, raws li lawv tau tsim los ntawm kev tsim kom muaj kev ntseeg ncaj ncees, ua suab tsis raug. Nov yog cov txiaj ntsig nkaus xwb uas tsim nyog tau nrog Arduino.

Kauj Ruam 3: Cov Khoom / Cov Cuab Yeej Yuav Tsum Tau

Yam / Cov Cuab Yeej Yuav Tsum Tau
Yam / Cov Cuab Yeej Yuav Tsum Tau

● Impact Drill

● Hlau Cutters

● Hlau Strippers

Ering Soldering Hlau

● Kub Glue Gun

● Desoldering twj tso kua mis

● Guitar ● Cov ntaub ntawv kaw

● Cov laug

Gl Kub Kua nplaum

Cov khoom siv hluav taws xob tau tsim los ntawm Arduino

● Proto Board

Ated Coated Hlau

● Suab Jacks (x2)

Potentiometers (x3)

Capacitors: 2.2 uF (x2)

● Tshaj Tawm Cov Hlau Tooj

● Screws (M3.5 *8)

● Resistors: 1 k, 10 k, 1.2 k, 1.5 k, 390 k

● * Op Amp (LM358) / * Transistor (2N3442)

Kauj Ruam 4: Lub Tswv Yim Zoo

Lub Tswv Yim Zoo
Lub Tswv Yim Zoo

Internal Circuitry

Tawm tswv yim/tso tawm

Peb yuav tsum hloov pauv lub suab los ntawm lub tshuab ntaus guitar mus rau qee yam uas arduino tuaj yeem siv & hloov kho. Peb yuav tom qab ntawd yuav tsum hloov pauv lub teeb liab los ntawm arduino rov qab rau hauv lub teeb liab. Arduino nyeem qhov hluav taws xob los ntawm 0V txog 5V, cov cim qhia tau los ntawm -1V txog 1V. Cov kev hloov pauv no tau ua tiav siv cov resistors. Lub teeb liab yuav raug hloov pauv hauv Circuit Circuit ib yam.

Arduino Library: ArduinoDSP

Hauj lwm hauj lwm (Interface)

Pob qhov rooj pob qhov rooj 1: Tus nqi piv txwv

Pob qhov rooj 2: Me ntsis Crusher

Pob qhov rooj 3: Me ntsis Shifter

Kauj ruam 5: Code

Code
Code

#suav nrog "dsp.h"

#define cbi (sfr, ntsis) (_SFR_BYTE (sfr) & = ~ _BV (ntsis)) #define sbi (sfr, ntsis) (_SFR_BYTE (sfr) | = _BV (me ntsis))

boolean faib 32; boolean div16;

volatile boolean f_sample; volatile byte badc0; volatile byte badc1; volatile byte ibb;

fx1; ua. fx2; ua. fx3; ua. fx4; ua.

koj cnta; koj icnt; ib icnt1; ib icnt2;. koj cn2;. koj iw; koj iw1;. koj iw2;. bb pob;

byte dd [512]; // Suab Nco Array 8-Bit

void teeb () {setupIO ();

// reload yoj tom qab 1 thib ob fill_sinewave ();

// teeb tsa adc prescaler rau 64 rau 19kHz sampling zaus cbi (ADCSRA, ADPS2); sbi (ADCSRA, ADPS1); sbi (ADCSRA, ADPS0); // 8-Bit ADC hauv ADCH Sau npe sbi (ADMUX, ADLAR); sbi (ADMUX, REFS0); cbi (ADMUX, REFS1); cbi (ADMUX, MUX0); cbi (ADMUX, MUX1); cbi (ADMUX, MUX2); cbi (ADMUX, MUX3); // Timer2 PWM Mode teem kom ceev PWM cbi (TCCR2A, COM2A0); sbi (TCCR2A, COM2A1); sbi (TCCR2A, WGM20); sbi (TCCR2A, WGM21); // Teeb tsa rau Timer2 cbi (TCCR2B, WGM22); // Timer2 Clock Prescaler rau: 1 sbi (TCCR2B, CS20); cbi (TCCR2B, CS21); cbi (TCCR2B, CS22); // Timer2 PWM Port Enable sbi (DDRB, 3); // cli () cov; cbi (TIMSK0, TOIE0); sbi (TIMSK2, TOIE2); iw1 = badc1;

}

void voj () {

// txheeb xyuas qhov xwm txheej ntawm cov nyhuv potentiometer thiab hloov pauv readKnobs ();

// ************* // *** Li qub *** // *************

yog (fx1 == 0 && fx2 == 0 && fx3 == 0 && fx4 == 0) {byte input = analogRead (sab laug); cov zis (sab laug, tawm tswv yim); }

// ************* // *** Phasor *** // *************

yog (fx4> 100) {

fx1 = 0; txf2 = 0; fx3 = 0;

thaum (! f_sample) {// tos rau Tus Qauv Qauv los ntawm ADC} // Cycle 15625 KHz = 64uSec PORTD = PORTD | 128; f_sample = tsis tseeb; bb = badc1; dd [icnt1] = bb; // sau rau tsis fx4 = iw * badc0 / 255; // ntsuas cov qauv ncua nrog lub hwj chim iw1 = dd [icnt2]; // nyeem qhov ncua ncua tsis zoo badc0 = badc0 / 20; // txwv tus nqi rau 512 icnt1 ++; icnt2 = icnt1 - badc0; icnt2 = icnt2 & 511; // txwv qhov ntsuas 0.. icnt1 = icnt1 & 511; // txwv qhov ntsuas 0..511 iw2 = iw1 + bb; iw2 = iw2 / 2; bb = iw2; OCR2A = bb; // Qauv Tus Qauv rau PWM Tso Tawm

PORTD = PORTD ^ 128; cov zis (sab laug, PORTD); // Tso zis}

// ************* // *** Flanger *** // ************* yog (fx3> 100) {

fx1 = 0; txf2 = 0; fx4 = 0;

thaum (! f_sample) {// tos rau Tus Qauv Qauv los ntawm ADC} // Cycle 15625 KHz = 64uSec

PORTD = PORTD | 128; f_sample = tsis tseeb; bb = dd [icnt]; // nyeem qhov ncua sijhawm ncua iw = 127 - bb; // rho tawm offset fx3 = iw * badc0 / 255; // ntsuas cov qauv ncua nrog lub hwj chim iw1 = 127 - badc1; // rho tawm qhov rho tawm los ntawm tus qauv tshiab iw1 = iw1 + iw; // ntxiv cov qauv ncua thiab cov qauv tshiab yog (iw1 127) iw1 = 127; // Audio limiter bb = 127 + iw1; // ntxiv offset dd [icnt] = bb; // khaws cov qauv hauv suab tsis icnt ++; icnt = icnt & 511; // txwv bufferindex 0..511 OCR2A = bb; // Qauv Tus Qauv rau PWM Tso Tawm

PORTD = PORTD ^ 128; cov zis (sab laug, PORTD); // Cov zis

} }

tsis muaj dab tsi readKnobs () {fx1 = analogRead (1); fx2 = analogRead (2); fx3 = analogRead (3); fx4 = analogRead (4);

}

void fill_sinewave () {ntab pi = 3.141592; ploj dx;. ploj fd; ntab fcnt; dx = 2 * pi / 512; // sau 512 byte bufferarry rau (iw = 0; iw <= 511; iw ++) {// nrog 50 lub sijhawm sinewawe fd = 127 * sin (fcnt); // qhov tseem ceeb suab fcnt = fcnt + dx; // hauv thaj tsam ntawm 0 txog 2xpi thiab 1/512 nce bb = 127 + fd; // ntxiv dc offset rau sinewawe dd [iw] = bb; // sau tus nqi rau hauv array

} }

// ********************************************************** ****************** // Timer2 cuam tshuam kev pabcuam ntawm 62.5 KHz // ntawm no lub suab thiab lub lauj kaub teeb liab tau piv rau tus nqi ntawm: 16Mhz / 256 /2 /2 = 15625 Hz ISR (TIMER2_OVF_vect) {

PORTB = PORTB | 1;

div32 =! div32; // faib timer2 zaus / 2 txog 31.25kHz yog (div32) {div16 =! div16; yog tias (div16) {// piv txwv channel 0 thiab 1 hloov pauv yog li txhua qhov channel tau piv nrog 15.6kHz badc0 = ADCH; // tau txais ADC channel 0 sbi (ADMUX, MUX0); // teeb multiplexer rau channel 1} lwm {badc1 = ADCH; // tau txais ADC channel 1 cbi (ADMUX, MUX0); // teeb multiplexer rau channel 0 f_sample = tseeb; ibb ++; ib--; ib ++; ib--; // ncua sijhawm luv ua ntej pib hloov pauv sbi (ADCSRA, ADSC); // pib hloov dua siab tshiab tom ntej}

}

Kauj ruam 6: Yees duab

Cov Teeb Meem Muaj Teeb Meem up Kev tuaj tos me ntsis tsis muaj zog rau lub zog hluav taws xob - xav tau op amp. - Hauv cov vis dis aus peb siv lub teeb liab txhawb. (Lub thawv grey dag ntawm lub rooj.)

Pom zoo: