Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2021:avaduva:guitar_tuner [2021/05/25 13:22]
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.
   * Pentru procesarea sunetului, am folosit biblioteca "​arduinoFFT.h"​[1] si de asemenea m-am ajutat si inspirat din exemplele oferite din documentatia acestei biblioteci.   * Pentru procesarea sunetului, am folosit biblioteca "​arduinoFFT.h"​[1] si de asemenea m-am ajutat si inspirat din exemplele oferite din documentatia acestei biblioteci.
   * 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).
-<note tip> + 
-Flow-ul general al aplicatiei: +===Flow-ul general al aplicatiei=== 
-  * se initializeaza datele, pe LCD apare mesajul "Press the button to start!",​ se ataseaza pinului 2, adica butonului, intreruperea +  * 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 +  * 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) +  * 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. +  * 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 ​(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), 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. +  * 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>​+   <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> ​ 
  
 <​note>​ <​note>​
Line 48: 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.
pm/prj2021/avaduva/guitar_tuner.1621938179.txt.gz · Last modified: 2021/05/25 13:22 by andreea.cojocaru99
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