Spectrum Analyzer

Autor

Introducere

Proiectul consta in afisarea spectrului audio al sunetului primit ca input printr-un cablu pe o matrice de led-uri.

Descriere generală

Printr-un cablu de tip jack-jack, la Arduino se va transmite sunetul de la calculator sau telefon. In functie de frecventa si intensitatea sunetului primit, se va genera o secventa de biti, care va fi transmisa la matrice, pentru ca cele 32 de benzi a cate 8 led-uri sa creasca si sa descreasca in ritm cu muzica.

Schema Bloc

Componente

  • Arduino
  • Matrice cu leduri
  • 1 cablu jack-jack
  • Breadboard
  • Fire tata-tata
  • Fire tata-mama
  • 3 rezistente de 10kOhm
  • 1 condensator de 10nF

Hardware Design

Conectare Matrice

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

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, 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

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.

Biblioteci folosite

  • SPI: pentru a permite comunicarea in cascada
  • FHT: pentru generarea semnalului sub forma unui vectori de frecvente
  • Max72xx: pentru operatii pe matricea de leduri
  • Adafruit: pentru display-ul grafic, utilizat de catre Max72xx

Rezultate obtinute

Rezultatul obtinut este un proiect distractiv, care permite vizualizarea unui input audio.

Concluzii

In concluzie pot spune ca am reusit sa aprofundez cunostintele in domeniul respectiv si sa inteleg mai bine notiunile predate la laborator.

Download

Demo

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

pm/prj2021/agrigore/spectrum_analyzer.txt · Last modified: 2021/05/31 14:32 by antonela.ciudin
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