Πίνακας περιεχομένων:
- Βήμα 1: Πρόβλημα
- Βήμα 2: Πλαίσιο έργου
- Βήμα 3: Απαιτούνται εξαρτήματα / εργαλεία
- Βήμα 4: Τεχνική στρατηγική
- Βήμα 5: Κωδικός
- Βήμα 6: Βίντεο
Βίντεο: NeckCrusher (Pedal Effect Pedal): 6 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Dale Rosen, Carlos Reyes και Rob Koch
DATT 2000
Βήμα 1: Πρόβλημα
Τα πεντάλ της κιθάρας περιορίζουν τον μουσικό στην πλατφόρμα του πεντάλ. Λύση: Δημιουργήστε και ενσωματώστε μια λειτουργικότητα πετάλων κιθάρας στην ίδια την κιθάρα. Αυτό επιτρέπει στον μουσικό να κινείται ελεύθερα σε όλη τη σκηνή, χρησιμοποιώντας το λαιμό της κιθάρας ως διεπαφή αντί να περιορίζεται στη θέση του πεντάλ. Θα διερευνήσουμε αυτήν την ιδέα δημιουργώντας μια συσκευή εφέ ρυθμού δειγμάτων/δείγματος.
Βήμα 2: Πλαίσιο έργου
Υπάρχουν πολλά πετάλια κιθάρας που χρησιμοποιούν οι μουσικοί για να χειριστούν τον ήχο των κιθάρων τους. Τα περισσότερα από αυτά είναι συνήθως σε μονάδες με βάση rack ή stomp box, περιορίζοντας επομένως τον έλεγχο των εφέ στη θέση της μονάδας εφέ. Η τοποθέτηση της συσκευής στην κιθάρα επιτρέπει στους παίκτες να ελέγχουν τις παραμέτρους του εφέ οπουδήποτε στη σκηνή. Αυτό σημαίνει ότι δεν θα περιορίζονται και μπορούν να έχουν την ελευθερία να κυκλοφορούν για την απόδοσή τους.
Δεδομένου ότι το Arduino είναι ικανό μόνο για ήχο 8 bit, είναι αδύνατο να γίνει επεξεργασία σήματος υψηλής πιστότητας. Αυτός είναι ο λόγος για τον οποίο επιλέξαμε τα εφέ που κάναμε, καθώς βασίζονται στη δημιουργία ενός χαμηλού πιστού, παραμορφωμένου ήχου. Αυτά είναι τα μόνα εφέ που είναι λογικά δυνατά με ένα Arduino.
Βήμα 3: Απαιτούνται εξαρτήματα / εργαλεία
● Τρυπάνι κρούσης
● Κόπτες σύρματος
● Απογυμνωτές καλωδίων
● Συγκολλητικό σίδερο
● Gun Glute Gun
● Αντλία αποκόλλησης
● Κιθάρα los Περίβλημα
● Συγκολλητικό
● Ζεστή Κόλλα
● Arduino
● Proto Board
● Καλυμμένο καλώδιο
J Υποδοχές ήχου (x2)
● Ποτενσιόμετρα (x3)
● Πυκνωτές: 2,2 uF (x2)
● Εκτεθειμένο καλώδιο χαλκού
● Βίδες (M3.5 *8)
● Αντιστάσεις: 1 k, 10 k, 1.2 k, 1.5 k, 390 k
* Op Amp (LM358) / * Transistor (2N3442)
Βήμα 4: Τεχνική στρατηγική
Εσωτερικό κύκλωμα
Εισόδου-εξόδου
Πρέπει να μετατρέψουμε το ηχητικό σήμα που προέρχεται από μια κιθάρα σε κάτι που μπορεί να χρησιμοποιήσει και να τροποποιήσει το arduino. Στη συνέχεια θα χρειαστεί να μετατρέψουμε το σήμα που προέρχεται από το arduino σε ηχητικό σήμα. Το Arduino διαβάζει τάσεις από 0V έως 5V, τα ηχητικά σήματα είναι από -1V έως 1V. Αυτές οι μετατροπές γίνονται χρησιμοποιώντας αντιστάσεις. Το σήμα θα μετατραπεί και στο κύκλωμα εξόδου.
Βιβλιοθήκη Arduino: ArduinoDSP
Περιγραφή έργου (διεπαφή)
Πόμολα Κουμπί 1: Ποσοστό δείγματος
Knob 2: Bit Crusher
Κουμπί 3: Bit Shifter
Βήμα 5: Κωδικός
#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;
πτητικό boolean f_sample; πτητικό byte badc0; πτητικό byte badc1; πτητικό byte 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; byte bb?
byte dd [512]; // Πίνακας μνήμης ήχου 8-bit
void setup () {setupIO ();
// επαναφόρτωση κύματος μετά από 1 δευτερόλεπτο fill_sinewave ();
// ορίστε το adc prescaler σε 64 για συχνότητα δειγματοληψίας 19kHz cbi (ADCSRA, ADPS2). sbi (ADCSRA, ADPS1); sbi (ADCSRA, ADPS0); // 8-bit ADC στο ADCH Register sbi (ADMUX, ADLAR); sbi (ADMUX, REFS0); cbi (ADMUX, REFS1); cbi (ADMUX, MUX0); cbi (ADMUX, MUX1); cbi (ADMUX, MUX2); cbi (ADMUX, MUX3); // Timer2 PWM Mode έχει ρυθμιστεί σε γρήγορο PWM cbi (TCCR2A, COM2A0). sbi (TCCR2A, COM2A1); sbi (TCCR2A, WGM20); sbi (TCCR2A, WGM21); // Ρύθμιση για Timer2 cbi (TCCR2B, WGM22); // Timer2 Ρολόι Prescaler σε: 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;
}
void loop () {
// ελέγξτε την κατάσταση του ποτενσιόμετρου εφέ και του περιστροφικού διακόπτη readKnobs ();
// ************* *** *** Κανονικό *** // *************
if (fx1 == 0 && fx2 == 0 && fx3 == 0 && fx4 == 0) {byte input = analogRead (αριστερά); έξοδος (αριστερά, είσοδος). }
// ************* *** *** Phasor *** // ************
αν (fx4> 100) {
fx1 = 0; fx2 = 0; fx3 = 0;
ενώ (! f_sample) {// περιμένετε Τιμή δείγματος από ADC} // Κύκλος 15625 KHz = 64uSec PORTD = PORTD | 128; f_sample = false; bb = badc1; dd [icnt1] = bb; // εγγραφή στο buffer fx4 = iw * badc0 / 255; // κλίμακα καθυστερημένου δείγματος με ποτενσιόμετρο iw1 = dd [icnt2]; // διαβάστε το buffer καθυστέρησης 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). // Έξοδος}
// ************* // *** Flanger *** // ************ εάν (fx3> 100) {
fx1 = 0; fx2 = 0; fx4 = 0;
ενώ (! f_sample) {// περιμένετε Τιμή δείγματος από ADC} // Κύκλος 15625 KHz = 64uSec
PORTD = PORTD | 128; f_sample = false; bb = dd [icnt]; // διαβάστε το buffer καθυστέρησης iw = 127 - bb; // αφαίρεση μετατόπισης fx3 = iw * badc0 / 255; // κλίμακα καθυστερημένου δείγματος με ποτενσιόμετρο iw1 = 127 - badc1; // αφαίρεση μετατόπισης από νέο δείγμα iw1 = iw1 + iw; // προσθέστε καθυστερημένο δείγμα και νέο δείγμα εάν (iw1 127) iw1 = 127 · // Περιοριστής ήχου bb = 127 + iw1; // προσθήκη μετατόπισης dd [icnt] = bb; // αποθηκεύστε το δείγμα στο buffer ήχου icnt ++; icnt = icnt & 511; // limit bufferindex 0..511 OCR2A = bb; // Δείγμα τιμής στην έξοδο PWM
PORTD = PORTD ^ 128; έξοδος (αριστερά, PORTD). // Έξοδος
} }
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; // συμπληρώστε το buffer 512 byte για (iw = 0; iw <= 511; iw ++) {// με 50 περιόδους sinewawe fd = 127 * sin (fcnt); // θεμελιώδης τόνος fcnt = fcnt + dx; // στο εύρος από 0 έως 2xpi και προσαυξήσεις 1/512 bb = 127 + fd; // προσθήκη dc offset στο sinewawe dd [iw] = bb; // εγγραφή τιμής σε πίνακα
} }
// ******************************************** ****************** // Timer2 Interrupt Service στα 62,5 KHz // εδώ γίνεται δειγματοληψία του σήματος ήχου και δοχείου με ρυθμό: 16Mhz / 256 /2 /2 = 15625 Hz ISR (TIMER2_OVF_vect) {
PORTB = PORTB | 1;
div32 =! div32; // διαιρέστε το χρονόμετρο2 συχνότητα / 2 στα 31,25kHz εάν (div32) {div16 =! div16; εάν (div16) {// δείγμα καναλιού 0 και 1 εναλλάξ, έτσι ώστε κάθε κανάλι να λαμβάνεται δείγμα με 15,6kHz badc0 = ADCH. // λήψη καναλιού ADC 0 sbi (ADMUX, MUX0). // ορίστε τον πολυπλέκτη στο κανάλι 1} else {badc1 = ADCH; // Λήψη ADC channel 1 cbi (ADMUX, MUX0). // ορίστε τον πολυπλέκτη στο κανάλι 0 f_sample = true; } ibb ++; ibb--; ibb ++; ibb--; // μικρή καθυστέρηση πριν από την έναρξη μετατροπής sbi (ADCSRA, ADSC). // έναρξη επόμενης μετατροπής}
}
Βήμα 6: Βίντεο
Πιθανά προβλήματα ● Η παραλαβή είναι λίγο πολύ αδύναμη για να τροφοδοτήσει το κύκλωμα - χρειάζεστε ενισχυτή. - Στο βίντεο χρησιμοποιήσαμε ενισχυτή σήματος. (Το γκρι κουτί ξαπλωμένο στο τραπέζι.)
Συνιστάται:
Super FAST RC Ground Effect Vehicle (Ekranoplan): 5 βήματα (με εικόνες)
Super FAST RC Ground Effect Vehicle (Ekranoplan): Ξέρετε πώς, κατά το άγγιγμα, τα αεροπλάνα αιωρούνται λίγα πόδια πάνω από το έδαφος για λίγο πριν οι τροχοί τους χτυπήσουν πραγματικά τον διάδρομο; Αυτό δεν είναι μόνο για να δώσει στους επιβάτες μια ομαλή προσγείωση, αλλά είναι επίσης το φυσικό αποτέλεσμα της επίδρασης εδάφους, στο οποίο
Γνώση αναλογικού κυκλώματος - DIY a Ticking Clock Sound Effect Circuit Without IC: 7 βήματα (με εικόνες)
Γνώση Αναλογικού Κυκλώματος - DIY a Ticking Clock Sound Effect Circuit Without IC: Αυτό το κυκλώματος ηχητικού εφέ Clock Sound Effect δημιουργήθηκε μόνο με τρανζίστορ και αντιστάσεις και πυκνωτές που δεν διαθέτουν κανένα στοιχείο IC. Είναι ιδανικό για εσάς να μάθετε τις βασικές γνώσεις κυκλώματος με αυτό το πρακτικό και απλό κύκλωμα. Το απαραίτητο στρώμα
Hall Effect USB Joystick: 7 βήματα (με εικόνες)
Hall Effect USB Joystick: Αυτές οι οδηγίες δείχνουν πώς να χρησιμοποιείτε ένα βιομηχανικό joystick Hall Effect για να φτιάξετε ένα joystick USB υψηλής ευκρίνειας. Υπάρχουν και άλλα σχετικά εκπαιδευτικά Tiny USB Joystick που μπορούν να παρέχουν λύση χαμηλού κόστους. ≫
Parasit Studio Bit Breaker Guitar Effect Build: 5 βήματα (με εικόνες)
Parasit Studio Bit Breaker Guitar Effect Build: Το Parasite Studio είναι ένας ιστότοπος DIY εφέ κιθάρας που παρέχει διάφορα υλικά για να φτιάξετε τα δικά σας εφέ κιθάρας, ειδικά εκείνα που ασχολούνται με ψηφιακά εφέ όπως bitbreaker ή fuzz. Η διεύθυνση Parasite Studio βρίσκεται στη διεύθυνση https://www.parasi
DIY Rat Clone Distortion Guitar Effect Pedal - the Dead RAT: 5 βήματα (με εικόνες)
DIY Rat Clone Distortion Guitar Effect Pedal - the Dead RAT: Αυτό δεν είναι πεντάλ παραμόρφωσης Mickey Mouse! Αυτό το πεντάλ είναι ένας κλώνος του ενός στα αγαπημένα μου πετάλια εφέ από τη δεκαετία του 80 … ProCo's RAT Distortion. Είναι ένα βασικό πεντάλ παραμόρφωσης OpAmp χρησιμοποιώντας το κλασικό τσιπ LM308N IC που είναι μια αρκετά απλή κατασκευή για τ