Tato konstrukce pojednává o audio spektrálním analyzeru (64 pásem s úrovní 8 kroků). Mikrofon snímá okolní zvuk, který se převede na změnu napětí. Operační předzesilovač zesiluje slabší úroveň napětí z mikrofonu. Procesor ESP32 měří úroveň napětí na analogovém vstupu v čase a pomocí FFT provádí výpočty pro následné zobrazení úrovně zvuku na frekvenci. Displej je složen z matice 64*8 bodů. Celé zařízení je nainstalováno ve 3D krabičce z tiskárny. Pomocí tlačítka lze vyvolat tzv "AP" režim pomocí kterého se spustí generování Wi-Fi připojení. Pomocí tabletu, telefonu... můžeme následně měnit firmware v zařízení.
[Zvukový signál] -> [ADC] -> [FFT] -> [Seznam amplitud frekvencí] -> [Zobrazení (LED/displej)]
- FREE (3D díly na printables https://www.printables.com/model/1280186-esp32-audio-spectrum-analyzer)
- REGISTERED (v příloze program bin pro procesor ESP32)
- DONATE (Deska spojů, zdrojový program pro Arduino pro ESP32)
Spektrální analyzátor zvuku (audio spectrum analyzer) je zařízení, které rozkládá složitý zvukový signál na jeho jednotlivé frekvenční složky a ukazuje, jaká je síla (amplituda) každé frekvence.
Základní princip je:
- Zvuk jako signál v čase
Zvuk je vlnění, které lze popsat jako změnu tlaku vzduchu v čase — tedy jako časový signál. Tento signál se skládá ze spousty frekvencí dohromady (nízké tóny, vysoké tóny...). - Převod z času do frekvence — Fourierova transformace
Abychom zjistili, jaké frekvence v signálu jsou a jak jsou silné, potřebujeme tento časový signál rozložit. K tomu se používá matematický nástroj zvaný Fourierova transformace. V praxi se pro digitální signály používá hlavně rychlá Fourierova transformace (FFT – Fast Fourier Transform). FFT vezme například 1024 vzorků signálu a zjistí, kolik energie (síly) je v jednotlivých frekvenčních pásmech — např. kolik je tam frekvence 100 Hz, 500 Hz, 1000 Hz atd. - Zobrazení výsledků
Výsledkem FFT je seznam čísel: každé číslo odpovídá síle určité frekvence. Tento seznam se zobrazí například jako: Sloupce: Každý sloupec odpovídá určitému frekvenčnímu pásmu (například basy, středy, výšky). Výška sloupce = jak moc je daná frekvence ve zvuku zastoupena (amplituda). Typický výstup spektrálního analyzátoru vypadá jako "živý graf", kde sloupce skáčou podle aktuální hudby.
Schéma zapojení
Deska spojů
Seznam součástek
Stavební postup (deska spojů)
Po osazení desky provedem kontrolu na případné chyby (studené spoje, omylem propojené vývody co nemají být spojené...)
Stavební postup (displej)
Konstrukce VU metru používá 2ks maticového displeje 32*8 bodů (tj 512 LED ).
Displeje spájíme k sobě, tak jako na obrázku. Z jednoho displeje propojíme OUT do druhého displeje IN takto:
OUT displej 1 | IN displej 2 |
VCC | VCC |
GND | GND |
DOUT | DIN |
CS | CS |
CLK | CLK |
Na propojení použijeme piny, které ohneme z prvního do druhého modulu.
K prvnímu disleji IN připojíme 5 vodičů délky cca 20-25 cm (ideálně různé barvy). Vodiče jsou slaněného typu (ne tvrdý drát).
Vodič odizolujeme, stočíme, pocínujeme, zastřihneme, připájíme.
Po přiletování navlékneme izolační teplem smrštitelné bužírky (které ofoukáme horkým vzduchem z pájecí stanice).
Smršťovací bužírku rozdělíme na 5 kusů po cca 1 cm.
Bužírka musí být navlečená až k desce.
Na svazek pěti vodičů umístíme stahovací pásky a druhou stranu vodičů také odizolujeme, pocínujeme, zastříhneme na cca 2-3 mm délky (nezapomeneme navléknout izolační bužírky před pájením k řídící desce).
Propojíme displej s řídící deskou.
Připravíme si 2x spojený displej, 4ks vystřeďovací 3D kus a vteřinové lepidlo. Pomocí lepidla postupně přilepíme vystřeďovací kusy na displeje.
Stavební postup (3D krabička)
3D krabička se skládá z těchto dílů
a) 1x zadní kryt
b) 1x krabice
c) 2x držák na zeď
d) 4x vystřeďovací kus na displej
e) držák desky spojů a displejů
f) plexisklo
Do krabice vložíme 6 ks čtvercové matky M3 (za tyto matky následně přišroubujeme zadní kryt a držák desky spojů).
TODO uchycení
Nahrání programu do procesoru
Pro nahrání programu do procesoru připojíme jednorázově převodník USB na UART. Další případné verze FW můžeme nahrát přes webovou stránku (převodník již nebude potřeba). Převodník z jedné strany připojíme do USB portu počítače a z druhé strany do desky spojů jako na obrázku. Pozor: na převodníku musíme odstranit propojku (jumper)!
Převodník použijeme například tento: https://www.laskakit.cz/prevodnik-usb-ttl-uart--ft232rl--dtr-pin/
Nás budou zajímat vodiče: VCC, GND, TX, RX. Tyto 4 vodiče propojíme s řídící deskou.
Připravíme řídící desku pro nahrání kódu
Stiskneme na řídící desce sekvenci tlačítek takto:
Připojíme USB adaptér do zařízení (displej se může náhodně rozsvítit, to není na závadu). Držíme tlačítko "KEY" a k němu na krátkou dobu stiskneme tlačítko "EN" (tlačítko KEY následně po cca 2 vteřinách uvolníme). Procesor ESP32 bude přepnutý do režimu příjmu kódu.
TODO
Aktualizace firmware přes webovou stránku
ss
Na článku se pracuje...