Obsah:

Neadresovateľný zvukový vizualizátor RGB LED pásikov: 6 krokov (s obrázkami)
Neadresovateľný zvukový vizualizátor RGB LED pásikov: 6 krokov (s obrázkami)

Video: Neadresovateľný zvukový vizualizátor RGB LED pásikov: 6 krokov (s obrázkami)

Video: Neadresovateľný zvukový vizualizátor RGB LED pásikov: 6 krokov (s obrázkami)
Video: 💡Крутая светомузыка своими руками. Arduino + WS2812b 2024, December
Anonim
Image
Image

Okolo svojej televíznej skrinky mám chvíľu 12v RGB LED pásik a je ovládaný nudným LED ovládačom, ktorý mi umožňuje vybrať si jednu zo 16 predprogramovaných farieb!

Počúvam veľa hudby, ktorá ma motivuje, ale osvetlenie jednoducho neladí. Aby som to napravil, rozhodol som sa prevziať zvukový signál, ktorý bol daný do môjho reproduktora, cez AUX (3,5 mm konektor), spracovať ho a podľa toho ovládať pásik RGB.

LED diódy reagujú na hudbu na základe frekvencií Bass (Low), Treble (Mid) a High.

Frekvenčný rozsah - farba je nasledujúci:

Nízka - červená

Stredná - zelená

Vysoká - modrá

Tento projekt zahŕňa veľa domácich potrieb, pretože celý obvod bol postavený od začiatku. To by malo byť celkom jednoduché, ak ho nastavujete na doske, ale je dosť náročné spájkovať ho na dosku plošných spojov.

Zásoby

(x1) RGB LED pásik

(x1) Arduino Uno/Nano (odporúča sa Mega)

(x1) TL072 alebo TL082 (TL081/TL071 sú tiež v poriadku)

(x3) Tranzistor NPN TIP120 (TIP121, TIP122 alebo N-kanálové MOSFETy ako IRF540, IRF 530 sú tiež v poriadku)

(x1) 10kOhm potenciometer lineárny

(x3) 100 kOhm 1/4wattové odpory

(x1) 10uF elektrolytický kondenzátor

(x1) 47nF keramický kondenzátor

(x2) 3,5 mm zvukový konektor - zásuvka

(x2) 9V batéria

(x2) 9V konektor na prichytenie batérie

Krok 1: Pochopenie typov RGB LED pásikov

Pochopenie typov RGB LED pásikov
Pochopenie typov RGB LED pásikov

Existujú dva základné druhy LED pásov, „analógový“a „digitálny“.

Pásiky analógového typu (obr. 1) majú všetky LED diódy zapojené paralelne, a tak pôsobia ako jedna obrovská trojfarebná dióda LED; môžete nastaviť celý pás na ľubovoľnú požadovanú farbu, ale nemôžete ovládať farby jednotlivých LED diód. Ich použitie je veľmi jednoduché a lacné.

Prúžky digitálneho typu (obr. 2) fungujú iným spôsobom. Majú čip pre každú LED diódu, aby ste mohli použiť pás, musíte na čipy odoslať digitálne kódované údaje. To však znamená, že môžete ovládať každú LED samostatne! Vzhľadom na extra zložitosť čipu sú drahšie.

Ak je pre vás ťažké fyzicky identifikovať rozdiely medzi analógovými a digitálnymi pásikmi,

  1. Typ Anolog používa 4 piny, 1 spoločný pozitívny a 3 negatívy, t. J. Jeden pre každú farbu RGB.
  2. Digitálny typ používa 3 piny, kladný, dátový a uzemňovací.

Budem používať pásy analógového typu, pretože

  1. Existuje veľmi málo alebo žiadny návod na použitie, ktorý by naučil vyrobiť hudobne reaktívny pásik analógového typu. Väčšina z nich sa zameriava na digitálny typ a je jednoduchšie ich prinútiť reagovať na hudbu.
  2. Okolo som nechal ležať niekoľko prúžkov analógového typu.

Krok 2: Zosilnenie zvukového signálu

Zosilnenie zvukového signálu
Zosilnenie zvukového signálu
Zosilnenie zvukového signálu
Zosilnenie zvukového signálu
Zosilnenie zvukového signálu
Zosilnenie zvukového signálu

Zvukový signál, ktorý je odoslaný cez zvukový konektor, je

analógový signál, ktorý osciluje v rozmedzí +200 mV a -200 mV. Teraz je to problém, chceme merať zvukový signál jedným z analógových vstupov Arduino, pretože analógové vstupy Arduina môžu merať iba napätie medzi 0 a 5V. Ak by sme sa pokúsili zmerať záporné napätia vo zvukovom signáli z, Arduino by čítalo iba 0 V a skončili by sme s orezaním spodnej časti signálu.

Aby sme to vyriešili, musíme zosilniť a kompenzovať zvukové signály tak, aby spadali do rozsahu 0-5V. V ideálnom prípade by signál mal mať amplitúdu 2,5 V, ktorá osciluje okolo 2,5 V, takže jeho minimálne napätie je 0 V a maximálne napätie je 5 V.

