This is an old revision of the document!
Autor: Stefan-Dragos Badea - 331CC
O pedala pentru chitara este o piesa de hardware care modifica sunetul care vine de la chitara pentru a crea efecte diverse. Existand o gama atat de larga de efecte posibile iar pretul hardware-ului fiind destul de ridicat, am considerat ca o pedala programabila este o solutie lightweight si budget-friendly. Astfel, cred ca ar fi utila pentru orice persoana cu un mini-studio sau doar pasionata de cantat.
Modul de functionare este urmatorul:
Piese folosite:
Placuta va prelua semnalul analogic dat de chitara si il va converti in semnal digital folosind ADC-ul integrat. Initial placuta reda sunetul clean, efecte putand fi activate/dezactivate din telecomanda. Semnalul digital modificat se transmite la DAC-ul extern prin I2C, de unde pleaca mai departe la modalitatea de output (amplificator/interfara audio).
Semnalul analogic este filtrat atat la intrare cat si la iesire. Intrarea trece pentr-un filtru trece sus care blocheaza frecventele de sub ~66Hz. Iesirea trece printr-un filtru trece-jos ce blocheaza frecventele peste ~16kHz.
Codul este dezvoltat in Arduino IDE.
Librarii:
Intrarea se face prin ADC-ul integrat in placa, cu voltajul de referinta intern de 1.1V. Modulul DAC are o rezolutie de doar 8 biti asa ca primul pas dupa citire este sa tarnsform numerele pe 10 biti in 8 biti, dupa care sa aplic efectele de sunet.
unsigned int sensorValue = analogRead(A0); sensorValue = (sensorValue + 1) / 4 - 1;
Fiecare buton de pe telecomanda este mapat la un numar de 2 cifre. Pentru a selecta/deselecta fiecare efect, folosesc un vector ca un map. Daca valoarea din map pentru un buton este 0, efectul este oprit, altfel este pornit.
int pressed_key = IrReceiver.decodedIRData.command; if (pressed_key != IR_BUTTON_0) activeEffects[pressed_key] = ~activeEffects[pressed_key]; else memset(activeEffects, 0, sizeof(activeEffects));
Planuiesc sa implementez mai multe efecte de sunet, printre care: