This shows you the differences between two versions of the page.
pm:prj2023:vstoica:electric-guitar-tuner [2023/05/26 22:07] ion.calugaritoiu |
pm:prj2023:vstoica:electric-guitar-tuner [2023/05/28 18:34] (current) ion.calugaritoiu [Rezultate Obţinute] |
||
---|---|---|---|
Line 69: | Line 69: | ||
Implementarea se bazeaza pe cea amintita anterior, fiind adaptata la cerintele pe care trebuie sa le indeplineasca acordorul: detectia corzii lovite, afisarea si compararea frecventei corzii pe LCD. | Implementarea se bazeaza pe cea amintita anterior, fiind adaptata la cerintele pe care trebuie sa le indeplineasca acordorul: detectia corzii lovite, afisarea si compararea frecventei corzii pe LCD. | ||
+ | Pentru a citi si prelucra semnalul de pe pin-ul analogic A0, a fost nevoie sa gasesc o metoda pentru a mari sampling rate-ul microcontroller-ului. Daca as fi folosit functia de analogRead, sample rate ul ar fi fost limitat la 8000Hz, fiind insuficient pentru aplicatii audio high definition. | ||
+ | |||
+ | Metoda prezentata in link-ul de mai sus este foarte eficienta, marind sampling rate-ul la 38.5kHz (foarte aproape de standardul minim de 40Khz). | ||
+ | |||
+ | * Practic, în funcția setup() am configurat Arduino-ul pentru a masura continuu pinul A0 și să uite de celelalte intrări analogice. Variabila numită "ADCH" este cea care actualizata cu noile valori de la A0. | ||
+ | |||
+ | * Am setat contorul ADC la 500kHz deoarece ADC-ul are nevoie de 13 cicluri de ceas pentru a citi o nouă valoare analogică. 500/13 =~ 38,5kHz. | ||
+ | |||
+ | * A trebuit să reduc puțin rezoluția măsurătorilor analogice pentru a mari sampling-rate-ul. analogRead() returneaza valori intre 0 și 1023, acum aceste valori vor fi întotdeauna între 0 și 255. | ||
+ | |||
+ | * Folosesc si o rutina de intrerupere pentru a updata variabila in care memorez input-ul ("newData"); Rutina este apelata doar cand o valoare noua este citita. | ||
+ | |||
+ | |||
+ | Codul se gaseste in arhiva din sectiunea de descarcari. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
Line 76: | Line 90: | ||
{{:pm:prj2023:vstoica:doi.jpeg?600|}} | {{:pm:prj2023:vstoica:doi.jpeg?600|}} | ||
{{:pm:prj2023:vstoica:trei.jpeg?600|}} | {{:pm:prj2023:vstoica:trei.jpeg?600|}} | ||
+ | {{:pm:prj2023:vstoica:123.jpeg?600|}} | ||
+ | {{:pm:prj2023:vstoica:1234.jpeg?600|}} | ||
+ | {{:pm:prj2023:vstoica:12345.jpeg?600|}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||