This shows you the differences between two versions of the page.
pm:prj2024:rrusu:maria_miruna.aldica [2024/05/26 14:08] maria_miruna.aldica [Rezultate Obţinute] |
pm:prj2024:rrusu:maria_miruna.aldica [2024/05/27 09:37] (current) maria_miruna.aldica [Concluzii] |
||
---|---|---|---|
Line 58: | Line 58: | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | |||
- | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | ||
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | ||
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | ||
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | ||
- | * (etapa 3) surse şi funcţii implementate | ||
- | </note> | ||
===Laboratoare folosite=== | ===Laboratoare folosite=== | ||
[[https://ocw.cs.pub.ro/courses/pm/lab/lab0-2023|Laboratorul 0: GPIO]] → folosit pentru aprinderea și stingerea ledurilor; | [[https://ocw.cs.pub.ro/courses/pm/lab/lab0-2023|Laboratorul 0: GPIO]] → folosit pentru aprinderea și stingerea ledurilor; | ||
Line 378: | Line 370: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | În urma proiectului, am obținut rezultate bune în urma testării cu un [[https://www.szynalski.com/tone-generator/|generator de frecvențe de note muzicale]] | + | În urma proiectului, am obținut rezultate bune în urma testării cu un [[https://www.szynalski.com/tone-generator/|generator de frecvențe de note muzicale]] (am generat unde sinusoidale corespunzătoare fiecărei note muzicale). |
+ | Mai jos, am realizat câteva videoclipuri pentru a demonstra funcționalitatea completă și corectă a acorodrului: | ||
[[https://youtube.com/shorts/nCg3jMs4Xts|Trecerea prin notele muzicale - implementare cu întreruperi]] - Prima dată tunerul e în starea de OFF, iar primul buton apăsat îl trece în starea de ON. Cât timp este identificată o frecvență validă care nu este zgomot, utilizatorul poate trece prin notele disponibile prin apăsarea butonului de cilare. | [[https://youtube.com/shorts/nCg3jMs4Xts|Trecerea prin notele muzicale - implementare cu întreruperi]] - Prima dată tunerul e în starea de OFF, iar primul buton apăsat îl trece în starea de ON. Cât timp este identificată o frecvență validă care nu este zgomot, utilizatorul poate trece prin notele disponibile prin apăsarea butonului de cilare. | ||
Line 397: | Line 389: | ||
[[https://youtu.be/_KwASWd33tc|82 Hz - E2]] | [[https://youtu.be/_KwASWd33tc|82 Hz - E2]] | ||
+ | Acorodul meu a identificat pentru fiecare caz în parte momentul când nota este corectă, iar indicațiile oferite de LED-uri au fost corecte și consistente. | ||
+ | Deși acorodul funcționează bine în general, am observat că pentru amplitudini foarte mici, sistemul are unele dificultăți în identificarea corectă a frecvenței. | ||
Line 405: | Line 399: | ||
+ | ===== Concluzii ===== | ||
+ | Acordorul digital s-a dovedit a fi un succes, deomonstrând o funcționalitate corectă și completă. Utlizarea unui generator de frecvențe de note muzicale a confirmat capacitatea acordorului de a recunoaște corect frecvențele și de a oferi indicații precise pentru acordaj, ceea ce înseamnă că am realizat corect eliminarea zgomotului, precum și FFT-ul aplicat semnalului audio. | ||
+ | Deși există anumite limitări pentru amplitudini foarte joase, acest acordor poate fi utlizat cu încredere pentru acordarea diferitelor instrumente muzicale. | ||
- | + | Mă bucur că am avut ocazia să realizez acest proect, deoarece am reușit să îmbin pasiunea mea pentru tehnologie cu cea pentru muzică. Procesul de proiectare și dezvoltare m-a făcut să înțeleg mai bine cum pot utiliza diferite componente electronice pentru a crea în final un produs util și eficient. | |
- | ===== Concluzii ===== | + | |
===== Download ===== | ===== Download ===== | ||
| | ||
- | <note warning> | + | [[https://github.com/miruna15aldica/PM-Acordor|Cod complet acordor]] |
- | + | ||
- | 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**. | + | |
- | </note> | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||
Line 426: | Line 416: | ||
* **03.04.2024** -> Achiziționarea componentelor; | * **03.04.2024** -> Achiziționarea componentelor; | ||
* **11-12.05.2024** -> Realizarea designului hardware; | * **11-12.05.2024** -> Realizarea designului hardware; | ||
- | * **19-26.05.2024** -> Software Design; | + | * **19-25.05.2024** -> Software Design; |
+ | * **26.05.2024** -> Realizarea videoclipurilor care atestă corectitudinea acordorului; | ||
Line 441: | Line 432: | ||
[[https://www.youtube.com/watch?v=0nmDqKCMh3Q&list=PL2orsk2zoELnX3RqZVVvgOhDJaFO8XCjQ&index=3]] | [[https://www.youtube.com/watch?v=0nmDqKCMh3Q&list=PL2orsk2zoELnX3RqZVVvgOhDJaFO8XCjQ&index=3]] | ||
- | **Laboratoare folosite** | + | [[https://docs.arduino.cc/built-in-examples/basics/Blink/]] |
+ | |||
+ | [[https://docs.arduino.cc/built-in-examples/digital/Button/]] | ||
+ | |||
+ | [[https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/]] | ||
- | **Laboratorul 0: GPIO** -> folosit pentru aprinderea și stingerea ledurilor; | + | [[https://www.allaboutcircuits.com/technical-articles/using-interrupts-on-arduino/]] |
- | **Laboratorul 2: Întreruperi** -> folosit pentru realizarea întreruperilor pe butoane; | + | [[https://www.arduino.cc/reference/en/libraries/arduinofft/]] |
- | **Laboratorul 4: ADC** -> pentru citirea frecvenței transmise de microfon; | + | [[https://docs.arduino.cc/learn/electronics/lcd-displays/]] |
- | **Laboratorul 6: I2C** -> pentru afișarea datelor pe ecranul LCD-ului; | + | [[https://www.circuitbasics.com/how-to-use-microphones-on-the-arduino/]] |