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:46]
alexandru.ene2208 [Rezultate Obţinute]
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 106: Line 88:
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download =====+A fost un proiect care in primul rand chiar mi-a placut sa-l realizez, desi a fost 
 +destul de multa munca, dorind sa aiba si atat o utilitate cat si un aspect decent. 
 +Cu siguranta se pot face imbunatatiri la acesta (un RTC mai precis precum DS3231, 
 +o carcasa printata 3D etc.).
  
-<note warning> +Ca si timp de implementare majoritatea a fost ocupat de research pentru a nu strica 
-O arhivă (sau mai multe dacă este cazul) ​cu fişierele obţinute în urma realizării proiectului:​ sursescheme, etc. Un fişier README, un ChangeLog, un script ​de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).+anumite piese *din nou* si pentru a nu pierde timpul ​cu incercari inutilein sine 
 +asamblarea hardware + design nefiind atat de costisitoare ca timp.
  
-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**. +In schimb pentru carcasa/​lipit/​asezat fire timpul alocat a fost destul ​de mult incat 
-</​note>​+sa fie ceva cat de cat rezistent.
  
-===== Jurnal ​=====+Sincer nu ma asteptam sa-mi placa sa lucrez atat de multe ore la proiectul acesta, dar 
 +tot am ajuns la concluzia ca imi place sa dorm noaptea in loc sa dezizolez/​lipesc fire. 
 +===== Download ​=====
  
-<note tip> +Link repository github: 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. + 
-</note>+[[https://​github.com/​AlexANdrei33/​PM-project-VU-Metru.git]]
  
 ===== 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.1685375213.txt.gz · Last modified: 2023/05/29 18:46 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