Project Pedalás este denumirea unei pedale pentru chitară. Scopul acesteia este de a procesa semnalul brut obținut din dozele chitării și aplicarea de efecte asupra acestuia.
În acest sens, semnalul va trece printr-un convertor analog-digital(ADC), apoi va fi aplicată asupra sa o funcție, în dependență de efectul ales, ca ulterior să fie transmis într-un convertor digital-analog și în continuare la celelalte elemente din lanțul de efecte(amplificator/boxe).
În primul rând, semnalul emis de dozele chitării poate lua o plajă destul de largă de valori, în dependență de dozele folosite(single coil sau humbucker), dar și de felul de interpretare(picking/strumming). În cazul în care se face strumming pe humbuckere, se pot atinge vârfuri de ±0.7-1V, însă când se face picking pe single coils, valorile nu depășesc ±0.2V. Astfel, intervine problema folosirii eficiente a rezoluției ADC-ului.
În acest sens, am plasat un potențiometru într-un divizor de tensiune – acesta poate fi folosit pentru a regla amplitudinea intrării(volumul variază de la 0 la 0.83*Vin), iar apoi semnalul va fi amplificat de către microcontroller de 10x. Astfel, semnalul de la single coils se încadrează aproape perfect în plaja ADC-ului la volum maxim. În cazul în care chitaristul folosește humbuckere, acesta va ajusta potențiometrul la un volum mai scăzut. În acest fel obținem o soluție de compromis – un sunet mai clar pe single coils fără a risca să distorsionăm prea tare humbuckerele.
Microcontrollerul de pe Arduino nu poate lucra cu tensiuni negative, astfel că vom deplasa semnalul cu 2.5V → când din doze vor veni 0.3V, în inputul ADC-ului vor ajunge 2.8V.
Pe partea de filtrare la input am luat în considerare următoarele fapte – frecvențele emise de o chitară electrică se încadrează(aproximativ, neluând în considerare acordaje stranii) în intervalul [70, 3000] Hz. Respectiv, pentru a evita zgomotul, am adăugat un filtru trece-jos și unul trece-sus(high-pass and low-pass filters). Filtrul trece-jos blochează frecvențele de la aprox. 5000 Hz în sus, iar cel trece-sus le blochează pe cele sub 30 Hz.
Semnalul de ieșire va fi trimis într-un DAC extern
Pentru afișarea regimurilor și a altor date, se va folosi un modul LCD 1602, iar pentru control – un joystick. De asemenea, pentru a afișa un avertisment vizual în cazul în care volumul este prea mare, se folosește un LED roșu.
Listă piese
Pe partea de software, am ales să preiau semnalul de la convertorul analog-digital activându-i întreruperile și setându-l în Free Running Mode. În consecință, ADC-ul generează o întrerupere atunci când se termină o conversie. În tot timpul cât nu ne aflăm în întreruperea ADC-ului se face verificarea pinilor de intrare ai joystick-ului pentru a reîmprospăta, eventual, meniul. Din fericire, pentru modulele LCD și DAC există biblioteci, astfel încât utilizarea lor nu a creat mari dificultăți.
Din păcate, rezultatul acestui proiect nu s-a ridicat la nivelul așteptărilor. Cauza principală a acestui fapt sunt interferențele. Ceasul microcontrollerului oscilează cu 16MHz la câțiva centimetri de cablurile prin care se transmite semnalul. Din ce se pare, există o metodă de a combate acest neajuns cu ajutorul unei bobine și a unui condensator, însă acest lucru rămâne ca plan de viitor. În plus, și lungimea cablurilor prin care se transmite semnalul analog a avut un cuvânt de spus - în mod normal încerci să menții la minim această lungime anume pentru a evita zgomotul.
În concluzie, pot spune că procesarea de sunet s-a dovedit a fi o misiune ceva mai complicată decât mă așteptam. Totuși, în pofida rezultatului sub nivelul așteptărilor, sunt mulțumit cu munca depusă și cu lucrurile învățate în urma acestui proiect. Fără îndoială voi continua ideea până o voi aduce la o stare satisfăcătoare, sper doar să nu fiu nevoit să fac asta tot la PM la anul :)))