Zosilnenie

Zosilňovač je prvým krokom v obvode, zvyšuje amplitúdu signálu z približne + alebo - 200 mV na + alebo - 2,5 V (ideálne). Ďalšou funkciou zosilňovača je ochrana zdroja zvuku (vec, ktorá v prvom rade vytvára zvukový signál) pred zvyškom obvodu. Odchádzajúci zosilnený signál bude zdrojom celého svojho prúdu zo zosilňovača, takže akékoľvek zaťaženie, ktoré na neho v obvode neskôr priložíte, zdroj zvuku (v mojom prípade telefón/iPod/prenosný počítač) „nepocíti“. Vykonajte to nastavením jedného z operačných zosilňovačov v balení TL072 alebo TL082 (obr. 2) v konfigurácii neinvertujúceho zosilňovača.

Technický list TL072 alebo TL082 hovorí, že by mal byť napájaný +15 a -15V, ale keďže signál nebude nikdy zosilnený nad + alebo -2,5V, je dobré prevádzkovať operačný zosilňovač s niečím nižším. Na vytvorenie napájania + alebo - 9 V som použil dve deväťvoltové batérie zapojené do série.

Pripojte svoje +V (kolík 8) a –V (kolík 4) k operačnému zosilňovaču. Zapojte signál z mono konektora do neinvertujúceho vstupu (pin 3) a uzemňovací kolík konektora zapojte do referencie 0 V na vašom zdroji napätia (pre mňa to bola križovatka medzi dvoma 9 V batériami v sérii). Pripojte odpor 100 kOhm medzi výstup (pin 1) a invertujúci vstup (pin 2) operačného zosilňovača. V tomto obvode som použil 10kOhm potenciometer zapojený ako variabilný odpor na nastavenie zisku (množstvo, ktoré zosilňovač zosilňuje) môjho neinvertujúceho zosilňovača. Pripojte tento 10K lineárny kužeľový hrniec medzi invertujúci vstup a referenciu 0V.

Offset DC

Offsetový obvod DC má dve hlavné zložky: delič napätia a kondenzátor. Delič napätia je vyrobený z dvoch 100 k rezistorov zapojených do série od 5V zdroja Arduino k zemi. Pretože rezistory majú rovnaký odpor, napätie na križovatke medzi nimi je 2,5V. Toto 2,5V prepojenie je viazané na výstup zosilňovača cez kondenzátor 10uF. Keď napätie na strane zosilňovača kondenzátora stúpa a klesá, spôsobuje to, že sa náboj na chvíľu nahromadí a odpudí zo strany kondenzátora pripojeného k 2,5 V križovatke. To spôsobuje, že napätie na križovatke 2,5 V osciluje hore a dole so stredom okolo 2,5 V.

Ako je znázornené na schéme, pripojte záporný vodič kondenzátora 10uF k výstupu zo zosilňovača. Pripojte druhú stranu krytu k spojeniu dvoch 100k odporov zapojených do série medzi 5V a zemou. Pridajte k zemi aj kondenzátor 47nF z 2,5 V.

Krok 3: Rozklad signálu na súčet stacionárnych sinusoidov - teória

Rozklad signálu na súčet stacionárnych sinusoidov - teória
Rozklad signálu na súčet stacionárnych sinusoidov - teória

Zvukový signál vysielaný cez akýkoľvek 3,5 mm konektor je v

rozsah 20 Hz až 20 kHz. Vzorkuje sa pri 44,1 kHz a každá vzorka sa kóduje na 16 bitov.

Na dekonštrukciu základných elementálnych frekvencií, ktoré tvoria zvukový signál, použijeme na signál Fourierovu transformáciu, ktorá rozkladá signál na súčet stacionárnych sínusoidov. Inými slovami, Fourierova analýza prevádza signál z jeho pôvodnej domény (často času alebo priestoru) na reprezentáciu vo frekvenčnej oblasti a naopak. Vypočítanie priamo z definície je však často príliš pomalé na to, aby bolo praktické.

Obrázky ukazujú, ako signál vyzerá v časovej a frekvenčnej oblasti.

Tu je algoritmus Fast Fourier Transform (FFT) veľmi užitočný!

Podľa definície, FFT tieto transformácie rýchlo vypočítava faktorizáciou matice DFT na produkt riedkych (väčšinou nulových) faktorov. Výsledkom je, že sa jej darí znižovať zložitosť výpočtu DFT z O (N2), ktorá vzniká, ak jednoducho použijeme definíciu DFT, na O (N log N), kde N je veľkosť údajov. Rozdiel v rýchlosti môže byť obrovský, najmä pre dlhé súbory údajov, kde N môže byť tisíce alebo milióny. V prítomnosti chyby zaokrúhľovania je mnoho algoritmov FFT oveľa presnejšie ako priame alebo nepriame hodnotenie definície DFT.

Jednoducho povedané, znamená to len, že algoritmus FFT je rýchlejší spôsob výpočtu Fourierovej transformácie akéhokoľvek signálu. Spravidla sa používa na zariadeniach s nízkym výpočtovým výkonom.

Odporúča: