Differences

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

Link to this comparison view

pm:prj2023:gpatru:audiospectrum [2023/05/29 18:54]
alexandru.ene2208 [Concluzii]
pm:prj2023:gpatru:audiospectrum [2023/05/29 19:09] (current)
alexandru.ene2208 [Software Design]
Line 21: Line 21:
 Doua moduri de functionare:​ Doua moduri de functionare:​
  
-1. Idle - sunt afisate anumite modele ​presetate pe card sd+1. Idle - sunt afisate anumite modele ​/ informatii (PacMan, Mesaje, Tmeperatura,​ Umiditate, Ora)
  
-2. Receptionare frecvente - se afiseaza pe matrice frecventele ​primite prin microfon+2. Receptionare frecvente - se afiseaza pe matrice frecventele ​captate de microfon ​sub forma de armonice
  
-Voi folosi doua butoane ​de "​Next"​ respectiv "​Prev"​ pentru setarea ​modului ​de functionare.+Exista un singur buton de modificare al modului ​care cicleaza prin acestea.
  
 {{:​pm:​prj2023:​gpatru:​pm_diagrama_proiect.drawio.png?​770|}} {{:​pm:​prj2023:​gpatru:​pm_diagrama_proiect.drawio.png?​770|}}
Line 46: Line 46:
 MAX7219 Matrice LED-uri 32x8: MAX7219 Matrice LED-uri 32x8:
  
-  * Pentru acest modul este disponibila o varietate larga de biblioteci +  * Pentru acest modul este disponibila o varietate larga de biblioteci capabile sa ofere posibilitatea de a afisa diverse imagini pe acesta. 
-capabile sa ofere posibilitatea de a afisa diverse imagini pe acesta. +  * Pentru afisajul principal (Audio Spectrum Analyzer) am folosit biblioteca "​MD_MAX72xx"​ care imi permite controlarea individuala a coloanelor, avand astfel posibilitatea de a seta fiecare coloana a matricei pe verticala in functie de frecventele captate de microfon. De asemenea pentru a avea un rezultat cat mai placut vizual am folosit "​arduinoFFT"​ care preia semnalele si stabileste armonicele corespunzatoare.  
-  * Pentru afisajul principal (Audio Spectrum Analyzer) am folosit +  * Pentru celelalte moduri de functionare am folosit "​MD_Parola"​ care ofera functii mult mai potrivite si mai usor de folosit pentru jocuri de lumini decat biblioteca mentionata anterior, dar nu este de o flexibilitate foarte mare de aceea nu am folosit-o si la modul de la punctul anterior. 
-biblioteca "​MD_MAX72xx"​ care imi permite controlarea individuala a coloanelor, +  * Pentru a nu seta manual fiecare led pe o coloana am folosit un vector pentru fiecare amplitudine posibila.
-avand astfel posibilitatea de a seta fiecare coloana a matricei pe verticala +
-in functie de frecventele captate de microfon. De asemenea pentru a avea un rezultat +
-cat mai placut vizual am folosit "​arduinoFFT"​ care preia semnalele si stabileste +
-armonicele corespunzatoare.  +
-  * Pentru celelalte moduri de functionare am folosit "​MD_Parola"​ care ofera +
-functii mult mai potrivite si mai usor de folosit pentru jocuri de lumini decat +
-biblioteca mentionata anterior, dar nu este de o flexibilitate foarte mare de aceea +
-nu am folosit-o si la modul de la punctul anterior. +
-  * Pentru a nu seta manual fiecare led pe o coloana am folosit un vector pentru +
-fiecare amplitudine posibila.+
  
 Luminozitate reglata automat: Luminozitate reglata automat:
  
-  * Pentru acest feature m-am bazat pe conceptul de ADC invatat la laborator, +  * Pentru acest feature m-am bazat pe conceptul de ADC invatat la laborator, folosind un fotorezistor asupra caruia am aplicat un factor de "​smoothing"​.
-folosind un fotorezistor asupra caruia am aplicat un factor de "​smoothing"​.+
  
 Schimbare moduri afisare: Schimbare moduri afisare:
