Kazalo:

Zvočni vizualizator brez naslova RGB LED trak: 6 korakov (s slikami)
Zvočni vizualizator brez naslova RGB LED trak: 6 korakov (s slikami)

Video: Zvočni vizualizator brez naslova RGB LED trak: 6 korakov (s slikami)

Video: Zvočni vizualizator brez naslova RGB LED trak: 6 korakov (s slikami)
Video: The AGM H5 Pro: The Phone That's So Loud, It Can Wake the Dead (And Your Neighbors) 2024, November
Anonim
Image
Image

Okoli omare televizorja že nekaj časa nosim 12-voltni RGB LED trak, ki ga nadzira dolgočasen LED-gonilnik, ki mi omogoča, da izberem eno izmed 16 vnaprej programiranih barv!

Poslušam veliko glasbe, ki me motivira, vendar osvetlitev preprosto ne ustvarja dobrega razpoloženja. Če želite to odpraviti, ste se odločili, da avdio signal, ki ga je moj zvočnik prejel prek AUX (3,5 -milimetrski priključek), obdelajte in ustrezno upravljajte trak RGB.

Svetleče diode se na glasbo odzivajo glede na jakost nizkih (nizkih), visokih (srednjih) in visokih frekvenc.

Frekvenčno območje - barva je naslednja:

Nizka - rdeča

Srednja - zelena

Visoka - modra

Ta projekt vključuje veliko DIY stvari, ker je bilo celo vezje zgrajeno iz nič. To bi moralo biti precej enostavno, če ga nastavite na ploščo, vendar ga je precej težko spajkati na tiskano vezje.

Zaloge

(x1) RGB LED trak

(x1) Arduino Uno/Nano (priporočljivo je Mega)

(x1) TL072 ali TL082 (tudi TL081/TL071 sta v redu)

(x3) TIP120 NPN tranzistor (TIP121, TIP122 ali N-kanalni MOSFET-i, kot sta IRF540, IRF 530 so tudi v redu)

(x1) 10kOhm potenciometer linearni

(x3) 100kOhm 1/4 vatni upori

(x1) 10uF elektrolitski kondenzator

(x1) 47nF keramični kondenzator

(x2) 3,5 mm avdio priključek - ženski

(x2) 9V baterija

(x2) 9V priključek za zaskok baterije

1. korak: Razumevanje vrst LED trakov RGB

Razumevanje vrst LED trakov RGB
Razumevanje vrst LED trakov RGB

Obstajata dve osnovni vrsti LED trakov, "analogna" in "digitalna".

Na trakovih analognega tipa (slika 1) so vse LED diode povezane vzporedno, zato deluje kot ena velika tribarvna LED; celoten trak lahko nastavite na poljubno barvo, vendar ne morete nadzorovati posameznih barv LED. So zelo enostavni za uporabo in dokaj poceni.

Trakovi digitalnega tipa (slika 2) delujejo na drugačen način. Imajo čip za vsako LED, za uporabo traku morate poslati digitalno kodirane podatke na čipe. Vendar to pomeni, da lahko upravljate vsako LED posebej! Zaradi dodatne kompleksnosti čipa so dražji.

Če težko fizično ugotovite razlike med analognimi in digitalnimi trakovi,

  1. Anološki tip uporablja 4 zatiči, 1 skupni pozitivni in 3 negativne, tj. Enega za vsako barvo RGB.
  2. Digitalni tip uporabite 3 zatiči, pozitivni, podatkovni in ozemljitveni.

Uporabljal bom analogne trakove, ker

  1. Zelo malo je učencev, ki poučujejo, kako narediti glasbeno reaktivni trak analognega tipa. Večina se osredotoča na digitalni tip, zato se lažje odzovejo na glasbo.
  2. Naokoli sem ležal nekaj analognih trakov.

2. korak: Ojačanje zvočnega signala

Ojačanje zvočnega signala
Ojačanje zvočnega signala
Ojačanje zvočnega signala
Ojačanje zvočnega signala
Ojačanje zvočnega signala
Ojačanje zvočnega signala

Zvočni signal, ki se pošlje prek avdio priključka, je

analogni signal, ki niha znotraj +200mV in -200mV. To je problem, ker želimo izmeriti zvočni signal z enim od analognih vhodov Arduino, ker lahko analogni vhodi Arduino merijo samo napetosti med 0 in 5 V. Če bi poskušali izmeriti negativne napetosti v zvočnem signalu iz, bi Arduino prebral le 0V in na koncu bi odrezali dno signala.

Če ga želimo rešiti, moramo ojačati in izravnati zvočne signale, tako da spadajo v območje 0-5V. V idealnem primeru mora imeti signal amplitudo 2,5 V, ki niha okoli 2,5 V, tako da je njegova najmanjša napetost 0 V, največja napetost pa 5 V.

Ojačanje

