Cuprins:

Vizualizator audio cu bandă retro LED: 4 pași (cu imagini)
Vizualizator audio cu bandă retro LED: 4 pași (cu imagini)

Video: Vizualizator audio cu bandă retro LED: 4 pași (cu imagini)

Video: Vizualizator audio cu bandă retro LED: 4 pași (cu imagini)
Video: Lucrez la Muzeul Privat pentru Bogați și Faimoși. Povesti de groaza. Groază. 2024, Iulie
Anonim
Image
Image
Lista de componente
Lista de componente

În calitate de muzician și student la inginerie electrică, îmi place orice proiect care intersectează aceste două domenii. Am văzut câteva vizualizatoare audio DIY (aici, aici, aici și aici), dar fiecare a ratat cel puțin unul dintre cele două obiective pe care mi le-am stabilit: o calitate profesională a construcției și un afișaj relativ mare (un 8 * 8 wimpy Matricea LED nu ar fi suficientă aici!). Cu un anumit stil vintage și așezat la 40 "x 20", acest vizualizator audio atinge ambele obiective.

Scuze în avans pentru fotografiile verticale. Mulți dintre ei au fost luați pentru social media.

Pasul 1: Lista pieselor

Aveam deja mai multe dintre aceste părți. Link-urile sunt doar pentru referință. Vă rugăm să nu cumpărați componente scumpe inutil.

Electronică

  1. WS2811 60LEDS / m @ 5m, IP30 (Non-Waterproof), Adresabil - Acestea erau mai ieftine decât WS2812 la acea vreme. Aveți o marjă de manevră aici, dar asigurați-vă că dimensiunile sunt corecte și că puteți vorbi cu LED-urile. De asemenea, rețineți că WS2811s sunt de 12V, în timp ce WS2812s sunt de 5V.
  2. 9 conectoare JST cu 3 pini + prize
  3. Sursă de alimentare DC 12V 20A (240W) - Am planificat inițial să fac 2 benzi cu LED-uri și am vrut un set de difuzoare care aruncau-ți casa. Fiecare bandă de lumină are 90W în cel mai rău caz (nu am măsurat pentru confirmare), ceea ce mi-a lăsat ~ 60W pentru difuzoare + amplificator. Opțiunea 15A a fost cu doar 4 USD mai puțin.
  4. Cablu de alimentare (3 direcții)
  5. Arduino Uno - Aveam un R3 întins, așa că l-am folosit. Este posibil să găsiți o opțiune mai ieftină de la unul dintre knockoff-uri sau de la un alt furnizor.
  6. TRRS Breakout - Pentru intrare auxiliară
  7. L7805 Regulator 5V - Orice regulator 5V care acceptă o intrare de 12V va funcționa.
  8. Condensatori 330 nF, 100 nF - conform fișei tehnice L7805
  9. 2 x 10kR, 2 x 1kR, 2 x 100 nF condensatori - pentru polarizarea intrării audio
  10. Receptor stereo - orice receptor stereo de epocă va funcționa atâta timp cât are intrare auxiliară (3,5 mm sau RCA). Am luat un panasonic RA6600 de pe Craigslist pentru 15 USD. Vă recomandăm să verificați fonduri de comerț bun, voie craigslist și alte magazine economice similare. *
  11. Boxe - Nu boxe BT. Doar un set de difuzoare. Fiți atenți la ce impedanță este compatibilă cu receptorul dvs. Am găsit un set de 3 difuzoare de 20W (= puternice) la Goodwill pentru 6 dolari, care au venit cu un difuzor „central” și două difuzoare „frontale”.
  12. Adaptor Logitech BT Audio - acest dispozitiv poate transmite audio către difuzoarele stereo și către circuitul dvs.
  13. Cablu RCA tată la RCA tată
  14. Cablu auxiliar

Hardware

  1. 2x6 (8ft) - netratat sub presiune. Ar trebui să fie de aproximativ $ 6 sau mai puțin la HD sau Lowe's
  2. Acrilic cu transmisie de lumină 40% - Am comandat 18 "x 24" x 1/8 "și, din punct de vedere tehnic, avea 17,75" x 23,5 ". Păstrați-l în ambalaj atunci când mergeți la tăierea cu laser.
  3. Pata de lemn - Ai nevoie doar de o cutie mică. Am folosit mahon roșu Minwax și a ieșit foarte frumos. Recomand cu siguranță un ton întunecat. Am încercat inițial provincial și nu arăta la fel de frumos.
  4. Lac - În primul rând, vizionați acest videoclip de Steve Ramsey și decideți singur ce funcționează cel mai bine. Am primit un spray cu semiluciu (nu era disponibil luciu) și, sincer, nu a făcut atât de mult. Dar am făcut și o singură haină din cauza constrângerilor de timp.
  5. Șuruburi pentru lemn de 40 x 1/2 "- Aveam capul rotund disponibil, dar vă recomand să folosiți un plat, dacă puteți. Nu cred că ar interfera cu calitatea construcției, dar nu ezitați să întrebați mai întâi pe oricine este mai familiarizat cu prelucrarea lemnului.
  6. Resturi de lemn, lipici pentru gorilă, lipici fierbinte, lipire, sârmă și benzi de comandă (stil velcro, 20 mediu sau 10 mare)

