Turinys:

Retro LED juostos garso vizualizatorius: 4 žingsniai (su paveikslėliais)
Retro LED juostos garso vizualizatorius: 4 žingsniai (su paveikslėliais)

Video: Retro LED juostos garso vizualizatorius: 4 žingsniai (su paveikslėliais)

Video: Retro LED juostos garso vizualizatorius: 4 žingsniai (su paveikslėliais)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Lapkritis
Anonim
Image
Image
Dalių sąrašas
Dalių sąrašas

Kaip muzikantas ir elektrotechnikos studentas, man patinka bet kuris projektas, kuris kerta šias dvi sritis. Mačiau keletą „pasidaryk pats“garso vizualizatorių (čia, čia, čia ir čia), tačiau kiekvienas praleido bent vieną iš dviejų sau nustatytų tikslų: profesionalios konstrukcijos kokybės ir palyginti didelio ekrano (šlykštus 8*8) LED matricos čia nepakaktų!). Šis garso vizualizatorius, turintis šiek tiek senovinio stiliaus ir sėdintis 40 x 20 colių, pasiekia abu šiuos tikslus.

Iš anksto atsiprašome už vertikalias nuotraukas. Daugelis jų buvo paimti į socialinę žiniasklaidą.

1 žingsnis: dalių sąrašas

Jau turėjau keletą šių dalių. Nuorodos yra tik nuorodos. Nepirkite be reikalo brangių komponentų.

Elektronika

  1. WS2811 60LEDS/m @ 5m, IP30 (nelaidus vandeniui), adresuojamas - tuo metu jie buvo pigesni nei WS2812. Čia turite tam tikrą veiksmų laisvę, tačiau įsitikinkite, kad matmenys yra teisingi ir ar iš tikrųjų galite kalbėti su šviesos diodais. Taip pat atkreipkite dėmesį, kad WS2811s yra 12V, o WS2812s - 5V.
  2. 9 x 3 kontaktų JST jungtys + lizdai
  3. DC 12V 20A (240W) maitinimo šaltinis-iš pradžių planavau padaryti 2 šviesos diodų juosteles ir norėjau susprogdinti garsiakalbį. Kiekviena šviesos juosta yra 90 W blogiausiu atveju (aš neišmatavau, kad patvirtinčiau), todėl man liko ~ 60W garsiakalbiams + stiprintuvui. Bet kuriuo atveju 15A variantas buvo tik 4 USD mažesnis.
  4. Maitinimo laidas (3 šakos)
  5. „Arduino Uno“- aš gulėjau R3, todėl aš jį naudojau. Galite rasti pigesnį variantą iš vieno iš „knockoffs“ar kito pardavėjo.
  6. TRRS Breakout - Aux įėjimui
  7. L7805 5V reguliatorius - veiks bet kuris 5V reguliatorius, kuris priima 12V įvestį.
  8. 330 nF, 100 nF kondensatoriai - pagal L7805 duomenų lapą
  9. 2 x 10 kR, 2 x 1 kR, 2 x 100 nF kondensatoriai - garso įvesties poslinkiui
  10. Stereo imtuvas - bet koks senovinis stereo imtuvas veiks tol, kol turės aux įvestį (3,5 mm arba RCA). Aš nusipirkau „Panasonic RA6600“iš Craigslist už 15 USD. Rekomenduoju panašaus ieškoti „Goodwill“, „Craigslist“ir kitose taupių prekių parduotuvėse.*
  11. Garsiakalbiai - ne BT garsiakalbiai. Tiesiog garsiakalbių rinkinys. Atkreipkite dėmesį į tai, kokia varža suderinama su jūsų imtuvu. „Goodwill“radau 3 20 W (= garsiai garsiakalbių) garsiakalbių rinkinį už 6 USD, o tai buvo su „centriniais“ir dviem „priekiniais“garsiakalbiais.
  12. „Logitech BT“garso adapteris - šis įrenginys gali transliuoti garsą į stereofoninius garsiakalbius ir į jūsų grandinę
  13. RCA laidas iš RCA
  14. Aux laidas

Techninė įranga

  1. 2x6 (8ft) - neapdorotas slėgiu. Turėtų būti ~ 6 USD ar mažiau „HD“ar „Lowe“
  2. 40% šviesos pralaidumo akrilas - aš užsisakiau 18 "x 24" x 1/8 ", o techniškai jis buvo 17,75" x 23,5 ". Laikykite jį įvyniojime, kai einate į pjovimą lazeriu.
  3. Medžio dėmė - jums reikia tik mažos skardinės. Aš naudojau raudoną raudonmedį „Minwax“ir jis pasirodė labai gražus. Tikrai rekomenduoju tamsų toną. Iš pradžių bandžiau provincialų ir neatrodė taip gražiai.
  4. Lakas - pirmiausia peržiūrėkite šį Steve'o Ramsey vaizdo įrašą ir nuspręskite, kas geriausiai tinka. Aš gavau pusiau blizgančią purškimo skardinę (blizgesio nebuvo) ir sąžiningai, tai nepadarė daug. Bet aš taip pat apsivilkau tik vieną sluoksnį dėl laiko apribojimų.
  5. 40 x 1/2 colio mediniai varžtai - turėjau apvalią galvutę, tačiau, jei galite, rekomenduoju naudoti plokščią viršūnę. Nemanau, kad tai pakenktų konstrukcijos kokybei, bet nedvejodami pirmiausia paklauskite visų, labiau susipažinusių su medžio apdirbimu.
  6. Medžio laužas, gorilos klijai, karšti klijai, lydmetalis, viela ir komandų juostos (velcro stiliaus, 20 vidutinių arba 10 didelių)

* Aš planuoju sukurti garso juostą, kad šis projektas būtų visiškai „nuo nulio“, kuris pakeis 9–13 aukščiau. Tikiuosi, kad šią pamoką atnaujinsiu vasaros pabaigoje.

2 žingsnis: prototipų kūrimas

Prototipų kūrimas
Prototipų kūrimas

Šis skyrius nėra tas, kurį turite užpildyti, tačiau noriu parodyti, kaip atrodė projektas.

Čia aš užklijavau gyvatės modelio šviesos diodus ir eksperimentavau su šviesos sklaida per šiukšlių maišą, sluoksniuotą ant viršaus (aš labai rekomenduoju tai kaip alternatyvą akrilui, jei bandote sumažinti išlaidas. Nors turėsite pritvirtinkite kitaip).

Man padėjo 10x10 sąranka, bet galbūt norėsite 8x12 arba 7x14. Nesivaržykite eksperimentuoti. Prieš turėdamas stereofoninį aparatą, radau stiprintuvą ir prijungiau jį prie savo lentos, o prieš tai grojau garsą iš savo nešiojamojo kompiuterio į grandinę garso analizei ir tuo pačiu metu paspaudžiau „play“savo telefone, kad jį išgirsčiau.

Aš labai tikiu, kad matuoju du kartus, vieną kartą nukirpau. Taigi, kad ir ką darytumėte, vadovaukitės šiuo vadovu ir būsite pasiruošę.

3 žingsnis: grandinė + kodas

Grandinė + kodas
Grandinė + kodas
Grandinė + kodas
Grandinė + kodas
Grandinė + kodas
Grandinė + kodas

Kodą galima rasti „GitHub“.

Duonos lenta, lydmetalis prie perforatoriaus arba suprojektuokite savo PCB. Viskas, kas jums čia labiausiai tinka, darykite. Mano demonstracinė versija veikia ant duonos lentos, bet kai sukursiu garso juostą, viską perkelsiu į PCB. Norėdami gauti maitinimą iš adapterio, nukirpkite jo galą ir nuimkite juodą izoliaciją. Pašalinkite pakankamai kabelių, kad prisuktumėte prie adapterio gnybtų. Visada būkite atsargūs dirbdami su AC! Išskyrus tai, čia reikia atkreipti dėmesį tik į keletą dalykų.

  1. Kitas dalykas yra įsitikinti, kad jūsų žemės takai yra geri. Jums reikia įžeminimo nuo adapterio iki „Arduino“iki aux įvesties, kuri taip pat bus prijungta prie „Logitech BT“imtuvo žemės ir iš čia stereo. Jei kuris nors iš jų yra nutrūkęs arba blogas ryšys, gausite labai triukšmingą garso įvestį, taigi ir labai triukšmingą ekraną.
  2. Garso įvesties poslinkis Garsas, leidžiamas naudojant papildomą laidą, iš jūsų telefono ar nešiojamojo kompiuterio ar bet kur, bus leidžiamas esant -2,2–2,2 V. „Arduino“gali nuskaityti tik nuo 0 iki +5 V, todėl turite pakreipti garso įvestį. Tai galima padaryti efektyviai naudojant stiprintuvus, tačiau jei energijos suvartojimas nėra problema (galbūt nusipirkote 240 W maitinimo šaltinį?), Tai taip pat galima padaryti naudojant rezistorius ir kondensatorius. Pasirinktos vertės buvo kitokios, nes po ranka neturėjau 10uF kondensatorių. Galite žaisti su simuliatoriumi, kad pamatytumėte, ar tai, ką pasirinksite, veiks.
  3. Bet kuriame projekte, kuriame naudojamos Furjė transformacijos, bus pateiktas fono skyrius, kuriame jie bus aptariami. Jei jau turite patirties, puiku! Jei ne, viskas, ką jums reikia suprasti, yra tai, kad jie fotografuoja signalą ir pateikia informaciją apie tai, kokie dažniai tame signale tuo metu yra. Taigi, jei paimtumėte Furjė nuodėmės transformaciją (440 (2*pi*t)), tai jums pasakytų, kad jūsų signale yra 440 Hz dažnis. Jei paimtumėte Furjė transformaciją 7*sin (440 (2*pi*t)) + 5*sin (2000 (2*pi*t)), tai jums pasakytų, kad yra ir 440 Hz, ir 2000 Hz signalas, ir santykiniai laipsniai, kuriais jie yra. Tai galima padaryti bet kokiam signalui, turinčiam daugybę komponentų funkcijų. Kadangi visas garsas kada nors yra tik sinusoidų suma, galime atlikti daugybės momentinių nuotraukų Furjė transformaciją ir pamatyti, kas iš tikrųjų vyksta. Kode pamatysite, kad prieš imdami Furjė, mes taip pat taikome langą savo signalui transformuoti. Daugiau apie tai galite rasti čia, tačiau trumpas paaiškinimas yra tas, kad signalas, kurį mes iš tikrųjų duodame transformacijai, yra šiek tiek niūrus, o langai tai mums pataiso. Jūsų kodas nesulaužys, jei jų nenaudosite, tačiau ekranas neatrodys toks švarus. Gali būti geresnių algoritmų (pvz., YAAPT), tačiau vadovaudamasi KISS principais, nusprendžiau naudoti jau buvo prieinama, tai yra kelios gerai parašytos „Arduino“bibliotekos, skirtos greitajam Furjė transformacijai arba FFT.
  4. Ar „Arduino“tikrai gali viską apdoroti realiuoju laiku? Kad viskas būtų rodoma realiuoju laiku, „Arduino“turi paimti 128 pavyzdžius, apdoroti tą FFT, manipuliuoti ekrano reikšmėmis ir labai greitai atnaujinti ekraną. Jei norėjote 1/16 natos tikslumo esant 150 smūgių per minutę (artimas daugumos pop dainų viršutiniam tempui), turėsite viską apdoroti per 100 ms. Be to, žmogaus akis gali matyti 30 kadrų per sekundę greičiu, o tai atitinka 30 ms kadro ilgį. Šis tinklaraščio įrašas man nesuteikė didžiausio pasitikėjimo, tačiau nusprendžiau pats įsitikinti, ar „Arduino“išsilaikys. Po savo palyginimo aš labai didžiavausi savo R3. Skaičiavimo etapas buvo pats ribojantis veiksnys, tačiau aš sugebėjau apdoroti 128 ilgio UINT16s FFT tik 70 ms. Tai buvo neviršijant garso tolerancijos, tačiau daugiau nei dvigubai didesnis vizualinis apribojimas. Tolesniuose tyrimuose radau „Arduino FHT“, kuri naudojasi FFT simetrija ir tik apskaičiuoja tik tikrąsias vertes. Kitaip tariant, tai yra maždaug 2 kartus greičiau. Ir tikrai, tai sumažino visą ciklo greitį iki ~ 30 ms. Dar viena pastaba apie ekrano skiriamąją gebą. Ilgis N FFT, paimtas esant Fs Hz, grąžina N dėžes, kur k -oji aibė atitinka k * Fs/N Hz. „Arduino ADC“, kuris skaito garso įvestį ir ima mėginius, paprastai veikia ~ 9,6 kHz dažniu. Tačiau FFT gali pateikti tik informaciją apie dažnį iki 1/2 * F. Žmonės gali girdėti iki 20 kHz, todėl idealiu atveju norėtume atrinkti> 40 kHz dažnius. Į ADC galima nulaužti, kad jis veiktų šiek tiek greičiau, bet niekur netoli. Geriausias rezultatas, kurį mačiau neprarasdamas stabilumo, buvo 14 kHz ADC. Be to, didžiausias FFT, kurį galėjau apdoroti, kad būtų pasiektas realaus laiko efektas, buvo N = 128. Tai reiškia, kad kiekviena šiukšliadėžė yra ~ 109 Hz, o tai yra gerai esant aukštesniems dažniams, bet blogai žemame gale. Geras vizualizatorius stengiasi kiekvienai juostelei rezervuoti oktavą, kuri atitinka [16.35, 32.70, 65.41, 130.81, 261.63, 523.25, 1046.50, 2093.00, 4186.01] Hz skiriamąją gebą. 109 Hz reiškia, kad pirmosios 2,5 oktavos yra vienoje dėžėje. Aš vis tiek sugebėjau gauti gerą vizualinį efektą, iš dalies paėmęs kiekvieno kibiro vidurkį, kai kibiras yra šiukšlių dėžių grupė tarp dviejų šių ribų. Tikiuosi, kad tai nėra painu, o pats kodas turėtų paaiškinti, kas iš tikrųjų vyksta, tačiau nedvejodami paklauskite žemiau, jei tai nėra prasminga.

