Мазмұны:
- 1 -қадам: Мәселе
- 2 -қадам: Жобаның мәтінмәні
- 3 -қадам: Бөлшектер / құралдар қажет
- 4 -қадам: Техникалық стратегия
- 5 -қадам: код
- 6 -қадам: бейне
Бейне: NeckCrusher (Гитараға орнатылған әсерлі педаль): 6 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:22
Дэйл Розен, Карлос Рейес және Роб Кох
DATT 2000
1 -қадам: Мәселе
Гитара педальдары музыкантты педаль платформасына шектейді. Шешім: гитара педальдарының функционалдығын гитараның өзіне құрыңыз және енгізіңіз. Бұл музыкантқа педальды тақтаның орналасуымен шектелмей, интерфейс ретінде гитара мойнын қолдана отырып, сахнада еркін қозғалуға мүмкіндік береді. Біз бұл ұғымды разрядтауыш/үлгі жылдамдығының әсер ету құрылғысын құру арқылы зерттейтін боламыз.
2 -қадам: Жобаның мәтінмәні
Музыканттар гитараның дыбысын басқаруға арналған көптеген гитаралық педальдар бар. Олардың көпшілігі әдетте тіректерге негізделген немесе тіректерге арналған қондырғыларда болады, сондықтан эффектілерді бақылауды әсер қондырғысының орналасуына шектейді. Құрылғыны гитараға орнату ойыншыларға эффект параметрлерін сахнаның кез келген жерінде басқаруға мүмкіндік береді. Бұл оларға шектеу қойылмайтынын және олардың орындау үшін қозғалу еркіндігіне ие болатынын білдіреді.
Arduino тек 8 биттік аудиоға ғана қабілетті болғандықтан, сигналды жоғары дәлдікпен өңдеу мүмкін емес. Міне, біз эффектілерді таңдадық, себебі олар төмен сенімділікке, бұрмаланған дыбысқа негізделген. Бұл Arduino -мен мүмкін болатын жалғыз әсерлер.
3 -қадам: Бөлшектер / құралдар қажет
● Impact Drill
● Сым кескіштер
● Сымды тазартқыштар
● Пісіру үтігі
● Ыстық желім пистолеті
● Тазартатын сорғы
● Гитара ● Қоршау
● Дәнекер
● Ыстық желім
● Arduino
● Прото тақта
● Қапталған сым
● Аудио ұялары (x2)
● потенциометрлер (x3)
● Конденсаторлар: 2,2 uF (x2)
● Ашық мыс сымы
● Бұрандалар (M3.5 *8)
● Резисторлар: 1 к, 10 к, 1,2 к, 1,5 к, 390 к
● * Op Amp (LM358) / * Транзистор (2N3442)
4 -қадам: Техникалық стратегия
Ішкі схема
Кіріс шығыс
Біз гитарадан келетін дыбыстық сигналды arduino қолдана және өзгерте алатын нәрсеге түрлендіруіміз керек. Содан кейін бізге ардуинодан келетін сигналды аудио сигналға қайта түрлендіру қажет болады. Arduino 0В -тан 5В -қа дейінгі кернеуді оқиды, дыбыстық сигналдар -1В -тан 1В -қа дейін. Бұл түрлендіру резисторлардың көмегімен жүзеге асады. Сигнал шығыс схемасында да түрлендіріледі.
Arduino кітапханасы: ArduinoDSP
Жобаның сипаттамасы (интерфейс)
Тұтқалар 1 -тұтқа: үлгі жылдамдығы
2 -тұтқа: биттік ұсатқыш
3 -тұтқа: бит ауыстырғыш
5 -қадам: код
#«dsp.h» қосыңыз
#debine cbi (sfr, bit) (_SFR_BYTE (sfr) & = ~ _BV (bit)) #debine sbi (sfr, bit) (_SFR_BYTE (sfr) | = _BV (bit))
логикалық div32; логикалық div16;
тұрақсыз логикалық f_sample; тұрақсыз байт badc0; тұрақсыз байт badc1; тұрақсыз байт 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; байт bb;
байт dd [512]; // Аудио жады массиві 8 биттік
void setup () {setupIO ();
// толқын 1 секундтан кейін толтырылады fill_sinewave ();
// cb (ADCSRA, ADPS2) 19 кГц іріктеу жиілігі үшін adc prescaler -ды 64 -ке орнатыңыз; sbi (ADCSRA, ADPS1); sbi (ADCSRA, ADPS0); // ADCH Register sbi-де 8-биттік ADC (ADMUX, ADLAR); sbi (ADMUX, REFS0); cbi (ADMUX, REFS1); cbi (ADMUX, MUX0); cbi (ADMUX, MUX1); cbi (ADMUX, MUX2); cbi (ADMUX, MUX3); // Timer2 PWM режимі жылдам PWM cbi (TCCR2A, COM2A0) күйіне орнатылды; sbi (TCCR2A, COM2A1); sbi (TCCR2A, WGM20); sbi (TCCR2A, WGM21); // Timer2 cbi (TCCR2B, WGM22) үшін орнату; // Timer2 Clock Prescaler келесіге: 1 sbi (TCCR2B, CS20); cbi (TCCR2B, CS21); cbi (TCCR2B, CS22); // Timer2 PWM портын қосу sbi (DDRB, 3); // cli (); cbi (TIMSK0, TOIE0); sbi (TIMSK2, TOIE2); iw1 = badc1;
}
void loop () {
// readKnobs () потенциометрі мен айналмалы қосқыштың әсерінің күйін тексеру;
// ************* // *** Қалыпты *** // *************
if (fx1 == 0 && fx2 == 0 && fx3 == 0 && fx4 == 0) {байтты енгізу = analogRead (сол жақта); шығыс (сол жақ, кіріс); }
// ************* // *** Фазор *** // *************
егер (fx4> 100) {
fx1 = 0; fx2 = 0; fx3 = 0;
while (! f_sample) {// ADC үлгі мәнін күтіңіз} // Цикл 15625 KHz = 64uSec PORTD = PORTD | 128; f_sample = жалған; bb = badc1; dd [icnt1] = bb; // буферге жазу fx4 = iw * badc0 / 255; // iw1 = dd [icnt2] потенциометрі бар кешіктірілген үлгіні масштабтау; // кешіктіру буферін оқу badc0 = badc0 / 20; // шекті мән 512 icnt1 ++; icnt2 = icnt1 - badc0; icnt2 = icnt2 & 511; // шекті индекс 0.. icnt1 = icnt1 & 511; // шекті индекс 0..511 iw2 = iw1 + bb; iw2 = iw2 / 2; bb = iw2; OCR2A = bb; // PWM шығысының үлгі мәні
PORTD = PORTD ^ 128; шығару (сол жақта, PORTD); // Шығу}
// ************* // *** Флангер *** // ************* егер (fx3> 100) {
fx1 = 0; fx2 = 0; fx4 = 0;
while (! f_sample) {// ADC үлгі мәнін күтіңіз} // Цикл 15625 KHz = 64uSec
PORTD = PORTD | 128; f_sample = жалған; bb = dd [icnt]; // кідіріс буферін оқыңыз iw = 127 - bb; // субстраттық ығысу fx3 = iw * badc0 / 255; // iw1 = 127 потенциометрі бар кешіктірілген үлгі масштабы - badc1; // жаңа үлгіден субъективті ығысу iw1 = iw1 + iw; // кешіктірілген үлгі мен жаңа үлгіні қосыңыз, егер (iw1 127) iw1 = 127; // Дыбыс шектегіші bb = 127 + iw1; // офсет қосу dd [icnt] = bb; // үлгіні icnt ++ аудио буферінде сақтау; icnt = icnt & 511; // шектік буфериндегі 0..511 OCR2A = bb; // PWM шығысының үлгі мәні
PORTD = PORTD ^ 128; шығару (сол жақта, PORTD); // Шығу
} }
жарамсыз 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; // (iw = 0; iw <= 511; iw ++) {// үшін 512 байт буферлік аралықты fd = 127 * sin (fcnt) 50 кезеңмен толтырыңыз; // іргелі тон fcnt = fcnt + dx; // 0 -ден 2xpi аралығында және 1/512 қадаммен bb = 127 + fd; // dw [iw] = bb сіңірге тұрақты токтың ығысуын қосыңыз; // мәнді массивке жазыңыз
} }
// ********************************************** ****************** // Таймер2 62,5 КГц үзіліс қызметі // мұнда дыбыс пен потенциалдың сигналы 16 МГц / 256/2/2 = 15625 жиілікпен таңдалады. Гц ISR (TIMER2_OVF_vect) {
PORTB = PORTB | 1;
div32 =! div32; // бөлу таймері2 жиілігі / 2 -ден 31,25кГц болса (div32) {div16 =! div16; if (div16) {// 0 және 1 арна үлгісі кезекпен, сондықтан әрбір арна 15,6 кГц badc0 = ADCH арқылы таңдалады; // ADC арнасын 0 sbi алу (ADMUX, MUX0); // мультиплексорды 1 арнаға қойыңыз} else {badc1 = ADCH; // ADC 1 каналы cbi алу (ADMUX, MUX0); // мультиплексорды 0 арнаға орнатыңыз f_sample = true; } ibb ++; ibb--; ibb ++; ibb--; // sbi (ADCSRA, ADSC) түрлендіруді бастамас бұрын қысқа кідіріс; // келесі түрлендіруді бастау}
}
6 -қадам: бейне
Ықтимал ақаулар ● Электр тізбегіне түсіру шамалы әлсіз - жұмыс күшейткіші қажет. - Видеода біз сигнал күшейткішті қолдандық. (Үстелде жатқан сұр қорап.)
Ұсынылған:
Гитараға арналған екі арналы сигнал генераторы: 10 қадам
Гитараға арналған екі арналы сигнал генераторы: Бұл жоба гитараға және басқа да мақсаттарға арналған қосарналы сигнал генераторына арналған қарапайым дизайн. Ол гитаралық ноталардың барлық диапазонын қамтиды (сіз үшін гитаристер, Low E төмен ашық жіптен - 83 Герц, жоғары деңгейдегі 24 -ші күйге дейін
Ғылыми әсерлі ғылыми/инженерлік жобалар: 10 қадам
Ғажайып әсерлі ғылым/инженерлік жобалар: Ең жақсы ғылыми/инженерлік жобаны алғыңыз келе ме? Оқыңыз
Тірек-қимыл мүгедек адамдарға арналған көзілдірікке орнатылған лазерлік көрсеткіш: 9 қадам (суреттермен)
Тірек-қимыл мүгедектігі бар адамдарға арналған көзілдірікке орнатылған лазерлік көрсеткіш: Церебральды сал ауруына шалдыққандар сияқты тірек қимылының ауыр бұзылулары бар адамдарда жиі күрделі қарым-қатынас қажеттіліктері болады. Байланысты жеңілдету үшін оларда алфавиті бар тақталар немесе оларда басылған жиі қолданылатын сөздер қажет болуы мүмкін. Дегенмен, көптеген
Гитара қалталы күшейткіш педаль мен педаль тақтасы: 10 қадам
Гитара қалталы күшейткіш педаль мен педаль тақтасы: Сәлеметсіз бе! Бұл менің бірінші нұсқаулығым, мен өзіме ұнайтын нәрсені, яғни музыканы, қолымнан келгенше жасауға тырыстым. Мен дыбысты жігітпін, бос уақытымда гитарада ойнаймын. Міне, гитаралық қалта күшейткіші 1 ватт және минимумы 4 Ом. Мен қолдандым және
Гитараға арналған бірнеше сөрелер: 5 қадам
Бірнеше гитаралық сөре және ролл!: Бұл нұсқаулық роликтері бар 6 көп гитаралық стендке / тірекке арналған. Артқы аулада жатқан материалдардан өзіңіздің бірнеше гитаралық сөреңізді / стендті қалай жасауға болады. Кем дегенде, менің ауламда қоқыс көп, мен M жасай аламын