* Plănuiesc să construiesc o bară de sunet pentru a face acest proiect în întregime „de la zero”, care va înlocui 9-13 de mai sus. Sper să actualizez acest lucru instructabil cu acesta până la sfârșitul verii.

Pasul 2: Prototipare

Prototipare
Prototipare

Această secțiune nu este ceva ce trebuie completat, dar vreau să arăt cum a arătat proiectul pe măsură ce a evoluat.

Aici, am înregistrat LED-uri în modelul șarpelui și experimentam difuzia luminii printr-o pungă de gunoi stratificată deasupra sa (recomand cu tărie ca alternativă la acril, dacă încercați să reduceți costurile. Deși va trebui să atașați-o într-un mod diferit).

O configurare de 10x10 a funcționat pentru mine, dar este posibil să preferați 8x12 sau 7x14. Simțiți-vă liber să experimentați. Înainte de a avea stereo-ul meu, am găsit un amplificator și l-am conectat la panoul meu de calcul și, înainte de asta, am redat sunetul de la laptopul meu la circuit pentru analiza audio și am lovit simultan „play” pe telefonul meu pentru a-l auzi.

Sunt un credincios uriaș în măsură de două ori, tăiat o dată. Deci, orice ai face, urmează acest ghid și vei fi stabilit.

Pasul 3: Circuit + Cod

Circuit + Cod
Circuit + Cod
Circuit + Cod
Circuit + Cod
Circuit + Cod
Circuit + Cod

Codul este disponibil pe GitHub.

