Obsah:

Neadresovatelný zvukový vizualizér RGB LED pásku: 6 kroků (s obrázky)
Neadresovatelný zvukový vizualizér RGB LED pásku: 6 kroků (s obrázky)

Video: Neadresovatelný zvukový vizualizér RGB LED pásku: 6 kroků (s obrázky)

Video: Neadresovatelný zvukový vizualizér RGB LED pásku: 6 kroků (s obrázky)
Video: 3D АУДИО RGB ЭКВАЛАЙЗЕР 🔥 RGB Sound Controlled Music Levels Light 🌈 УМНАЯ СВЕТОМУЗЫКА ! 2024, Listopad
Anonim
Image
Image

Nějakou dobu mám kolem své televizní skříně 12v RGB LED pásek a je ovládán nudným LED ovladačem, který mi umožňuje vybrat si jednu ze 16 předprogramovaných barev!

Poslouchám hodně hudby, která mě motivuje, ale osvětlení prostě nenavodí náladu. Chcete -li to opravit, rozhodl se převést zvukový signál, který byl dán mému reproduktoru, přes AUX (3,5 mm konektor), zpracovat jej a podle toho ovládat pás RGB.

LED diody reagují na hudbu na základě frekvencí Bass (Low), Treble (Mid) a High.

Frekvenční rozsah - barva je následující:

Nízká - červená

Střední - zelená

Vysoká - modrá

Tento projekt zahrnuje spoustu kutilských věcí, protože celý obvod byl postaven od nuly. To by mělo být docela snadné, pokud jej nastavujete na prkénko, ale je docela náročné jej pájet na desku plošných spojů.

Zásoby

(x1) RGB LED pásek

(x1) Arduino Uno/Nano (doporučuje se Mega)

(x1) TL072 nebo TL082 (TL081/TL071 jsou také v pořádku)

(x3) TIP120 NPN tranzistor (TIP121, TIP122 nebo N-Channel MOSFETy jako IRF540, IRF 530 jsou také v pořádku)

(x1) 10kOhm potenciometr lineární

(x3) 100kOhm 1/4wattové odpory

(x1) 10uF elektrolytický kondenzátor

(x1) 47nF keramický kondenzátor

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

(x2) 9V baterie

(x2) Zásuvný konektor 9V baterie

Krok 1: Pochopení typů RGB LED pásků

Pochopení typů RGB LED pásků
Pochopení typů RGB LED pásků

Existují dva základní druhy LED pásků, „analogový“druh a „digitální“druh.

Pásky analogového typu (obr. 1) mají všechny LED zapojeny paralelně, a tak působí jako jedna obrovská tříbarevná LED; můžete nastavit celý pruh na libovolnou barvu, kterou chcete, ale nemůžete ovládat barvy jednotlivých LED. Jsou velmi snadno použitelné a poměrně levné.

Pásky digitálního typu (obr. 2) fungují jiným způsobem. Mají čip pro každou LED, aby bylo možné použít pás, musíte do čipů odeslat digitálně kódovaná data. To však znamená, že můžete každou LED ovládat individuálně! Kvůli mimořádné složitosti čipu jsou dražší.

Pokud je pro vás obtížné fyzicky identifikovat rozdíly mezi analogovými a digitálními proužky,

  1. Typ Anolog používá 4 piny, 1 společný pozitivní a 3 negativní, tj. Jeden pro každou barvu RGB.
  2. Digitální typ používá 3 piny, kladný, datový a uzemňovací.

Budu používat proužky analogového typu, protože

  1. Existuje jen velmi málo až žádné Instructables, které učí, jak vytvořit hudebně reaktivní pásmo analogového typu. Většina z nich se zaměřuje na digitální typ a je snazší je přimět reagovat na hudbu.
  2. Kolem mě leželo několik proužků analogového typu.

Krok 2: Zesílení zvukového signálu

Zesílení zvukového signálu
Zesílení zvukového signálu
Zesílení zvukového signálu
Zesílení zvukového signálu
Zesílení zvukového signálu
Zesílení zvukového signálu

Zvukový signál, který je vyslán přes zvukový konektor, je

analogový signál, který osciluje v rozmezí +200 mV a -200 mV. Nyní je problém v tom, že chceme měřit zvukový signál jedním z analogových vstupů Arduina, protože analogové vstupy Arduina mohou měřit pouze napětí mezi 0 a 5V. Pokud bychom se pokusili změřit záporná napětí ve zvukovém signálu z, Arduino by četlo pouze 0V a skončili bychom ořezáním spodní části signálu.

Abychom to vyřešili, musíme zesílit a kompenzovat zvukové signály tak, aby spadaly do rozsahu 0-5V. V ideálním případě by signál měl mít amplitudu 2,5 V, která osciluje kolem 2,5 V, takže jeho minimální napětí je 0 V a maximální napětí je 5 V.

