Obsah:
- Zásoby
- Krok 1: Pochopení typů RGB LED pásků
- Krok 2: Zesílení zvukového signálu
- Krok 3: Rozklad signálu na součet stacionárních sinusoidů - teorie
Video: Neadresovatelný zvukový vizualizér RGB LED pásku: 6 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:19
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ů
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,
- Typ Anolog používá 4 piny, 1 společný pozitivní a 3 negativní, tj. Jeden pro každou barvu RGB.
- Digitální typ používá 3 piny, kladný, datový a uzemňovací.
Budu používat proužky analogového typu, protože
- 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.
- Kolem mě leželo několik proužků analogového typu.
Krok 2: 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
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:
RGB podsvícení + zvukový vizualizér: 4 kroky (s obrázky)
RGB podsvícení + vizualizér zvuku: Vítejte v mých instrukcích o tom, jak vytvořit RGB LED podsvícení např. zadní strana vašeho televizoru nebo stolu. Samotné schéma je velmi jednoduché, protože LED pásky WS2812 lze velmi snadno propojit například s Arduino Nano. Poznámka: že u nás nemusíte
Obvod blinkru LED pásku pomocí 12V relé: 7 kroků (s obrázky)
Obvod blinkru s LED páskem pomocí 12V relé: Dobrý den, příteli, dnes vytvořím obvod blinkru s LED páskem pomocí 12V relé a kondenzátorů. Začněme
Jak vytvořit úžasné efekty Obvod RGB LED pásků: 6 kroků (s obrázky)
Jak vytvořit úžasné efekty Obvod RGB LED Strip: Ahoj, příteli, dnes budu vyrábět obvod, který bude ovládat LED Strip. Tento obvod poskytne úžasné efekty LED Strip. Tento obvod je velmi snadný a levný. Potřebujeme pouze 3 RGB LED. Začněme
Zvukový vizualizér: 8 kroků (s obrázky)
Sound Visualizer: Tento projekt vznikl po zhlédnutí tohoto videa youtuberem, který popsal způsob vizualizace zvuku pomocí laseru. Funguje to tak, že vezmete reproduktor, natáhnete na něj balón a vycentrujete na balón zrcadlový fragment. Zvuk je přehráván prostřednictvím
Jak vytvořit frekvenční zvukový vizualizér pro kostým (projekt Arduino): 8 kroků (s obrázky)
Jak vyrobit frekvenční zvukový vizualizér pro kostým (projekt Arduino): V tomto Instuctable poskytnu tipy, plány a kódy k vytvoření vzrušujícího zvukového vizualizátoru zabudovaného do pěnového obleku ze skelných vláken. Po cestě budu sdílet užitečné kroky a další kódy, které někteří chtějí implementovat knihovny arduino FFT do