-  * Am folosind o simpla intrerupere cuplata la PIN-ul 2 de pe Arduino pe care +  * Am folosind o simpla intrerupere cuplata la PIN-ul 2 de pe Arduino pe care am facut un debouncer in software.
-am facut un debouncer in software.+
  
 Moduri secundare de afisare: Moduri secundare de afisare:
-  * Pentru modurile care nu implica "VU Metrul"​ am preluat datele de la senzori prin +  * Pentru modurile care nu implica "VU Metrul"​ am preluat datele de la senzori prin bibliotecile corespondente (ex. sezonr tmeperatura -> "​DHT"​),​ iar pentru jocurile de lumini am folosit conceptul de "​SpriteData"​ dat in MD_Parola.
-bibliotecile corespondente (ex. sezonr tmeperatura -> "​DHT"​),​ iar pentru jocurile de lumini +
-am folosit conceptul de "​SpriteData"​ dat in MD_Parola.+
   * La afisare modelul l-am pastrat simplu cu PA_CENTER pentru a avea totul centrat pe matrice.   * La afisare modelul l-am pastrat simplu cu PA_CENTER pentru a avea totul centrat pe matrice.
  
 Optimizari: Optimizari:
-  * Avand un numar destul de mare de biblioteci si o memorie limitata pe arduino acest lucru a +  * Avand un numar destul de mare de biblioteci si o memorie limitata pe arduino acest lucru a fost o problema din start. 
-fost o problema din start. +  * Jocurile de lumini se bazeaza pe matrici care seteaza starea ledurilor, matrici care pot ocupa destula memorie de aceea am folosit keyword-ul "​PROGMEM"​ care indruma compilatorul sa puna aceste date pe memoria flash, nu pe SRAM unde ar fii fost puse. 
-  * Jocurile de lumini se bazeaza pe matrici care seteaza starea ledurilor, matrici care pot ocupa +  * Mi-as fi dorit sa pot renunta la una din bibliotecile pentru MAX7219 deorece ocupa destula memorie, dar MD_Parola este dependenta de MD_MAX72xx ceea mi-a ingreuna procesul de implementare.
-destula memorie de aceea am folosit keyword-ul "​PROGMEM"​ care indruma compilatorul sa puna aceste +
-date pe memoria flash, nu pe SRAM unde ar fii fost puse. +
-  * Mi-as fi dorit sa pot renunta la una din bibliotecile pentru MAX7219 deorece ocupa destula memorie, +
-dar MD_Parola este dependenta de MD_MAX72xx ceea mi-a ingreuna procesul de implementare.+
   * Memoria utilizata in momentul actual este de 86%.   * Memoria utilizata in momentul actual este de 86%.
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
Line 122: Line 104:
 ===== Download ===== ===== Download =====
  
-<note warning>​ +Link repository github:
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, 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**. +[[https://github.com/​AlexANdrei33/​PM-project-VU-Metru.git]]
-</​note>​+
  
-===== Jurnal ​=====+===== Bibliografie/​Resurse ​=====
  
-<note tip> +Mai jos se afla link-uri catre cele mai frecventate site-uri pentru acest proiect.
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect ​progresul proiectului. +
-</​note>​+
  
-===== Bibliografie/Resurse =====+[[https://​www.instructables.com/​]] 
 + 
 +[[https://​docs.arduino.cc/​]] 
 + 
 +[[https://​forum.arduino.cc/​]] 
 + 
 +[[https://​how2electronics.com/​]] 
 + 
 +[[https://​lastminuteengineers.com/​]]
  
-<​note>​ +[[https://​projecthub.arduino.cc/abhilashpatel121/​f1b6ba36-bd96-4f7f-9a83-85c4925ff545]]
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +
-</note>+
  
 +Download:
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2023/gpatru/audiospectrum.1685375672.txt.gz · Last modified: 2023/05/29 18:54 by alexandru.ene2208
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