Zesílení

Zesilovač je prvním krokem v obvodu, zvyšuje amplitudu signálu z přibližně + nebo - 200 mV na + nebo - 2,5 V (v ideálním případě). Druhou funkcí zesilovače je chránit zdroj zvuku (věc generující zvukový signál na prvním místě) před zbytkem obvodu. Odchozí zesílený signál bude ze zesilovače čerpat veškerý svůj proud, takže jakékoli zatížení, které na něj v obvodu později vložíte, nebude zdrojem zvuku (v mém případě telefonu/iPodu/notebooku) „cítit“. To provedete nastavením jednoho z operačních zesilovačů v balení TL072 nebo TL082 (obr. 2) v konfiguraci neinvertujícího zesilovače.

Datový list TL072 nebo TL082 říká, že by měl být napájen +15 a -15V, ale protože signál nebude nikdy zesílen nad + nebo -2,5V, je dobré provozovat operační zesilovač s něčím nižším. K vytvoření napájecího zdroje + nebo - 9 V jsem použil dvě devítivoltové baterie zapojené do série.

Připojte +V (pin 8) a –V (pin 4) k operačnímu zesilovači. Připojte signál z mono jacku k neinvertujícímu vstupu (pin 3) a připojte zemnící kolík jacku k referenci 0 V na vašem napájecím zdroji (pro mě to byla křižovatka mezi dvěma 9V bateriemi v sérii). Připojte vodič 100 kOhm mezi výstup (pin 1) a invertující vstup (pin 2) operačního zesilovače. V tomto obvodu jsem použil 10kOhm potenciometr zapojený jako variabilní odpor k nastavení zisku (množství, které zesilovač zesiluje) mého neinvertujícího zesilovače. Připojte tento 10K lineární kuželový hrnec mezi invertující vstup a 0V referenci.

Offset DC

Offsetový obvod DC má dvě hlavní součásti: dělič napětí a kondenzátor. Dělič napětí je vyroben ze dvou 100k odporů zapojených do série od 5V napájení Arduina k zemi. Protože odpory mají stejný odpor, napětí na spoji mezi nimi se rovná 2,5V. Toto 2,5V spojení je spojeno s výstupem zesilovače přes 10uF kondenzátor. Jak napětí na straně zesilovače kondenzátoru stoupá a klesá, způsobí, že se náboj na okamžik hromadí a odpuzuje ze strany kondenzátoru připojeného k 2,5V přechodu. To způsobí, že napětí na 2,5V křižovatce bude oscilovat nahoru a dolů, soustředěné kolem 2,5V.

Jak je znázorněno na schématu, připojte záporný vodič 10uF kondenzátoru k výstupu ze zesilovače. Připojte druhou stranu krytky ke spoji mezi dvěma 100k odpory zapojenými do série mezi 5V a zemí. Také přidejte kondenzátor 47nF z 2,5 V na zem.

Krok 3: Rozklad signálu na součet stacionárních sinusoidů - teorie

Rozklad signálu na součet stacionárních sinusoidů - teorie
Rozklad signálu na součet stacionárních sinusoidů - teorie

Zvukový signál vyslaný přes jakýkoli 3,5 mm konektor je v

rozsah 20 Hz až 20 kHz. Vzorkuje se na 44,1 kHz a každý vzorek je kódován na 16 bitů.

Abychom dekonstruovali základní elementární frekvence, které tvoří zvukový signál, použijeme na signál Fourierovu transformaci, která rozloží signál na součet stacionárních sinusoidů. Jinými slovy, Fourierova analýza převádí signál z jeho původní domény (často času nebo prostoru) na reprezentaci ve frekvenční oblasti a naopak. Ale výpočet přímo z definice je často příliš pomalý na to, aby byl praktický.

Obrázky ukazují, jak vypadá signál v časové a frekvenční oblasti.

Zde je algoritmus Fast Fourier Transform (FFT) velmi užitečný!

Podle definice, FFT tyto transformace rychle vypočítá faktorizací matice DFT na součin řídkých (většinou nulových) faktorů. Výsledkem je, že dokáže snížit složitost výpočtu DFT z O (N2), která vzniká, když jednoduše použijeme definici DFT, na O (N log N), kde N je velikost dat. Rozdíl v rychlosti může být obrovský, zvláště u dlouhých datových sad, kde N může být v tisících nebo milionech. V přítomnosti chyby zaokrouhlení je mnoho algoritmů FFT mnohem přesnější než vyhodnocování definice DFT přímo nebo nepřímo.

Jednoduše to znamená, že algoritmus FFT je rychlejší způsob výpočtu Fourierovy transformace jakéhokoli signálu. To se obecně používá na zařízeních s nízkým výpočetním výkonem.

Doporučuje: