Obsah:

Retro LED Strip Audio Visualizer: 4 kroky (s obrázkami)
Retro LED Strip Audio Visualizer: 4 kroky (s obrázkami)

Video: Retro LED Strip Audio Visualizer: 4 kroky (s obrázkami)

Video: Retro LED Strip Audio Visualizer: 4 kroky (s obrázkami)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, December
Anonim
Image
Image
Zoznam položiek
Zoznam položiek

Ako študent hudobníka a elektrotechniky milujem každý projekt, ktorý pretína tieto dve oblasti. Videl som niekoľko zvukových vizualizérov pre domácich majstrov (tu, tu, tu a tu), ale každý z nich minul aspoň jeden z dvoch cieľov, ktoré som si stanovil: profesionálna kvalita zostavenia a relatívne veľký displej (slabý 8*8 Tu by matica LED nestačila!). Tento zvukový vizualizér s trochou vintage vkusu a rozmermi 40 x 20 palcov dosahuje oba tieto ciele.

Vopred sa ospravedlňujeme za vertikálne fotografie. Mnoho z nich bolo použitých na sociálne siete.

Krok 1: Zoznam dielov

Mal som už ležať niekoľko týchto častí. Odkazy slúžia len na referenciu. Nekupujte, prosím, zbytočne drahé súčiastky.

Elektronika

  1. WS2811 60 LED/m @ 5 m, IP30 (nevodotesné), adresovateľné - tieto boli v tom čase lacnejšie ako WS2812. Máte tu určitý priestor, ale uistite sa, že sú rozmery správne a že sa môžete skutočne rozprávať s diódami LED. Upozorňujeme, že WS2811 sú 12 V, zatiaľ čo WS2812 sú 5 V.
  2. 9 x 3-pinové konektory JST + zásuvky
  3. Napájanie DC 12V 20A (240W)-Pôvodne som plánoval urobiť 2 pásy LED a chcel som reproduktorovú zostavu, ktorá sa vám bude hodiť do domu. Každý svetelný pás má v najhoršom prípade 90 W (nemeral som to, aby som to potvrdil), čo mi ponechalo ~ 60 W pre reproduktory + zosilňovač. Možnosť 15A bola aj tak iba o 4 doláre nižšia.
  4. Napájací kábel (3 hroty)
  5. Arduino Uno - Mal som ležať R3, takže som to použil. Lacnejšiu možnosť môžete nájsť u jedného z knockoffov alebo u iného predajcu.
  6. TRRS Breakout - pre pomocný vstup
  7. L7805 5V regulátor - akýkoľvek 5V regulátor, ktorý akceptuje vstup 12 V, bude fungovať.
  8. 330 nF, 100 nF kondenzátory - podľa údajového listu L7805
  9. 2 x 10kR, 2 x 1kR, 2 x 100 nF kondenzátory - na predpätie zvukového vstupu
  10. Stereo prijímač - akýkoľvek vintage stereo prijímač bude fungovať, pokiaľ má vstup aux (3,5 mm alebo RCA). Zobral som Panasonic RA6600 z craigslistu za 15 dolárov. Odporúčame skontrolovať podobné obchody Goodwill, Craigslist a ďalšie obchody so šetrnosťou.*
  11. Reproduktory - nie reproduktory BT. Len sada reproduktorov. Dávajte pozor na to, aká impedancia je kompatibilná s vašim prijímačom. V Goodwille som našiel sadu troch 20W (= hlasitých) reproduktorov za 6 dolárov, a to spolu so „stredovým“a dvoma „prednými“reproduktormi.
  12. Logitech BT Audio Adapter - toto zariadenie môže prenášať zvuk do stereofónnych reproduktorov a do vášho obvodu
  13. Kábel RCA samec na RCA samec
  14. Pomocná šnúra

