This shows you the differences between two versions of the page.
pm:prj2021:avaduva:guitar_tuner [2021/05/25 13:07] andreea.cojocaru99 |
pm:prj2021:avaduva:guitar_tuner [2021/05/29 19:12] (current) andreea.cojocaru99 [Schema electrica] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Guitar tuner ====== | ====== Guitar tuner ====== | ||
- | //Autor : Andreea Cojocaru// | + | //Autor: [[andreea.cojocaru99@stud.acs.upb.ro|Andreea Cojocaru 333CC]]// |
===== Introducere ===== | ===== Introducere ===== | ||
Line 14: | Line 14: | ||
LED-ul rosu se aprinde pentru diferente mari de frecventa, LED-ul galben pentru diferente mici, iar LED-ul verde pentru valoarea corecta, sau diferente foarte mici. | LED-ul rosu se aprinde pentru diferente mari de frecventa, LED-ul galben pentru diferente mici, iar LED-ul verde pentru valoarea corecta, sau diferente foarte mici. | ||
- | ===== Componente ===== | + | |
+ | |||
+ | ===== Schema bloc ===== | ||
+ | {{:pm:prj2021:avaduva:schema_bloc_guitartuner.png|}} | ||
+ | ===== Hardware design ===== | ||
+ | ==== Componente ==== | ||
+ | <note> | ||
* Arduino UNO | * Arduino UNO | ||
* [[https://cleste.ro/modul-microfon-sensibilitate-inalta.html|Modul microfon cu sensibilitate inalta]] | * [[https://cleste.ro/modul-microfon-sensibilitate-inalta.html|Modul microfon cu sensibilitate inalta]] | ||
Line 24: | Line 30: | ||
* Fire tata-tata | * Fire tata-tata | ||
* Breadbord | * Breadbord | ||
+ | </note> | ||
+ | ====Schema electrica==== | ||
+ | {{:pm:prj2021:avaduva:schema_electrica_guitar_tuner.png?700|}} | ||
- | ===== Schema bloc ===== | + | * Utilitatea potentiometrului este pentru a regla luminozitatea celulelor matricei ecranului LCD. |
- | {{:pm:prj2021:avaduva:schema_bloc_guitartuner.png|}} | + | * De asemenea, se poate observa faptul ca butonul este legat la pinul 2, avand INT0. |
+ | * Totodata, senzorul de sunet este de tip analogic, fiind conectat la A0. | ||
- | ===== Schema electrica ===== | + | {{:pm:prj2021:avaduva:guitar_tuner_hardware.jpeg?700|}} |
- | {{:pm:prj2021:avaduva:schema_electrica_guitar_tuner.png?700|}} | + | |
+ | * Aici se poate observa cablajul fizic, executat fidel dupa modelul schemei electrice (doar ca piesele sunt conectate folosind si un breadboard). | ||
+ | * Se prezinta in aceasta imagine, stadiul initial, inaintea apasarii butonului. | ||
===== Software design ===== | ===== Software design ===== | ||
* Pentru lucrul cu LCD-ul am utilizat biblioteca LiquidCrystal.h. | * Pentru lucrul cu LCD-ul am utilizat biblioteca LiquidCrystal.h. | ||
Line 36: | Line 47: | ||
* Pentru schimbarea corzii cu ajutorul butonului, am utilizat intreruperi (butonul este legat la pinul 2 - intreruperi INT0). | * Pentru schimbarea corzii cu ajutorul butonului, am utilizat intreruperi (butonul este legat la pinul 2 - intreruperi INT0). | ||
+ | ===Flow-ul general al aplicatiei=== | ||
+ | * Se initializeaza datele, pe LCD apare mesajul "Press the button to start!", se ataseaza pinului 2, adica butonului, intreruperea; | ||
+ | * In bucla principala se asteapta apasarea butonului, tratata intr-o functie separata, de intreruperi; | ||
+ | * Odata cu apasarea butonului, se sterge ce exista pe ecran si apar literele corespunzatoare celor 4 corzi (4 corzi deoarece am utilizat ukulele pentru testare); | ||
+ | * Apasarea butonului, seteaza coarda pe care vrem sa o acordam, schimband astfel frecventa asteptata. Totodata, pe ecran, litera corespunzatoare acestei corzi palpaie; | ||
+ | * Cand microfonul intercepteaza un anumit prag de zgomot , atunci se intercepteaza un numar de valori (SAMPLES = 256 ), iar mai apoi utilizand functii din ArduinoFFT, aflam varful frecventei rezultate. Acesta se compara cu frecventa asteptata de utilizator si se afiseaza pe ecran diferenta +- intre cele doua, diferenta observata si cu ajutorul LED-urilor, care pentru diferente mari se aprinde LED-ul rosu, pentru diferente mici LED-ul galben si pentru valoarea ~exacta LED-ul verde. | ||
+ | <note tip>Am modificat de asemenea si amplificarea sunetului, folosind potentiometrul de care dispune modulul de sunet; zgomotul de fundal avea valori ~ 0-20, iar zgomotul produs de atingerea unei corzi > 400, astfel am setat pragul la > 300 </note> | ||
Line 42: | Line 60: | ||
</note> | </note> | ||
- | ==== PDF ==== | + | ===== Resurse ===== |
- | Click [[https://ocw.cs.pub.ro/courses/pm/prj2021/avaduva/guitar_tuner?do=export_pdf|Aici]] | + | <note important> |
+ | {{:pm:prj2021:avaduva:guitar_tuner_333cc_cojocaru_andreea_pm.zip|Arhiva: video demo + cod}} | ||
+ | </note> | ||
+ | ===== Descarcare pagina ===== | ||
+ | Click [[https://ocw.cs.pub.ro/courses/pm/prj2021/avaduva/guitar_tuner?do=export_pdf|aici]] pentru descarcarea PDF a paginii curente. |