This shows you the differences between two versions of the page.
pm:prj2021:agrigore:spectrum_analyzer [2021/05/31 12:47] antonela.ciudin |
pm:prj2021:agrigore:spectrum_analyzer [2021/05/31 14:32] (current) antonela.ciudin [Demo] |
||
---|---|---|---|
Line 22: | Line 22: | ||
==== Hardware Design ==== | ==== Hardware Design ==== | ||
+ | |||
+ | {{:pm:prj2021:agrigore:schema_spectrum_analyzer.png?645|}} | ||
=== Conectare Matrice === | === Conectare Matrice === | ||
Line 34: | Line 36: | ||
Pentru a primi semnalul prin cablu jack-jack, se va conecta un fir la pinul A0 de pe placa, printr-un condensator pentru a nivela zgomotele, iar alt fir se conecteaza la pinul GND de pe Arduino. Astfel se preia semnalul de la dispozitiv si se transmite la placa sub forma unui semnal analog. | Pentru a primi semnalul prin cablu jack-jack, se va conecta un fir la pinul A0 de pe placa, printr-un condensator pentru a nivela zgomotele, iar alt fir se conecteaza la pinul GND de pe Arduino. Astfel se preia semnalul de la dispozitiv si se transmite la placa sub forma unui semnal analog. | ||
- | De asemenea se va conecta printr-un fir pinul Aref la 3.3V prin rezistente, pentru a permite citirea unui semnal mai slab | + | De asemenea, pentru a permite citirea unui semnal mai slab, am configurat tesniunea de referinta ca fiind EXTERNAL (tensiunea aplicata lui Aref) si am unit Aref la 3.3V printr-o rezistenta. |
==== Software Design ==== | ==== Software Design ==== | ||
Semnalul se primeste de la dispozitiv prin cablu. | Semnalul se primeste de la dispozitiv prin cablu. | ||
Dupa care se realizeaza analiza spectrului, la iesire avem o serie de valori ale benzilor din spectru (128 de benzi).Se filtreaza valorile benzilor, pentru a evita zgomotele. Apoi se trece de la 128 de benzi la 16 benzi, pastrand relatia o relatie liniara intre valorile dintre benzi. Se cauta valorile maxime pentru a stabiliza inaltimea coloanelor pe matrice. Se transforma valoarea din banda in valoare pentru o coloana din matrice. Se trimit valorile pe matrice. Respectiv se aprind ledurile pe matrice sub forma unor coloane, un functie de frecventa inputului audio. | Dupa care se realizeaza analiza spectrului, la iesire avem o serie de valori ale benzilor din spectru (128 de benzi).Se filtreaza valorile benzilor, pentru a evita zgomotele. Apoi se trece de la 128 de benzi la 16 benzi, pastrand relatia o relatie liniara intre valorile dintre benzi. Se cauta valorile maxime pentru a stabiliza inaltimea coloanelor pe matrice. Se transforma valoarea din banda in valoare pentru o coloana din matrice. Se trimit valorile pe matrice. Respectiv se aprind ledurile pe matrice sub forma unor coloane, un functie de frecventa inputului audio. | ||
+ | |||
+ | {{:pm:prj2021:agrigore:circuit_spectrum_analyzer3.jpg?600|}} | ||
+ | {{:pm:prj2021:agrigore:circuit_spectrum_analyzer2.jpg?280|}} | ||
+ | {{:pm:prj2021:agrigore:circuit_spectrum_analyzer1.jpg?280|}} | ||
=== Biblioteci folosite === | === Biblioteci folosite === | ||
* [[https://www.arduino.cc/en/Reference/SPI|SPI]]: pentru a permite comunicarea in cascada | * [[https://www.arduino.cc/en/Reference/SPI|SPI]]: pentru a permite comunicarea in cascada | ||
- | * [[http://wiki.openmusiclabs.com/wiki/ArduinoFHT|FHT]]: pentru generarea semnalului sub forma unui vectori de frecvente | + | * [[https://github.com/Evg33/ArduinoFHT|FHT]]: pentru generarea semnalului sub forma unui vectori de frecvente |
* [[https://github.com/markruys/arduino-Max72xxPanel|Max72xx]]: pentru operatii pe matricea de leduri | * [[https://github.com/markruys/arduino-Max72xxPanel|Max72xx]]: pentru operatii pe matricea de leduri | ||
+ | * [[https://github.com/adafruit/Adafruit-GFX-Library|Adafruit]]: pentru display-ul grafic, utilizat de catre Max72xx | ||
==== Rezultate obtinute ==== | ==== Rezultate obtinute ==== | ||
Line 52: | Line 59: | ||
==== Download ==== | ==== Download ==== | ||
+ | {{:pm:prj2021:agrigore:spectrum_analyzer.zip|Fisier sursa si schema EAGLE}}\\ | ||
+ | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">PDF_Proiect</a></html> | ||
==== Demo ==== | ==== Demo ==== | ||
+ | [[https://www.youtube.com/watch?v=TwMtEN0xhR8|Demo Video]] | ||
==== Jurnal ==== | ==== Jurnal ==== | ||
Line 67: | Line 77: | ||
==== Bibliografie/Resurse ==== | ==== Bibliografie/Resurse ==== | ||
- | URL Proiect: [[pm:prj2021:agrigore:spectrum_analyzer|]] | + | * [[pm:prj2021:agrigore:spectrum_analyzer|URL Proiect]] |
+ | * [[https://www.arduino.cc/en/Reference/SPI]] | ||
+ | * [[https://github.com/Evg33/ArduinoFHT]] | ||
+ | * [[https://github.com/markruys/arduino-Max72xxPanel]] | ||
+ | * [[https://github.com/adafruit/Adafruit-GFX-Library]] | ||
+ | * [[https://ardushop.ro/ro/]] | ||
+ | * [[http://wiki.openmusiclabs.com/wiki/ArduinoFHT]] | ||
+ | * [[https://www.youtube.com/watch?v=2rZWN1IcZpA]] | ||
+ | * [[https://forum.arduino.cc/t/wiring-audio-3-5mm-jack-to-arduino-uno/419171/21]] | ||
+ | * [[https://forum.arduino.cc/t/audio-cable-as-an-input-on-arduino/469759]] |