Hardvér

  1. 2x6 (8 stôp) - Nie je ošetrovaný tlakom. V HD alebo Lowe by malo byť ~ 6 dolárov alebo menej
  2. 40% akryl s prenosom svetla - objednal som si 18 palcov x 24 palcov x 1/8 palcov a technicky to bolo 17,75 palcov x 23,5 palcov. Uchovávajte ho v obale, keď pôjdete na laserové rezanie.
  3. Moridlo na drevo - Potrebujete iba malú plechovku. Použil som červený mahagón Minwax a vyšlo to veľmi pekne. Rozhodne odporúčam tmavý tón. Pôvodne som vyskúšal provinčné a nevyzeralo to tak pekne.
  4. Lak - najskôr si pozrite toto video od Steva Ramseyho a sami sa rozhodnite, čo funguje najlepšie. Dostal som rozprašovač s pololeskom (lesk nebol k dispozícii) a úprimne povedané, veľa to neurobilo. Ale tiež som z časových dôvodov urobil iba jeden náter.
  5. Skrutky do dreva 40 x 1/2 " - mal som k dispozícii okrúhlu hlavu, ale ak je to možné, odporúčam použiť plochý vrch. Nemyslím si, že by to narušilo kvalitu stavby, ale pokojne sa najskôr opýtajte kohokoľvek, kto má bližšie znalosti z oblasti spracovania dreva.
  6. Zošrotujte drevo, gorilské lepidlo, horúce lepidlo, spájku, drôt a príkazové prúžky (na suchý zips, 20 stredných alebo 10 veľkých)

* Mám v pláne postaviť zvukový panel, aby bol tento projekt úplne „od nuly“, ktorý nahradí 9-13 vyššie. Dúfam, že do konca leta aktualizujem tento návod na použitie.

Krok 2: Prototypovanie

Prototypovanie
Prototypovanie

Túto časť nie je potrebné dokončiť, ale chcem ukázať, ako projekt vyzeral.

Tu som zalepil LED diódy v hadom vzore a experimentoval som s difúziou svetla cez odpadkový vak vrstvený cez seba (dôrazne to odporúčam ako alternatívu k akrylu, ak sa pokúšate znížiť náklady. Aj keď budete musieť pripevnite ho iným spôsobom).

Mne fungovalo nastavenie 10x10, ale môžete uprednostniť 8x12 alebo 7x14. Neváhajte experimentovať. Predtým, ako som mal stereo, našiel som zosilňovač, zapojil som ho do dosky a predtým som prehral zvuk z prenosného počítača do obvodu na zvukovú analýzu a súčasne v telefóne počul, kým ho počujem.

Som obrovský vyznávač dvakrát meraných, raz rezaných. Nech už robíte čokoľvek, postupujte podľa tohto sprievodcu a budete pripravení.

Krok 3: Obvod + kód

Obvod + kód
Obvod + kód
Obvod + kód
Obvod + kód
Obvod + kód
Obvod + kód

Kód je k dispozícii na GitHub.