Placă de pâine, lipiți pe o placă de perfecționare sau proiectați-vă propriul PCB. Orice funcționează cel mai bine pentru tine aici, fă-o. Demo-ul meu rulează aici pe un panou, dar când voi construi soundbar-ul voi transfera totul pe un PCB. Pentru a obține energie de la adaptor, tăiați capătul feminin și îndepărtați izolația neagră. Îndepărtați suficient cablurile reale pentru a le înșuruba la bornele adaptorului. Fii întotdeauna atent să lucrezi cu AC! În afară de asta, doar câteva lucruri de remarcat aici.

  1. Un alt lucru este să vă asigurați că traseele de sol sunt bune. Aveți nevoie de împământare de la adaptor la Arduino la intrarea auxiliară, care se va conecta și la pământ pe receptorul Logitech BT și de acolo la pământ pe stereo. Dacă oricare dintre acestea este o conexiune defectă sau defectă, veți obține o intrare audio foarte zgomotoasă și, prin urmare, un afișaj foarte zgomotos.
  2. Biasing intrare audio Audio redat pe cablul auxiliar, de pe telefon sau laptop sau oriunde, va fi redat la -2,2 până la + 2,2V. Arduino este capabil să citească doar 0 până la + 5V, deci trebuie să influențați intrarea audio. Acest lucru poate fi realizat în mod eficient cu amplificatorii op, dar dacă consumul de energie nu este o problemă (poate ați cumpărat o sursă de alimentare de 240W?), Acesta poate fi realizat și cu rezistențe și condensatori. Valorile pe care le-am ales au fost diferite, deoarece nu aveam la îndemână condensatori de 10 uF. Puteți juca cu simulatorul pentru a vedea dacă ceea ce alegeți va funcționa.
  3. Transformările Fourier Orice proiect care folosește transformatele Fourier va avea o secțiune de fundal care le va discuta. Dacă aveți deja experiență, minunat! Dacă nu, tot ce trebuie să înțelegeți este că fac un instantaneu al unui semnal și returnează informații despre ce frecvențe sunt prezente în acel semnal în acel moment. Deci, dacă ați lua transformata Fourier a păcatului (440 (2 * pi * t)), aceasta vă va spune că o frecvență de 440Hz este prezentă în semnalul dvs. Dacă ați lua transformata Fourier a 7 * sin (440 (2 * pi * t)) + 5 * sin (2000 (2 * pi * t)), acesta vă va spune că sunt prezente atât un semnal de 440Hz, cât și un semnal de 2000Hz și gradele relative la care sunt prezente. Poate face acest lucru pentru orice semnal cu orice număr de funcții componente. Deoarece tot sunetul este doar o sumă de sinusoide, putem lua transformata Fourier a unei grămezi de instantanee și a vedea ce se întâmplă cu adevărat. Veți vedea în cod că aplicăm și o fereastră semnalului nostru înainte de a lua Fourier-ul transforma. Mai multe despre asta pot fi găsite aici, dar o scurtă explicație este că semnalul pe care de fapt ajungem să-l dăm transformării este cam nesuferit, iar Windows îl remediază. Codul dvs. nu se va sparge dacă nu le utilizați, dar afișajul nu va arăta la fel de curat. Pot exista algoritmi mai buni disponibili (YAAPT, de exemplu), dar urmând principiile KISS, am ales să folosesc ce era deja disponibil, care reprezintă câteva biblioteci Arduino bine scrise pentru Transformarea Fourier Rapidă sau FFT.
  4. Poate Arduino să proceseze cu adevărat totul în timp real? Pentru ca totul să apară în timp real, Arduino trebuie să preia 128 de mostre, să proceseze acel FFT, să manipuleze valorile afișajului și să actualizeze afișajul foarte repede. Dacă doriți o precizie a notelor 1/16 la 150bpm (aproape de tempo-ul superior al majorității melodiilor pop), ar trebui să procesați totul în 100 de secunde. În plus, ochiul uman poate vedea la 30 FPS, ceea ce corespunde lungimilor cadrului de 30 ms. Această postare de pe blog nu mi-a dat cea mai mare încredere, dar am decis să văd singur dacă Arduino va rezista. După propriul meu benchmarking, am fost foarte mândru de R3-ul meu. Faza de calcul a fost de departe factorul limitativ, dar am reușit să procesez un FFT de 128 de lungimi de UINT16 în doar 70 de secunde. Acest lucru se încadra în toleranțele audio, dar peste dublul constrângerii vizuale. În cercetări suplimentare, am găsit Arduino FHT, care profită de simetria FFT și calculează doar valorile reale. Cu alte cuvinte, este de aproximativ 2 ori mai rapid. Și destul de sigur, a adus întreaga viteză a buclei la ~ 30msec. O altă notă aici despre rezoluția afișajului. O lungime N FFT eșantionată la Fs Hz returnează N coșuri, unde cel de-al cincilea coș corespunde cu k * Fs / N Hz. Arduino ADC, care citește intrarea audio și preia probe, rulează în mod normal la ~ 9,6 kHz. Cu toate acestea, FFT poate returna informații despre frecvențe de până la 1/2 * Fs. Oamenii pot auzi până la 20 kHz, deci în mod ideal ne-am dori să probăm la> 40 kHz. ADC poate fi piratat pentru a rula puțin mai repede, dar nici pe departe. Cel mai bun rezultat pe care l-am văzut fără a pierde stabilitatea a fost la un ADC de 14 kHz. În plus, cel mai mare FFT pe care l-am putut procesa pentru a obține în continuare un efect în timp real a fost N = 128. Aceasta înseamnă că fiecare coș reprezintă ~ 109Hz, ceea ce este bine la frecvențe mai mari, dar rău la capătul inferior. Un vizualizator bun încearcă să rezerve o octavă pentru fiecare bară, care corespunde separărilor la [16.35, 32.70, 65.41, 130.81, 261.63, 523.25, 1046.50, 2093.00, 4186.01] Hz. 109Hz înseamnă că primele 2,5 octave sunt toate într-un singur coș. Încă am reușit să obțin un efect vizual bun, parțial luând media fiecărei găleate, unde o găleată este un grup de coșuri între două dintre aceste limite. Sper că acest lucru nu este confuz, iar codul în sine ar trebui să clarifice ce se întâmplă cu adevărat, dar nu ezitați să întrebați mai jos dacă nu are sens.

Pasul 4: Asamblare

Asamblare
Asamblare
Asamblare
Asamblare
Asamblare
Asamblare

După cum am spus mai devreme, am vrut ceva cu o calitate profesională a construcției. Inițial am început să lipim lamele împreună, dar un prieten (și inginer mecanic priceput) a sugerat o abordare diferită. Rețineți că un 2x6 este într-adevăr 1,5 "x 5". Și vă rugăm să aveți grijă să lucrați cu oricare dintre utilajele de mai jos.

  1. Luați 2x6x8 și șlefuiți, dacă este necesar. Tăiați-l în 2 secțiuni "x 6" x 22 ". Acest lucru vă oferă două lamele pentru a" arde "dacă vă încurcați.
  2. Luați fiecare secțiune de 22 "și treceți-o printr-un ferăstrău de masă pe lungime pentru a face lamele de 1,5" x ~ 1,6 "x 22". Ultima treime poate fi dificil de tăiat pe un ferăstrău de masă, astfel încât să puteți trece la un ferăstrău cu bandă. Asigurați-vă că totul este cât se poate de drept. În plus, 1,6 "este un ghid și poate ajunge până la 1,75". Asta au fost piesele mele, dar atâta timp cât sunt egale între ele, nu contează prea mult. Factorul limitativ este acrilul la 18 ".
  3. La sfârșitul pieselor, marcați o formă de U care are 1/8 "în ambele părți și puțin mai mare de 3/4" adâncime. NOTĂ: Dacă utilizați un acrilic diferit, adâncimea se va schimba. La <3/4 ", acrilicul meu nu difuzează deloc lumina. La ceva mai mult, difuzează complet. Doriți să evitați orice" margine ". Am găsit acest post Hackaday ca fiind o referință bună, dar obținerea difuziei perfecte este foarte dificil!
  4. Cu un router de masă, decupați U-ul mijlociu până la capăt. 22 "este mai lung decât aveți nevoie, așa că nu vă faceți griji cu privire la așchierea capetelor, dacă faceți acest lucru. Ruterele pot fi dificile, dar obțineți un pic mai larg decât jumătate din lățimea U și aveți grijă să tăiați mai mult de 1 / 8 "de material la un moment dat. Repetați: Nu încercați să faceți totul în 2 pase. Veți deteriora lemnul și probabil vă veți răni. Lucrați cu rotația routerului la tăieturile 1-4 și lucrați împotriva acestuia la 5-8. Acest lucru vă asigură că aveți cel mai bun control asupra cuplului routerului.
  5. Tăiați banda LED în secțiuni de 30 de LED-uri (numai fiecare set de 3 LED-uri este adresabil). Probabil că va trebui să desoldați câteva dintre conexiuni. Așezați benzile de-a lungul pistelor. O parte ar trebui să stea la culoare, iar cealaltă ar trebui să aibă un spațiu mic pentru receptorul JST, care va sta la culoare. Din păcate nu am obținut o imagine a acestui lucru, dar vedeți schema atașată. Marcați lungimea aici, dar nu tăiați încă nimic.
  6. Măsurați lățimea fiecărei lamele. Cu aceasta și lungimea de la pasul 7, tăiați cu laser acrilul în cele 10 dreptunghiuri necesare. Este mai bine să fii puțin lung decât ușor scurt. Dacă se arde, ștergeți-l cu izopropil.
  7. Confirmați că fiecare lamă acrilică stă la aceeași lungime pe care ați marcat-o la pasul 5, apoi tăiați lamela la această lungime.
  8. Acum aveți nevoie de două piese de punte pentru a atașa acrilul. Acest lucru permite întreținerea ușoară a benzilor ușoare în cazul în care apare ceva. Aceste piese ar trebui să aibă aproximativ [lățimea ta] - 2 * 1/8 "lungime cu fețe pătrate de 1/2", dar ar trebui să se potrivească puțin strâns. Cu aceste piese fixate în poziție și la nivelul feței frontale a lamelelor, găuriți prin centrul fiecărui pod din exteriorul lamelelor. Faceți tot posibilul pentru ca fiecare burghiu să fie uniform. Nu țineți podurile înșurubate, dar asigurați-vă că pot fi. Aveți grijă să nu împingeți șurubul prea departe și să împărțiți lemnul.
  9. În acest moment, colorați lamelele și aplicați orice finisaj.
  10. Acum înșurubați podurile. Asigurați-vă că stau la culoare! În caz contrar, va trebui să adăugați un fel de strop. Aplicați lipici de gorilă (preferat) sau lipici fierbinte (care se poate dubla ca o stropire) pe poduri și atașați acrilul. Nu aplicați adeziv de-a lungul lamelei în sine.
  11. Recipiente de lipit JST pe o parte a tuturor benzilor LED, cu excepția unui singur. Puneți-le pe toate pe același capăt ca și săgețile marcate. Lipiți firele prizelor JST pe celelalte capete. S-ar putea să fie nevoie să curățați mai multe fire pe fiecare conector. Asigurați-vă că conexiunile vor fi corecte atunci când sunt conectate! Adezivul de pe spatele LED-urilor este teribil, așa că nu aveți încredere în el. Așezați LED-urile pe pista centrală și lipiți-le cu adeziv pentru gorile, acordând atenție direcției indicate pe benzi. Amintiți-vă că șerpiți totul.
  12. Pe prima lamelă, lipiți fire suficient de lungi pentru a obține putere + împământare de la adaptor și semnalul de la Arduino.
  13. Înșurubați lamelele și podurile înapoi. Atașați benzi de comandă în spate (stil velcro, 2 medii în partea de sus și în jos sau 1 mare în centru). Faceți toate conexiunile necesare și agățați-vă de perete la o distanță de aproximativ 3 ". Bucurați-vă de fructele muncii voastre.

Recomandat: