Differences

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

Link to this comparison view

pm:prj2023:gpatru:audiospectrum [2023/05/29 19:00]
alexandru.ene2208 [Download]
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 128: Line 110:
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +Mai jos se afla link-uri catre cele mai frecventate site-uri pentru acest proiect.
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +
-</​note>​+
  
 +[[https://​www.instructables.com/​]]
 +
 +[[https://​docs.arduino.cc/​]]
 +
 +[[https://​forum.arduino.cc/​]]
 +
 +[[https://​how2electronics.com/​]]
 +
 +[[https://​lastminuteengineers.com/​]]
 +
 +[[https://​projecthub.arduino.cc/​abhilashpatel121/​f1b6ba36-bd96-4f7f-9a83-85c4925ff545]]
 +
 +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.1685376035.txt.gz · Last modified: 2023/05/29 19:00 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