Breadboard, spájka na perfboard alebo si navrhnite vlastnú DPS. Čokoľvek vám tu vyhovuje, urobte to. Moje demo tu beží na doske, ale keď postavím soundbar, prenesiem všetko na DPS. Ak chcete získať napájanie z adaptéra, odrežte ženský koniec a odstráňte čiernu izoláciu. Odizolujte dostatok skutočných káblov, aby ste ich mohli priskrutkovať ku svorkám adaptéra. Pri práci s AC buďte vždy opatrní! Okrem toho tu treba poznamenať niekoľko vecí.

  1. Pozemné cesty Jednou z ďalších vecí je zabezpečiť, aby boli vaše pozemné cesty dobré. Potrebujete uzemnenie z adaptéra na Arduino na vstup aux, ktorý sa tiež spojí so zemou na prijímači Logitech BT a odtiaľ zem na stereu. Ak je niektorý z nich prerušený alebo zlý, získate veľmi hlučný zvukový vstup, a teda aj veľmi hlučný displej.
  2. Ovplyvnenie zvukového vstupu: Zvuk prehrávaný cez pomocný kábel, z telefónu alebo prenosného počítača alebo kdekoľvek, bude hrať pri -2,2 až +2,2 V. Arduino dokáže čítať iba 0 až +5 V, takže musíte nastaviť zvukový vstup. To sa dá efektívne dosiahnuť pomocou operačných zosilňovačov, ale ak nie je problémom spotreba energie (možno ste si kúpili napájací zdroj 240 W?), Dá sa to dosiahnuť aj odpormi a kondenzátormi. Hodnoty, ktoré som vybral, boli rôzne, pretože som nemal po ruke žiadne 10uF kondenzátory. Môžete sa hrať so simulátorom a zistiť, či to, čo si vyberiete, bude fungovať.
  3. Fourierove transformácie Každý projekt, ktorý používa Fourierove transformácie, bude mať časť o pozadí, ktorá o nich bude diskutovať. Ak už máte skúsenosti, skvelé! Ak nie, všetko, čo musíte pochopiť, je, že urobia snímku signálu a vrátia informácie o tom, aké frekvencie sú v danom čase v danom signáli prítomné. Ak by ste teda vzali Fourierovu transformáciu hriechu (440 (2*pi*t)), povedalo by vám to, že váš signál má frekvenciu 440 Hz. Ak by ste vzali Fourierovu transformáciu 7*sin (440 (2*pi*t)) + 5*sin (2000 (2*pi*t)), povedalo by vám to, že je prítomný signál 440 Hz aj 2000 Hz, a relatívne stupne, v ktorých sú prítomné. Môže to urobiť pre akýkoľvek signál s ľubovoľným počtom komponentných funkcií. Pretože všetok zvuk je len súčtom sínusoidov, môžeme vziať Fourierovu transformáciu niekoľkých snímok a zistiť, čo sa skutočne deje. V kóde uvidíte, že na Fourierov signál použijeme aj okno. transformovať. Viac o tom nájdete tu, ale krátke vysvetlenie je, že signál, ktorý v skutočnosti dáva transformácii, je nanič a okná to za nás vyriešia. Ak ich nepoužívate, váš kód sa nezlomí, ale displej nebude vyzerať tak čisto. Môžu byť k dispozícii lepšie algoritmy (napríklad YAAPT), ale podľa zásad KISS som sa rozhodol použiť to, čo už bolo k dispozícii, čo je niekoľko dobre napísaných knižníc Arduino pre Fast Fourierovu transformáciu alebo FFT.
  4. Dokáže Arduino skutočne spracovať všetko v reálnom čase? Aby sa všetko zobrazilo v reálnom čase, Arduino potrebuje zachytiť 128 vzoriek, spracovať FFT, manipulovať s hodnotami displeja a veľmi rýchlo aktualizovať displej. Ak by ste chceli presnosť 1/16 noty pri 150 úderoch za minútu (blízko tempa väčšiny popových piesní), museli by ste všetko spracovať za 100 ms. Ľudské oko navyše vidí pri 30 FPS, čo zodpovedá dĺžke rámca 30 ms. Tento blogový príspevok mi nedal najväčšiu dôveru, ale rozhodol som sa sám vidieť, či Arduino vydrží. Po vlastnom benchmarku som bol na svoju R3 veľmi hrdý. Fáza výpočtu bola zďaleka limitujúcim faktorom, ale dokázal som spracovať 128 dĺžkový FFT UINT16 za iba 70 ms. To bolo v medziach zvukových tolerancií, ale viac ako dvojnásobné voči vizuálnym obmedzeniam. Pri ďalšom skúmaní som našiel Arduino FHT, ktorý využíva výhody symetrie FFT a vypočítava iba skutočné hodnoty. Inými slovami, je to asi 2x rýchlejšie. A určite to prinieslo celú rýchlosť slučky na ~ 30 ms. Ešte jedna poznámka k rozlíšeniu displeja. Dĺžka N FFT vzorkovaná pri Fs Hz vracia N zásobníkov, kde kth bin zodpovedá k * Fs/N Hz. Arduino ADC, ktoré číta zvukový vstup a odoberá vzorky, bežne beží na frekvencii ~ 9,6 kHz. FFT však môže vrátiť iba informácie o frekvenciách do 1/2 * Fs. Ľudia môžu počuť až 20 kHz, takže v ideálnom prípade by sme chceli vzorkovať pri frekvencii> 40 kHz. ADC je možné hacknúť, aby bežal o niečo rýchlejšie, ale nikde inde. Najlepší výsledok, ktorý som videl bez straty stability, bol pri 14 kHz ADC. Navyše najväčší FFT, ktorý som mohol spracovať, aby som stále dosiahol efekt v reálnom čase, bol N = 128. To znamená, že každý kôš predstavuje ~ 109 Hz, čo je pri vyšších frekvenciách v poriadku, ale v dolných koncoch je to zlé. Dobrý vizualizér sa snaží vyhradiť oktávu pre každý takt, čo zodpovedá separáciám pri [16,35, 32,70, 65,41, 130,81, 261,63, 523,25, 1046,50, 2093,00, 4186,01] Hz. 109 Hz znamená, že prvých 2,5 oktávy je v jednom zásobníku. Stále som bol schopný dosiahnuť dobrý vizuálny efekt, čiastočne tým, že som zobral priemer každého vedra, kde vedro je skupina zásobníkov medzi dvoma z týchto hraníc. Dúfam, že to nie je mätúce a samotný kód by mal objasniť, čo sa skutočne deje, ale pokojne sa opýtajte nižšie, či to nedáva zmysel.