Ojačevalnik je prvi korak v vezju, povečuje amplitudo signala od okoli + ali - 200mV do + ali - 2,5 V (idealno). Druga funkcija ojačevalnika je zaščita avdio vira (stvar, ki najprej ustvarja zvočni signal) pred preostalim vezjem. Odhodni ojačani signal bo ves svoj tok napajal iz ojačevalnika, zato vsakršna obremenitev, ki jo bo pozneje naložila v vezju, zvočnega vira (telefon/iPod/prenosni računalnik v mojem primeru) ne bo "čutila". To naredite tako, da nastavite enega od op-ojačevalnikov v paketu TL072 ali TL082 (slika 2) v konfiguraciji neinvertirajočega ojačevalnika.

Podatkovni list TL072 ali TL082 pravi, da ga je treba napajati z +15 in -15V, ker pa signal nikoli ne bo ojačan nad + ali -2.5V, je dobro, da op -amp delujete z nižjo vrednostjo. Za izdelavo napajanja + ali - 9V sem uporabil dve zaporedno povezani 9 -voltni bateriji.

Priključite +V (pin 8) in –V (pin 4) na op-amp. Signal iz mono vtičnice povežite z neinvertirajočim vhodom (pin 3) in ozemljitveni vtič vtičnice povežite z 0V referenčno napetostjo na vašem napajalniku (zame je bil to spoj med dvema 9V baterijama zaporedno). Povežite upor 100 kOhm med izhodom (pin 1) in invertirnim vhodom (pin 2) op-amp. V tem vezju sem uporabil 10kOhm potenciometer, ožičen kot spremenljiv upor, da prilagodim dobiček (količino, ki jo ojačevalnik ojača) mojega neinvertirajočega ojačevalnika. Povežite ta 10K linearni konusni lonec med invertirnim vhodom in referenco 0V.

DC Offset

Vezje enosmernega tokokroga ima dve glavni komponenti: delilnik napetosti in kondenzator. Napetostni delilnik je izdelan iz dveh 100k uporov, povezanih zaporedno od napajanja Arduino 5V do tal. Ker imata upori enak upor, je napetost na stiku med njima enaka 2,5 V. Ta 2.5V spoj je povezan z izhodom ojačevalnika preko 10uF kondenzatorja. Ko napetost na strani ojačevalnika kondenzatorja narašča in pada, povzroči, da se naboj za trenutek nabere in odbije s strani kondenzatorja, pritrjenega na 2,5 -voltni spoj. To povzroči, da napetost na stiku 2,5 V niha navzgor in navzdol, s središčem okoli 2,5 V.

Kot je prikazano na shemi, priključite negativni vod 10uF kondenzatorja na izhod ojačevalnika. Priključite drugo stran pokrovčka na stičišče med dvema 100k uporov, ki sta zaporedno povezana med 5V in maso. Prav tako na zemljo dodajte kondenzator 47nF od 2,5 V.

3. korak: razgradnja signala v vsoto stacionarnih sinusoidov - teorija

Razgradnja signala v vsoto stacionarnih sinusoidov - teorija
Razgradnja signala v vsoto stacionarnih sinusoidov - teorija

Zvočni signal, ki se pošlje skozi kateri koli 3,5 mm vtič, je v

razpon od 20 Hz do 20 kHz. Vzorčeno je pri 44,1 kHz in vsak vzorec je kodiran na 16 bitov.

Za dekonstrukcijo osnovnih elementarnih frekvenc, ki sestavljajo zvočni signal, na signal uporabimo Fourierjevo transformacijo, ki signal razgradi v vsoto stacionarnih sinusoid. Z drugimi besedami, Fourierjeva analiza pretvori signal iz svoje prvotne domene (pogosto čas ali prostor) v predstavitev v frekvenčni domeni in obratno. Toda izračun neposredno iz definicije je pogosto prepočasen, da bi bil praktičen.

Slike prikazujejo, kako signal izgleda v časovnem in frekvenčnem področju.

Tu je algoritem hitre Fourierjeve transformacije (FFT) zelo uporaben!

Po definiciji, FFT hitro izračuna takšne transformacije s faktorizacijo matrike DFT v produkt redkih (večinoma nič) faktorjev. Posledično uspe zmanjšati kompleksnost izračuna DFT iz O (N2), ki nastane, če preprosto uporabimo definicijo DFT, do O (N log N), kjer je N velikost podatkov. Razlika v hitrosti je lahko ogromna, zlasti za dolge nabore podatkov, kjer je N lahko na tisoče ali milijone. Ob prisotnosti napake pri zaokroževanju je veliko algoritmov FFT veliko natančnejše od neposrednega ali posrednega vrednotenja definicije DFT.

Preprosto povedano, to samo pomeni, da je algoritem FFT hitrejši način za izračun Fourierjeve transformacije katerega koli signala. To se običajno uporablja na napravah z nizko računalniško močjo.

Priporočena: