This is an old revision of the document!


Automatic Guitar Tuner

Autor

Tudor Hermenean

Grupa: 331CC

Introducere

Proiectul este menit sa ajute muzicienii sa isi poata emancipa spiritul artistic de efortul odiseic si constant de a acorda corespunzator chitara inainte de fiecare sesiune de chitara.

Acesta functioneaza foarte simplu: primeste un semnal audio printr-un microfon a unei corzi de chitara ciupite si trimite un semnal unui motoras DC legat de cheita de chitara, pe care o invarte ca sa ajusteze intaltimea notei.

Tunerul este menit pe orice chitara ce se acordeaza prin cheite de pe gatul chitarei.

Descriere generala

Schema bloc

O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.

Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html

Hardware design

  • Arduino UNO
  • Breadboard
  • Fire de conexiune
  • Rezistente
  • Motor DC
  • Buton
  • Amplificator operational modul LM386
  • Misc.

Software design

Software-ul este dezvoltat in Arduino IDE fara librarii externe iar ce face in mare este detectarea frecventeisi calcularea adjustarii facute din motorasul DC.

Calculul de frecventa se intampla la fiecare valoare noua primita de la ADC prin intreruperea ISR. Acesta functioneaza pe un sistem de Generalized Pitch Detection in care se calculeaza de cate ori trece semnalul analog primit de la ADC prin punctul de 2.5V. Cod inspirat din acest helpful guide: https://www.instructables.com/Arduino-Frequency-Detection/.

Functii:

reset() - reseteaza diverse variabile

frequency_check() - compara frecventa actuala calculata din intreruperi cu o frecventa referinta (hardcoded)

drive_motor(int dir) - trimite semnal motorului sa se invarta intr-o directie sau alta

Rezultate obtinute

Rezultatele au fost mixed. Pe de-o parte, partile folosite in acest proiect au fost low-cost si a fost o experienta placuta in care am invatat multe lucruri despre folosirea si prelucrarea de semnale analogice. Pe de alta parte … modulul folosit de catre mine pentru amplificarea semnalului (LM386) nu este tocmai cel mai bun pentru detectare de sunet, astfel tunerul de multe ori are prea mult zgomot pentru a distinge notele muzicale de la chitara.

Concluzii

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

19.04.2022

  • Alegere tema proiect
  • Cautare componente

28.04.2022

  • Incepere pagina Wiki
  • Comandare componente

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Tudor_Hermenean_331CC

pm/prj2022/sgherman/automaticguitartuner.1654110056.txt.gz · Last modified: 2022/06/01 22:00 by tudor.hermenean
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