4 žingsnis: Surinkimas

Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas

Kaip minėjau anksčiau, norėjau kažko su profesionalia konstrukcijos kokybe. Iš pradžių aš pradėjau klijuoti medieną, bet draugas (ir kvalifikuotas mechanikas) pasiūlė kitokį požiūrį. Atkreipkite dėmesį, kad 2x6 iš tikrųjų yra 1,5 "x 5". Ir būkite atsargūs dirbdami su bet kuria iš žemiau nurodytų mašinų.

  1. Paimkite 2x6x8 ir smėlio, jei reikia. Supjaustykite jį į 2 "x 6" x 22 "skyrius. Tai suteiks jums dvi lentas, kurias" sudeginsite ", jei susipainiosite.
  2. Paimkite kiekvieną 22 colių pjūvį ir perbraukite jį per stalo pjūklą, kad gautumėte 1,5 "x ~ 1,6" x 22 "skersinius. Paskutinį trečdalį gali būti sunku nupjauti ant stalo pjūklo, todėl galite pereiti prie juostinio pjūklo. Tiesiog įsitikinkite, kad viskas yra kuo tiesesnė. Be to, 1,6 colio yra vadovas ir gali siekti 1,75 colio. Tokie buvo mano kūriniai, bet kol jie visi yra lygūs vienas kitam, tai neturi didelės reikšmės. Ribojantis veiksnys yra 18 colių akrilas.
  3. Ant dalių pabaigos pažymėkite U formą, kuri yra 1/8 colio iš abiejų pusių ir šiek tiek daugiau nei 3/4 colio gylio. PASTABA: Jei naudojate kitą akrilą, gylis pasikeis. Esant <3/4 ", mano akrilas visai neišsklaido šviesos. Dar daugiau, jis visiškai išsklaido. Norite išvengti bet kokio„ beadiness ". Radau šį„ Hackaday “įrašą kaip gerą nuorodą, tačiau tobula sklaida yra labai sunku!
  4. Naudodami stalinį maršrutizatorių, iškirpkite tą vidurį U iki galo. 22 colių yra ilgesnis, nei jums reikia, todėl nesijaudinkite, kad gali nuskilti galai. Maršrutizatoriai gali būti sudėtingi, tačiau gaukite šiek tiek daugiau nei pusę U pločio ir atsargiai pjaukite daugiau nei 1/ 8 "medžiagos vienu metu. Pakartokite: nebandykite to padaryti per 2 žingsnius. Jūs sugadinsite medieną ir greičiausiai susižeisite. Dirbkite su maršrutizatoriaus sukimu 1-4 pjūviuose ir prieš 5-8. Tai užtikrina geriausią maršrutizatoriaus sukimo momento valdymą.
  5. Iškirpkite šviesos diodų juostą į 30 LED sekcijų (adresuojamas tik kiekvienas 3 šviesos diodų rinkinys). Tikriausiai turėsite išardyti keletą jungčių. Padėkite tas juosteles išilgai takelių. Viena pusė turėtų sėdėti lygiagrečiai, o kita - šiek tiek vietos JST stalui, kuris sėdės lygiai. Deja, aš neturėjau šios nuotraukos, bet žiūrėkite pridedamą schemą. Čia pažymėkite ilgį, bet dar nieko nenupjaukite.
  6. Išmatuokite kiekvienos plokštės plotį. Atsižvelgiant į tai ir ilgį nuo 7 žingsnio, lazeriu akrilą supjaustykite į 10 būtinų stačiakampių. Geriau būti šiek tiek ilgas nei šiek tiek trumpas. Jei jis sudegė, nuvalykite jį izopropilu.
  7. Įsitikinkite, kad kiekviena akrilo plokštė yra tokio paties ilgio, kokį pažymėjote atlikdami 5 veiksmą, tada nukirpkite lentą iki tokio ilgio.
  8. Dabar akrilui pritvirtinti reikia dviejų tilto dalių. Tai leidžia lengvai prižiūrėti šviesos juostas, jei kas nors atsitiktų. Šie gabalai turėtų būti maždaug [jūsų pločio] - 2 * 1/8 colio ilgio ir 1/2 colio kvadrato formos, tačiau jie turėtų būti šiek tiek tvirti. Šias dalis tvirtai pritvirtindami ir prigludusios prie priekinio juostos paviršiaus, išgręžkite skyles per kiekvieno tilto centrą iš išorinių skersinių. Padarykite viską, kad kiekvienas grąžtas būtų lygus. Nelaikykite tiltų įsuktų, bet įsitikinkite, kad jie gali būti. Būkite atsargūs ir nenusukite varžto per toli ir neskaldykite medienos.
  9. Šiuo metu nudažykite lentjuostes ir padenkite bet kokią apdailą.
  10. Dabar užsukite tiltus. Įsitikinkite, kad jie sėdi lygiai! Jei ne, turėsite pridėti tam tikrą tarpiklį. Ant tiltų užtepkite gorilos klijų (pageidautina) arba karštų klijų (kurie gali padvigubėti kaip tarpiklis) ir pritvirtinkite akrilą. Netepkite jokių klijų išilgai pačios plokštės.
  11. Lituokite JST talpyklas į vieną pusę, išskyrus vieną LED juostą. Įdėkite juos į tą patį galą, kaip nurodyta pažymėtomis rodyklėmis. Lituokite JST kištukų laidus ant kitų galų. Gali tekti nuimti daugiau laidų iš kiekvienos jungties. Įsitikinkite, kad prijungus jungtys bus teisingos! Klijai šviesos diodų gale yra siaubingi, todėl nepasitikėkite jais. Padėkite šviesos diodus žemyn centriniu takeliu ir priklijuokite juos gorilos klijais, atkreipdami dėmesį į nurodytą juostelių kryptį. Atminkite, kad jūs gyvatės visa tai.
  12. Ant pirmosios plokštės lituokite pakankamai ilgus laidus, kad gautumėte maitinimą + įžeminimą iš adapterio ir signalą iš „Arduino“.
  13. Prisukite lentjuostes ir tiltus atgal. Pritvirtinkite komandų juostas prie nugaros (velcro stiliaus, 2 vidutinės viršuje ir apačioje arba 1 didelė centre). Užmegzkite visus būtinus ryšius ir pakabinkite ant sienos ~ 3 colių atstumu. Mėgaukitės savo darbo vaisiais.

Rekomenduojamas: