This shows you the differences between two versions of the page.
|
pm:prj2021:agrigore:spectrum_analyzer [2021/05/31 11:07] 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 === | ||
| - | Pentru conectarea matricii, se va conecta pinii GND si VCC de pe matrice la pinii GND s 5V de pe placa. De asemenea pinul DIN se conecteaza la MOSI (11), CLK la SCK (13) si CS la pinul 10 de pe Arduino. | + | Pentru conectarea matricii, se vor conecta pinii in urmatorul fel: |
| + | * GND -> GND | ||
| + | * VCC -> 5V | ||
| + | * DIN -> MOSI (pin 11) | ||
| + | * CLK -> SCK (pin 13) | ||
| + | * CS -> pin 10 | ||
| === Conectare cablu jack-jack === | === Conectare cablu jack-jack === | ||
| 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 | + | 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. |
| - | Cautare valori maxime pentru a stabiliza inaltimea coloanelor pe matrice | + | |
| - | Transformare valoare banda in valoare pentru o coloana din marice | + | {{:pm:prj2021:agrigore:circuit_spectrum_analyzer3.jpg?600|}} |
| - | Trimitere valori pe matrice Dupa care, in urma mai multor operatii, se genereaza benzi (formate din leduri aprinse) in functie de frecventa inputulu audio primit. | + | {{: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 48: | Line 57: | ||
| ==== Concluzii ==== | ==== Concluzii ==== | ||
| In concluzie pot spune ca am reusit sa aprofundez cunostintele in domeniul respectiv si sa inteleg mai bine notiunile predate la laborator. | In concluzie pot spune ca am reusit sa aprofundez cunostintele in domeniul respectiv si sa inteleg mai bine notiunile predate la laborator. | ||
| + | |||
| + | ==== 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 ==== | ||
| + | [[https://www.youtube.com/watch?v=TwMtEN0xhR8|Demo Video]] | ||
| + | |||
| + | ==== Jurnal ==== | ||
| + | * Alegere tema pentru proiect | ||
| + | * Creare pagina wiki | ||
| + | * Achizitionare componente | ||
| + | * Conectare si intelegerea modului de functionare a matricii | ||
| + | * Conectare cablu jack-jack si citire input | ||
| + | * Implementare functiune proiect (soft) | ||
| + | * Realizare video demo | ||
| + | * Realizare schema bloc | ||
| + | * Finalizare pagina wiki | ||
| ==== 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]] | ||