Krok 4: Zostavenie

zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie

Ako som už uviedol, chcel som niečo s profesionálnou kvalitou zostavenia. Pôvodne som začal lepiť lamely k sebe, ale priateľ (a zručný strojný inžinier) mi navrhol iný prístup. Všimnite si toho, že 2x6 je skutočne 1,5 "x 5". A buďte opatrní pri práci s ktorýmkoľvek z nižšie uvedených strojov.

  1. Vezmite si 2x6x8 a v prípade potreby piesok. Nakrájajte ho na časti s rozmermi 2 palcov x 6 palcov x 22 palcov. To vám poskytne dve lamely, ktoré sa môžu „popáliť“, ak sa pokazíte.
  2. Vezmite každú 22 -palcovú časť a nechajte ju prejsť pozdĺž stolovej píly, aby ste vytvorili lamely s rozmermi 1,5 palca x 1,6 palca x 22 palcov. Poslednú tretinu môže byť ťažké rezať na stolovej píle, takže môžete prejsť na pásovú pílu. Uistite sa, že je všetko tak priame, ako môže byť. 1,6 "je navyše sprievodcom a môže dosiahnuť až 1,75". Také boli moje kúsky, ale pokiaľ sú si všetky navzájom podobné, príliš to nevadí. Limitujúcim faktorom je akryl s uhlopriečkou 18 ".
  3. Na konci kúskov označte tvar U, ktorý je na jednej strane 1/8 palca a je o niečo viac ako 3/4 palca hlboký. POZNÁMKA: Ak použijete iný akryl, hĺbka sa zmení. Pri <3/4 "môj akryl vôbec nerozptyľuje svetlo. Pri troche viac úplne rozptýli. Chcete sa vyhnúť akejkoľvek„ korálkovosti “. Tento príspevok z Hackadayu považujem za dobrú referenciu, ale dosiahnuť dokonalú difúziu je veľmi ťažké!
  4. Stolným routerom vystrihnite tento stredný U až po lamelu. 22 "je dlhší, ako potrebujete, takže si nemusíte robiť starosti s odštiepením koncov. Routery môžu byť náročné, ale zaobstarajte si kúsok, ktorý je o niečo širší ako polovica šírky U a dávajte pozor, aby ste rezali viac ako 1/ 8 palcov materiálu naraz. Opakujte: Nepokúšajte sa urobiť všetko na 2 priechody. Poškodíte drevo a pravdepodobne si ublížite. Pracujte s otáčaním routera na rezoch 1-4 a pracujte proti nemu na 5-8. To zaisťuje, že máte maximálnu kontrolu nad krútiacim momentom smerovača.
  5. Rozrežte LED pás na 30-LED sekcie (adresovateľná je iba každá sada 3 LED). Pravdepodobne budete musieť odpojiť niekoľko pripojení. Položte tieto pásy pozdĺž koľají. Jedna strana by mala sedieť v jednej rovine a druhá by mala mať malý priestor pre recepciu JST, ktorá bude sedieť v jednej rovine. Bohužiaľ som si to neodfotil, ale pozrite si priložený diagram. Tu si poznačte dĺžku, ale zatiaľ nič nerežte.
  6. Zmerajte šírku každej lamely. S týmto a dĺžkou od kroku 7 laser vyrežte akryl na 10 potrebných obdĺžnikov. Je lepšie byť mierne dlhý ako mierne krátky. Ak sa spáli, utrite ho izopropylom.
  7. Potvrďte, že každá akrylová lišta sedí na rovnakej dĺžke, akú ste označili v kroku 5, a potom lištu odrežte až na túto dĺžku.
  8. Teraz potrebujete dva kusy mostíka na pripevnenie akrylu. To umožňuje jednoduchú údržbu svetelných pásov, ak by k niečomu došlo. Tieto kúsky by mali byť zhruba [vaša šírka] - 2 x 1/8 palca dlhé s 1/2 palcovými štvorcovými plochami, ale mali by trochu priliehať. Keď sú tieto kusy pevne na svojom mieste a sú v jednej rovine s prednou stranou lamiel, vyvŕtajte otvory v strede každého mosta z vonkajších strán lamiel. Urobte maximum, aby bola každá vŕtačka rovnomerná. Nenechávajte mosty zaskrutkované, ale uistite sa, že môžu byť. Dávajte pozor, aby ste skrutku nezrazili príliš dole a nerozštiepili drevo.
  9. V tomto mieste zafarbite lamely a naneste akúkoľvek povrchovú úpravu.
  10. Teraz zaskrutkujte mosty. Uistite sa, že sedia v jednej rovine! Ak nie, budete musieť pridať nejaký druh podložky. Na mostíky naneste gorilské lepidlo (uprednostňuje sa) alebo horúce lepidlo (ktoré sa môže zdvojnásobiť) a pripevnite akryl. Na samotnú lištu neaplikujte žiadne lepidlo.
  11. Spájkujte zásuvky JST na jednu stranu všetkých okrem jedného pásu LED. Umiestnite ich všetky na rovnaký koniec, ako je dané vyznačenými šípkami. Na ostatné konce spájkujte vodiče zástrčiek JST. Na každom konektore bude možno potrebné odizolovať viac drôtov. Po zapojení skontrolujte, či sú pripojenia správne! Lepidlo na zadnej strane diód LED je hrozné, preto mu neverte. Položte LED diódy na stredovú koľaj a prilepte ich gorilím lepidlom, pričom dávajte pozor na vyznačený smer na pásoch. Pamätajte si, že to celé hadíte.
  12. Na prvú lištu spájkujte dostatočne dlhé drôty, aby ste získali napájanie + uzemnenie z adaptéra a signál z Arduina.
  13. Zaskrutkujte lamely a mostíky späť dole. Na zadnú stranu pripevnite príkazové prúžky (štýl na suchý zips, 2 stredné hore a dole alebo 1 veľký v strede). Vykonajte všetky potrebné pripojenia a zaveste na stenu s rozostupom ~ 3 ". Užite si ovocie svojej práce.

Odporúča: