Sadržaj:
- Korak 1: Problem
- Korak 2: Kontekst projekta
- Korak 3: Potrebni dijelovi / alati
- Korak 4: Tehnička strategija
- Korak 5: Kodirajte
- Korak 6: Video
Video: NeckCrusher (papučica efekta montirana na gitaru): 6 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Dale Rosen, Carlos Reyes i Rob Koch
DATT 2000
Korak 1: Problem
Pedale za gitaru ograničavaju muzičara na platformu pedala. Rješenje: Ugradite i ugradite funkcionalnost pedala za gitaru u samu gitaru. Ovo omogućava muzičaru da se slobodno kreće po pozornici, koristeći vrat gitare kao interfejs, umjesto da bude ograničen na lokaciju pedalboard -a. Istražit ćemo ovaj koncept stvaranjem uređaja za bitcrusher/brzinu uzorkovanja.
Korak 2: Kontekst projekta
Postoje mnoge gitarske pedale koje muzičari koriste za manipulaciju zvukom svojih gitara. Većina njih se obično nalazi u stalcima ili stomp box jedinicama, pa se kontrola efekata ograničava na lokaciju jedinice efekata. Postavljanje uređaja na gitaru omogućava igračima da kontrolišu parametre efekta bilo gdje na pozornici. To znači da neće biti ograničeni i mogu imati slobodu kretanja radi svojih performansi.
Budući da Arduino podržava samo 8 -bitni zvuk, nemoguće je izvršiti obradu signala visoke vjernosti. Zbog toga smo odabrali efekte koje smo napravili, jer se temelje na stvaranju iskrivljenog zvuka niske vjernosti. Ovo su jedini efekti koji su razumno mogući s Arduinom.
Korak 3: Potrebni dijelovi / alati
● Udarna bušilica
● Rezači žice
● Skidači žica
● Lemilica
● Pištolj za vruće ljepilo
● Pumpa za odlemljivanje
● Gitara ● Kućište
● Lemljenje
● Vruće ljepilo
● Arduino
● Proto Board
● Prevučena žica
● Audio priključci (x2)
● Potenciometri (x3)
● Kondenzatori: 2,2 uF (x2)
● Otkrivena bakrena žica
● Vijci (M3,5 *8)
● Otpornici: 1 k, 10 k, 1,2 k, 1,5 k, 390 k
● * Op pojačalo (LM358) / * Tranzistor (2N3442)
Korak 4: Tehnička strategija
Internal Circuitry
Ulaz/izlaz
Moramo pretvoriti audio signal koji dolazi s gitare u nešto što arduino može koristiti i mijenjati. Tada ćemo morati pretvoriti signal koji dolazi s arduina natrag u audio signal. Arduino čita napone od 0V do 5V, audio signali su od -1V do 1V. Ove konverzije se izvode pomoću otpornika. Signal će se pretvoriti i u izlaznom krugu.
Arduino biblioteka: ArduinoDSP
Opis projekta (sučelje)
Dugmad Dugme 1: Sample Rate
Dugme 2: Bit drobilica
Dugme 3: Bit Shifter
Korak 5: Kodirajte
#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;
isparljiv boolean f_sample; isparljivi bajt badc0; isparljivi bajt badc1; isparljivi bajt 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; bajt bb;
bajt dd [512]; // Niz zvučnih memorija 8-bit
void setup () {setupIO ();
// ponovno učitavanje vala nakon 1 sekunde fill_sinewave ();
// podesimo adc prescaler na 64 za frekvenciju uzorkovanja 19 kHz cbi (ADCSRA, ADPS2); sbi (ADCSRA, ADPS1); sbi (ADCSRA, ADPS0); // 8-bitni ADC u ADCH registru sbi (ADMUX, ADLAR); sbi (ADMUX, REFS0); cbi (ADMUX, REFS1); cbi (ADMUX, MUX0); cbi (ADMUX, MUX1); cbi (ADMUX, MUX2); cbi (ADMUX, MUX3); // Tajmer2 PWM način rada postavljen na brzi PWM cbi (TCCR2A, COM2A0); sbi (TCCR2A, COM2A1); sbi (TCCR2A, WGM20); sbi (TCCR2A, WGM21); // Postavljanje za Timer2 cbi (TCCR2B, WGM22); // Timer2 Clock Prescaler na: 1 sbi (TCCR2B, CS20); cbi (TCCR2B, CS21); cbi (TCCR2B, CS22); // Timer2 PWM port Omogući sbi (DDRB, 3); // cli (); cbi (TIMSK0, TOIE0); sbi (TIMSK2, TOIE2); iw1 = badc1;
}
void loop () {{100} {101}
// provjerite status potenciometra efekta i okretnog prekidača readKnobs ();
// ************* // *** Normal *** // *************
if (fx1 == 0 && fx2 == 0 && fx3 == 0 && fx4 == 0) {unos bajta = analogRead (lijevo); izlaz (lijevo, ulaz); }
// ************* // *** Phasor *** // *************
if (fx4> 100) {
fx1 = 0; fx2 = 0; fx3 = 0;
while (! f_sample) {// čekati vrijednost uzorka iz ADC -a} // Ciklus 15625 KHz = 64uSec PORTD = PORTD | 128; f_sample = false; bb = badc1; dd [icnt1] = bb; // zapis u bafer fx4 = iw * badc0 / 255; // skaliranje odgođenog uzorka s potenciometrom iw1 = dd [icnt2]; // očitavanje međuspremnika za kašnjenje badc0 = badc0 / 20; // granična vrijednost na 512 icnt1 ++; icnt2 = icnt1 - badc0; icnt2 = icnt2 & 511; // granični indeks 0.. icnt1 = icnt1 & 511; // granični indeks 0..511 iw2 = iw1 + bb; iw2 = iw2 / 2; bb = iw2; OCR2A = bb; // Uzorak vrijednosti na PWM izlaz
PORTD = PORTD ^ 128; izlaz (lijevo, PORTD); // izlaz}
// ************* // *** Flanger *** // ************* if (fx3> 100) {
fx1 = 0; fx2 = 0; fx4 = 0;
while (! f_sample) {// čekajte vrijednost uzorka iz ADC -a} // Ciklus 15625 KHz = 64uSec
PORTD = PORTD | 128; f_sample = false; bb = dd [icnt]; // očitavanje međuspremnika odgode iw = 127 - bb; // oduzimanje pomaka fx3 = iw * badc0 / 255; // skaliranje odgođenog uzorka s potenciometrom iw1 = 127 - badc1; // oduzimanje odstupanja od novog uzorka iw1 = iw1 + iw; // dodavanje odgođenog uzorka i novog uzorka ako (iw1 127) iw1 = 127; // Ograničivač zvuka bb = 127 + iw1; // dodavanje pomaka dd [icnt] = bb; // spremanje uzorka u audio međuspremnik icnt ++; icnt = icnt & 511; // ograničenje međuspremnika 0..511 OCR2A = bb; // Uzorak vrijednosti na PWM izlaz
PORTD = PORTD ^ 128; izlaz (lijevo, PORTD); // Izlaz
} }
void 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; // popunjavamo bafere od 512 bajtova za (iw = 0; iw <= 511; iw ++) {// sa 50 tačaka sinewawe fd = 127 * sin (fcnt); // osnovni ton fcnt = fcnt + dx; // u rasponu od 0 do 2xpi i 1/512 koraka bb = 127 + fd; // dodavanje DC pomaka sinewawe dd [iw] = bb; // upisuje vrijednost u niz
} }
// ********************************************** ****************** // Timer2 Interrupt Service na 62,5 KHz // ovdje se audio i pot signal signali uzorkuju brzinom od: 16Mhz / 256 /2 /2 = 15625 Hz ISR (TIMER2_OVF_vect) {
PORTB = PORTB | 1;
div32 =! div32; // podijelite timer2 frekvenciju / 2 na 31,25kHz if (div32) {div16 =! div16; if (div16) {// uzorci kanala 0 i 1 naizmjenično, tako da je svaki kanal uzorkovan sa 15,6kHz badc0 = ADCH; // dobivamo ADC kanal 0 sbi (ADMUX, MUX0); // postavlja multiplekser na kanal 1} else {badc1 = ADCH; // dobivanje ADC kanala 1 cbi (ADMUX, MUX0); // postavlja multiplekser na kanal 0 f_sample = true; } ibb ++; ibb--; ibb ++; ibb--; // kratko kašnjenje prije početka konverzije sbi (ADCSRA, ADSC); // započeti sljedeću konverziju}
}
Korak 6: Video
Potencijalni problemi ● Pickup je malo preslab za napajanje - potrebno je pojačalo. - U videu smo koristili pojačivač signala. (Siva kutija leži na stolu.)
Preporučuje se:
Uradi sam: Mini -senzorska kutija montirana na plafon sa fokusiranim senzorom pokreta: 4 koraka
Uradi sam: Mini -senzorska kutija postavljena na plafon sa fokusiranim senzorom pokreta: Zdravo. Prije nekog vremena pomagao sam svom prijatelju s konceptom pametne kuće i stvorio mini kutiju senzora prilagođenog dizajna koja se može montirati na strop u rupu 40x65 mm. Ova kutija pomaže u: • mjerenju intenziteta svjetla • mjerenju vlažnog
Kako izgraditi vlastiti anemometar pomoću trska, prekidača Hall efekta i nekih bilješki na Nodemcu. - 1. dio - Hardver: 8 koraka (sa slikama)
Kako izgraditi vlastiti anemometar pomoću trska, prekidača Hall efekta i nekih bilješki na Nodemcu. - 1. dio - Hardver: Uvod Od početka studija o Arduinu i kulturi proizvođača volio sam graditi korisne uređaje koristeći otpad i komade otpada, poput čepova boca, komada PVC -a, limenki za piće itd. Volim dati sekundu život svakom komadu ili bilo kom drugu
Senzor Hall efekta na Arduinu pomoću Fidget Spinnera: 3 koraka (sa slikama)
Hall -ov senzor efekta na Arduinu pomoću Fidget Spinnera: SažetakU ovom projektu objašnjavam kako funkcionira Hall -ov senzor za mjerenje brzine fidget spinnera s arduino pločom. radi:-Senzor Hall efekta je pretvarač koji mijenja svoj izlazni napon kao odgovor na magnetsko polje. Hall efekat
DIY papučica sa efektom gitare za izobličenje klonova štakora - mrtvi štakor: 5 koraka (sa slikama)
DIY papučica sa efektom izobličenja klona klonova štakora - mrtvi štakor: Ovo nije pedala za izobličenje Mickeyja Mousea! Ova pedala je klon jedne od mojih omiljenih pedala za efekte iz 80 -ih … ProCo -ova RAT distorzija. To je osnovna OpAmp pedala za izobličenje koja koristi klasični LM308N IC čip i koja je prilično jednostavna za
Plišana papučica: 20 koraka (sa slikama)
Plišana papučica: Meni standardne fuz pedale jednostavno nisu bile dovoljno zamagljene. Samo najmućnija fuz pedala bila bi prikladna za moje muzičke poduhvate. Tražio sam najvišu i najnižu papučicu u zemlji, ali nisam je mogao pronaći. Konačno sam to riješio