Sisällysluettelo:
- Vaihe 1: Ongelma
- Vaihe 2: Projektin konteksti
- Vaihe 3: Tarvittavat osat / työkalut
- Vaihe 4: Tekninen strategia
- Vaihe 5: Koodi
- Vaihe 6: Video
Video: Kaulamurskain (kitaralle asennettu tehopedaali): 6 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Dale Rosen, Carlos Reyes ja Rob Koch
DATT 2000
Vaihe 1: Ongelma
Kitarapedaalit rajoittavat muusikon pedaalialustalle. Ratkaisu: Rakenna ja upota kitarapedaalitoiminnot itse kitaraan. Tämä antaa muusikolle mahdollisuuden liikkua vapaasti lavan yli käyttäen kitaran kaulaa rajapintana sen sijaan, että se rajoittuisi pedaalilaudan sijaintiin. Tutkimme tätä konseptia luomalla bittimurskain/näytteenottotaajuuslaite.
Vaihe 2: Projektin konteksti
On olemassa monia kitarapedaaleja, joita muusikot käyttävät manipuloidakseen kitaransa ääntä. Useimmat näistä ovat yleensä telinepohjaisissa tai stomp-laatikoissa, mikä rajoittaa tehosteiden hallinnan tehosteyksikön sijaintiin. Laitteen asentaminen kitaraan antaa soittajille mahdollisuuden hallita tehosteen parametreja missä tahansa vaiheessa. Tämä tarkoittaa, että heitä ei rajoiteta, ja he voivat vapaasti liikkua esityksensä vuoksi.
Koska Arduino pystyy tuottamaan vain 8 -bittistä ääntä, on mahdotonta suorittaa tarkkaa signaalinkäsittelyä. Siksi valitsimme tehosteet, koska ne perustuvat matalan tarkkuuden, vääristyneen äänen luomiseen. Nämä ovat ainoat vaikutukset, jotka ovat kohtuullisesti mahdollisia Arduinolla.
Vaihe 3: Tarvittavat osat / työkalut
● Iskuporakone
● Lankaleikkurit
● Langanpoistimet
● Juotin
● Kuuma liimapistooli
● Juotospoistopumppu
● Kitara ● Kotelo
● Juotos
● Kuuma liima
● Arduino
● Proto Board
● Päällystetty lanka
● Ääniliittimet (x2)
● Potentiometrit (x3)
● Kondensaattorit: 2,2 uF (x2)
● Paljastettu kuparilanka
● Ruuvit (M3.5 *8)
● Vastukset: 1 k, 10 k, 1,2 k, 1,5 k, 390 k
● * Op -vahvistin (LM358) / * Transistori (2N3442)
Vaihe 4: Tekninen strategia
Sisäinen piiri
Tulo/lähtö
Meidän on muutettava kitarasta tuleva äänisignaali sellaiseksi, jota arduino voi käyttää ja muokata. Meidän on sitten muutettava arduinosta tuleva signaali takaisin audiosignaaliksi. Arduino lukee jännitteet 0V -5V, äänisignaalit ovat -1V -1V. Nämä muunnokset tehdään vastuksilla. Signaali muunnetaan myös lähtöpiirissä.
Arduino -kirjasto: ArduinoDSP
Projektin kuvaus (käyttöliittymä)
Nupit Nuppi 1: Näytteenottotaajuus
Nuppi 2: Bittimurskain
Nuppi 3: Bittivaihtaja
Vaihe 5: Koodi
#include "dsp.h"
#define cbi (sfr, bit) (_SFR_BYTE (sfr) & = ~ _BV (bit)) #define sbi (sfr, bit) (_SFR_BYTE (sfr) | = _BV (bit))
boolen div32; boolen div16;
haihtuva boolen f_esample; haihtuva tavu badc0; haihtuva tavu badc1; haihtuva tavu 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; tavu bb;
tavu dd [512]; // Äänimuistijärjestelmä 8-bittinen
void setup () {setupIO ();
// lataa aalto uudelleen 1 sekunnin kuluttua fill_sinewave ();
// aseta adc -esiskaalauslaite 64: ksi 19 kHz: n näytteenottotaajuudelle cbi (ADCSRA, ADPS2); sbi (ADCSRA, ADPS1); sbi (ADCSRA, ADPS0); // 8-bittinen ADC ADCH-rekisterissä sbi (ADMUX, ADLAR); sbi (ADMUX, REFS0); cbi (ADMUX, REFS1); cbi (ADMUX, MUX0); cbi (ADMUX, MUX1); cbi (ADMUX, MUX2); cbi (ADMUX, MUX3); // Ajastin2 PWM -tilaksi asetettu nopea PWM cbi (TCCR2A, COM2A0); sbi (TCCR2A, COM2A1); sbi (TCCR2A, WGM20); sbi (TCCR2A, WGM21); // Timer2 cbi: n asetukset (TCCR2B, WGM22); // Timer2 Clock Prescaler to: 1 sbi (TCCR2B, CS20); cbi (TCCR2B, CS21); cbi (TCCR2B, CS22); // Ajastin2 PWM -portti Ota sbi käyttöön (DDRB, 3); // cli (); cbi (TIMSK0, TOIE0); sbi (TIMSK2, TOIE2); iw1 = badc1;
}
void loop () {
// tarkista tehopotentiometrin ja kiertokytkimen tila ReadKnobs ();
// ************* // *** Normaali *** // *************
if (fx1 == 0 && fx2 == 0 && fx3 == 0 && fx4 == 0) {tavutulo = analoginen luku (vasen); lähtö (vasen, tulo); }
// ************* // *** Phasor *** // *************
jos (fx4> 100) {
fx1 = 0; fx2 = 0; fx3 = 0;
while (! f_sample) {// odota ADC: n näytteen arvoa} // Sykli 15625 KHz = 64uSec PORTD = PORTD | 128; f_näyte = epätosi; bb = badc1; dd [icnt1] = bb; // kirjoittaa puskuriin fx4 = iw * badc0 / 255; // mittakaavan viivästetty näyte potentiometrillä iw1 = dd [icnt2]; // lue viivepuskuri badc0 = badc0 / 20; // raja -arvo 512 icnt1 ++; icnt2 = icnt1 - badc0; icnt2 = icnt2 & 511; // rajaindeksi 0.. icnt1 = icnt1 & 511; // rajaindeksi 0..511 iw2 = iw1 + bb; iw2 = iw2 / 2; bb = iw2; OCR2A = bb; // Esimerkkiarvo PWM -lähtöön
PORTD = PORTD ^ 128; lähtö (vasen, PORTD); // Tulos}
// ************* // *** Flanger *** // ************* if (fx3> 100) {
fx1 = 0; fx2 = 0; fx4 = 0;
while (! f_sample) {// odota ADC: n näytteen arvoa} // Sykli 15625 KHz = 64uSec
PORTD = PORTD | 128; f_näyte = epätosi; bb = dd [icnt]; // lue viivepuskuri iw = 127 - bb; // vähennä offset fx3 = iw * badc0 / 255; // mittakaavan viivästetty näyte potentiometrillä iw1 = 127 - badc1; // vähennä siirtymä uuden näytteen iw1 = iw1 + iw; // lisää viivästetty näyte ja uusi näyte, jos (iw1 127) iw1 = 127; // Äänenrajoitin bb = 127 + iw1; // lisää offset dd [icnt] = bb; // tallenna näyte äänipuskuriin icnt ++; icnt = icnt & 511; // rajapuskurin indeksi 0..511 OCR2A = bb; // Esimerkkiarvo PWM -lähtöön
PORTD = PORTD ^ 128; lähtö (vasen, PORTD); // Lähtö
} }
void readKnobs () {fx1 = analoginenLue (1); fx2 = analoginenLue (2); fx3 = analoginenLue (3); fx4 = analoginen (4);
}
void fill_sinewave () {float pi = 3.141592; kellua dx; float fd; kellua fcnt; dx = 2 * pi / 512; // täytä 512 tavun puskurivaraus (iw = 0; iw <= 511; iw ++) {// 50 pisteellä sinewawe fd = 127 * sin (fcnt); // perusääni fcnt = fcnt + dx; // alueella 0 - 2xpi ja 1/512 askelin bb = 127 + fd; // lisää dc -offset sinewaween dd [iw] = bb; // kirjoittaa arvon matriisiin
} }
// *********************************************** ***** **************** Hz ISR (TIMER2_OVF_vect) {
PORTB = PORTB | 1;
div32 =! div32; // jaa ajastimen2 taajuus / 2 - 31,25 kHz, jos (div32) {div16 =! div16; if (div16) {// näytekanava 0 ja 1 vuorotellen, joten jokaisesta kanavasta näytteistetään 15,6 kHz badc0 = ADCH; // hanki ADC -kanava 0 sbi (ADMUX, MUX0); // aseta multiplekseri kanavalle 1} else {badc1 = ADCH; // hanki ADC -kanava 1 cbi (ADMUX, MUX0); // aseta multiplekseri kanavalle 0 f_sample = true; } ibb ++; ibb--; ibb ++; ibb--; // lyhyt viive ennen muunnoksen aloittamista sbi (ADCSRA, ADSC); // aloita seuraava tulos}
}
Vaihe 6: Video
Mahdolliset ongelmat ● Nouto on hieman liian heikko virtapiiriin - tarvitset lisävahvistimen. - Videossa käytimme signaalinvahvistinta. (Harmaa laatikko makaa pöydällä.)
Suositeltava:
Langaton polkupyörään asennettu Bluetooth -kaiutin: 11 vaihetta (kuvilla)
Langaton polkupyörään asennettu Bluetooth -kaiutin: Hei! Tässä ohjeessa näytän sinulle, kuinka olen rakentanut langattoman polkupyörään asennetun Bluetooth -kaiuttimen. Täytyy sanoa, että tämä on ehkä yksi suosikkiprojekteistani tähän mennessä. Se näyttää hyvältä, sillä on upea ääni ja futuristinen ulkonäkö! Kuten al
Kaksikanavainen signaaligeneraattori kitaralle: 10 vaihetta
Kaksikanavainen signaaligeneraattori kitaralle: Tämä projekti on helppo rakentaa, alkuperäinen muotoilu kaksikanavaiselle signaaligeneraattorille kitaraa ja muita käyttötarkoituksia varten. Se kattaa koko valikoiman kitara -nuotteja (sinulle kitaristeille, avoimesta Low E -kielestä - 83 hertsiä, korkeimpaan E: n 24. nauhaan
AB/XY 2 kitaralle ja 2 vahvistimelle erillisillä kanavilla: 7 vaihetta (kuvilla)
AB/XY kahdelle kitaralle ja 2 vahvistimelle erillisillä kanavilla: Kuten tavallista, tykkään tehdä asioita, jotka ratkaisevat ongelmia minulle. ja toinen on puhdas ja polkimet edessä. Sitten kun joku muu tulee ja
Tasainen seinälle asennettu Raspberry Pi -kosketusnäyttö: 8 vaihetta (kuvilla)
Uppoasennettava Raspberry Pi -kosketusnäyttö: Raspberry Pi 7 " Kosketusnäyttö on hämmästyttävä, edullinen tekniikka. Päätin, että haluan asentaa yhden seinälleni kotiautomaatiota varten. Mutta mikään verkossa löytämistäni DIY -kiinnikkeistä ei käsitellyt ongelmaa siitä, kuinka se voidaan asentaa uppoasennukseen ilman
Visiiriin asennettu monivärinen LED-valohoitolamppu: 9 vaihetta (kuvilla)
Visiiriin asennettu monivärinen LED-valohoitolamppu: Kun hatuterapialamppu on hatussa, voit käyttää sitä liikkuvaa toimintaa, kuten harjoittelua ja työskentelyä. Tässä lampussa on punaiset, keltaiset, syaanit ja siniset LED -valot kirkkaudensäädöllä. Se sammuu 15 tai 45 minuutin kuluttua. Se