Pedala Efecte Chitara

Andrei-Mihail Colța

Introducere

Pedala de efecte pentru chitara electrica ce va putea face toggle intre diverse efecte. Am ales acest proiect deoarece o sa-mi fie chiar util produsul final si pentru ca ma pot folosi de o pasiune de a mea.

Descriere Generala

Dispozitivul va avea 2 mufe jack de 6.3mm - una de input de la chitara si cealalta de output catre amplificator. Semnalul va fi preluat de la chitara si amplificat de catre TL082, apoi trecute in ADC-ul placutei pentru a putea fi prelucrate semnalele. Aici voi implementa diverse efecte care vor fi trecute mai departe catre convertorul digital-analog si amplificate din nou si trimise in final la amplificator pentru a fi redate.

Utilizatorul va avea la dispozitie un ecran care ii va indica daca pedala aplica vreun efect (va avea optiunea de a nu aplica niciun efect, caz in care semnalul va fi trimis direct catre amplificator), iar daca da, ce efect este selectat. Efectele se schimba folosind switch-ul rotativ in 6 pozitii, iar pedala este enable-uita la apasarea butonului.

Hardware Design

Lista de piese:

  • ATmega324
  • Amplificator Operational TL082
  • 2x Mufa Jack 6.3mm
  • 1x Foot Switch (buton)
  • 3X Potentiometre 100kOhm
  • 1x Switch rotativ 6 pozitii
  • 1x Ecran LCD 2×16
  • Rezistente, condensatori etc.

Schema Electrica:

Software Design

Mediu de dezvoltare:

  • Visual Studio Code
  • Bootloader HID

Am folosit o biblioteca de Arduino pentru anumite variabile definite.
Pentru LCD folosesc biblioteca din laboratorul 1 pentru a scrie efectul selectat.
In rest folosesc functii definite in alte fisiere - dsp.c/.h si timers.c/.h.

dsp.h:

  void setupIO() // initializeaza canalele
  void output(int channel, short value) // scrie valoarea pe canalul primit ca parametru

timers.h:

Setari pentru timer

  void waveformGenerationMode(int pin, int type);
  void waveformGenerationModeBit(int pin, int type, int bits); // pins 9 and 10
  void timerPrescale(int pin, int prescale);
  int getPrescale01(int prescale);
  int getPrescale2(int prescale);

Define-uri si o functie pentru prescaling

  void analogPrescale(int divisionFactor);

Rezultate Obtinute



Din pacate nu am putut duce la capat proiectul - acesta nu este functional deoarece nu am putut gasi tipul de switch necesar pentru a inchide circuitul.

Concluzii

A fost un proiect interesant (mi-as fi dorit sa ma fi apucat mai din timp =) dar ce putem face), am invatat sa construiesc de la 0 un circuit, sa realizez conexiuni si sa le gandesc. In retrospectiva, imi doresc sa-mi fi ales un proiect mai accesibil.

Download

333ca_andreimihailcolta1.zip

Jurnal

Data Event
25 Aprilie (Lab) Placuta + Bootloader
17 Mai (Prea tarziu m() Inceput partea hardware
20 Mai Inceput partea software
23 Mai Terminat partea software

Bibliografie/Resurse

1. Pagina proiectului de unde m-am inspirat

Arduino Guitar Pedal

2. Laboratoare pe elf/pm =)

pm/prj2019/imatesica/119.txt · Last modified: 2021/04/14 17:07 (external edit)
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