This is an old revision of the document!


Pedala de efecte chitara electrica

Autor: Stefan-Dragos Badea - 331CC

Introducere

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.

Descriere generală

Modul de functionare este urmatorul:

  • Conecteaza chitara la intrarea pedalei printr-un cablu jack.
  • Conecteaza iesirea pedalei la o interfata audio / amplificator
  • Activeaza pedala selectand unul din efectele audio dorite din telecomanda
  • Căntâ!

Hardware Design

Piese folosite:

  • Arduino UNO cu Atmega328p
  • DAC PCF8591
  • IR sensor si telecomanda
  • 2 mufe jack mama
  • rezistente, condensatoare

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.

Software Design

Intrare:

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;
Senzorul si telecomanda IR:

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. Butonul '0' dezactiveaza toate efectele.

  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:

  • distortion
  • tremolo
  • flanger
  • echo

Rezultate Obţinute

Concluzii

Download

Bibliografie/Resurse

Hardware
Software
Ambele
pm/prj2023/dene/pedalaefectechitara.1685195228.txt.gz · Last modified: 2023/05/27 16:47 by stefan_dragos.badea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0