Taula de continguts:

Visualitzador d'àudio de tira LED retro: 4 passos (amb imatges)
Visualitzador d'àudio de tira LED retro: 4 passos (amb imatges)

Vídeo: Visualitzador d'àudio de tira LED retro: 4 passos (amb imatges)

Vídeo: Visualitzador d'àudio de tira LED retro: 4 passos (amb imatges)
Vídeo: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Desembre
Anonim
Image
Image
Llista de peces
Llista de peces

Com a músic i estudiant d’enginyeria elèctrica, m’encanta qualsevol projecte que creui aquests dos camps. He vist alguns visualitzadors d'àudio de bricolatge (aquí, aquí, aquí i aquí), però cadascun d'ells havia perdut almenys un dels dos objectius que vaig establir per a mi: una qualitat de construcció professional i una pantalla relativament gran (un wimpy 8 * 8) La matriu LED no seria suficient aquí!). Amb un toc d’època i amb una mida de 40 "x 20", aquest visualitzador d'àudio compleix tots dos objectius.

Disculpeu per endavant les fotos verticals. Molts d’ells van ser presos per a les xarxes socials.

Pas 1: llista de peces

Ja tenia diverses d'aquestes parts estirades. Els enllaços són només de referència. No compreu components cars innecessaris.

Electrònica

  1. WS2811 60LEDS / m @ 5m, IP30 (no impermeable), adreçable: eren més barats que el WS2812 en aquell moment. Aquí teniu una mica de marge, però assegureu-vos que les dimensions siguin correctes i que en realitat pugueu parlar amb els LED. Tingueu en compte també que els WS2811 són de 12V mentre que els WS2812s són de 5V.
  2. Connectors JST de 9 x 3 pins + receptacles
  3. Font d'alimentació DC 12V 20A (240W): inicialment tenia previst fer 2 tires de LED i volia un conjunt d’altaveus que volessin la casa. Cada tira de llum és de 90W en el pitjor dels casos (no he mesurat per confirmar), cosa que em va deixar ~ 60W per als altaveus + amplificador. L’opció 15A només era de 4 dòlars menys.
  4. Cable d'alimentació (3 puntes)
  5. Arduino Uno: tenia un R3 estirat, així que ho vaig fer servir. És possible que pugueu trobar una opció més barata a un dels knockoffs o a un altre venedor.
  6. TRRS Breakout: per a entrada auxiliar
  7. Regulador L7805 5V: qualsevol regulador 5V que accepti una entrada de 12V funcionarà.
  8. Condensadors de 330 nF, 100 nF: per fitxa tècnica L7805
  9. 2 x 10kR, 2 x 1kR, 2 x 100 nF condensadors - per a la polarització d'entrada d'àudio
  10. Receptor estèreo: qualsevol receptor estèreo vintage funcionarà sempre que tingui entrada auxiliar (3,5 mm o RCA). Vaig agafar un Panasonic RA6600 de craigslist per 15 dòlars. Recomano revisar fons de comerç, fons de craigs i altres botigues de segona mà per trobar similars. *
  11. Altaveus: no altaveus BT. Només un conjunt d’altaveus. Presteu atenció a quina impedància és compatible amb el vostre receptor. Vaig trobar un conjunt de 3 altaveus de 20 W (= forts) a Goodwill per 6 dòlars, que venien amb un altaveu "central" i dos altaveus "frontals".
  12. Adaptador d'àudio Logitech BT: aquest dispositiu pot transmetre àudio als altaveus estèreo i al vostre circuit
  13. Cable RCA mascle a RCA mascle
  14. Cordó auxiliar

Maquinari

  1. 2x6 (8 peus): no es tracta a pressió. Hauria de ser de $ 6 o menys a HD o Lowe's
  2. 40% de transmissió de llum acrílic: vaig demanar 18 "x 24" x 1/8 "i, tècnicament, tenia 17,75" x 23,5 ". Conserveu-lo a l'embolcall quan aneu al tall per làser.
  3. Taca de fusta: només necessiteu una llauna petita. Vaig utilitzar caoba vermella Minwax i em va sortir molt maco. Sens dubte, recomano un to fosc. Originalment vaig provar de provincial i no em va semblar tan bonic.
  4. Laca: primer, fes un cop d'ull a aquest vídeo de Steve Ramsey i decideix tu mateix què funciona millor. Vaig obtenir una llauna de polvoritzant de semi-brillantor (no hi havia cap brillantor disponible) i, sincerament, no va fer tant. Però també només he fet un abric a causa de les limitacions de temps.
  5. Cargols de fusta de 40 x 1/2 ": tenia el cap rodó a la meva disposició, però us recomano fer servir la part superior plana si podeu. No crec que interfereixi en la qualitat de la construcció, però no dubteu a demanar-li a ningú més familiaritzat amb la fusta.
  6. Fusta de ferralla, cola goril·la, cola calenta, soldadura, filferro i tires de comandament (estil velcro, 20 mitjanes o 10 grans)

* Tinc previst construir una barra de so per fer aquest projecte completament "des de zero", que substituirà el 9-13 anterior. Espero actualitzar aquesta informació instructiva a finals d’estiu.

Pas 2: prototipatge

Prototipatge
Prototipatge

Aquesta secció no és una cosa que necessiteu completar, però vull mostrar com era el projecte a mesura que es desenvolupava.

Aquí, vaig gravar els LEDs del patró de la serp i vaig experimentar amb la difusió de la llum mitjançant una bossa d’escombraries que s’estenia sobre si mateixa (us ho recomano com a alternativa a l’acrílic si voleu reduir els costos. Tot i que haurà de adjuntar-lo d’una altra manera).

Vaig funcionar una configuració de 10x10, però és possible que preferiu el 8x12 o el 7x14. No dubteu a experimentar. Abans de tenir el meu equip estèreo, vaig trobar un amplificador i el vaig connectar a la taula de treball, i abans vaig reproduir àudio del portàtil al circuit per analitzar-lo i, alhora, vaig tocar "reproduir" al telèfon per escoltar-lo.

Sóc un gran creient en la mesura dues vegades, tallat una vegada. Així que feu el que feu, seguiu aquesta guia i ja estareu preparats.

Pas 3: Circuit + Codi

Circuit + Codi
Circuit + Codi
Circuit + Codi
Circuit + Codi
Circuit + Codi
Circuit + Codi

El codi està disponible a GitHub.

Tauler de pa, soldar-lo a un tauler de perfecció o dissenyar el vostre propi PCB. Feu el que funcioni millor per a vosaltres aquí. La meva demostració aquí funciona en una taula de treball, però quan construeixi la barra de so, ho transferiré tot a un PCB. Per obtenir energia de l’adaptador, talleu l’extrem femella i traieu l’aïllament negre. Retireu prou dels cables reals per cargolar-lo als terminals de l'adaptador. Sempre tingueu cura de treballar amb AC. A part d’això, aquí hi ha algunes coses a destacar.

  1. Una altra cosa és assegurar-vos que els camins de terra siguin bons. Necessiteu una connexió a terra des de l’adaptador fins a l’entrada Arduino, que també es connectarà a la terra del receptor Logitech BT i des d’aquí la terra a l’estèreo. Si alguna d'aquestes connexions està trencada o no funciona, obtindreu una entrada d'àudio molt sorollosa i, per tant, una pantalla molt sorollosa.
  2. Polarització d'entrada d'àudio: l'àudio reproduït a través d'un cable auxiliar, des del telèfon o l'ordinador portàtil o des de qualsevol lloc, es reproduirà entre -2,2 i + 2,2V. Arduino només és capaç de llegir de 0 a + 5V, de manera que heu de polaritzar l'entrada d'àudio. Això es pot aconseguir eficientment amb amplificadors operatius, però si el consum d’energia no és un problema (potser heu comprat una font d’alimentació de 240W?), També es pot aconseguir amb resistències i condensadors. Els valors que vaig triar eren diferents perquè no tenia condensadors de 10uF a mà. Podeu jugar amb el simulador per veure si el que trieu funcionarà.
  3. Transformades de Fourier Qualsevol projecte que utilitzi transformades de Fourier tindrà una secció de fons que les discutirà. Si ja teniu experiència, genial! Si no, tot el que heu d’entendre és que prenen una instantània d’un senyal i retornen informació sobre quines freqüències hi ha presents en aquest moment. Per tant, si prenguéssiu la transformada de Fourier del pecat (440 (2 * pi * t)), us diria que hi ha una freqüència de 440Hz al vostre senyal. Si prenguéssiu la transformada de Fourier de 7 * sin (440 (2 * pi * t)) + 5 * sin (2000 (2 * pi * t)), us diria que hi ha un senyal de 440Hz i 2000Hz, i els graus relatius als quals estan presents. Pot fer-ho per a qualsevol senyal amb qualsevol nombre de funcions de components. Com que tot l’àudio és només una suma de sinusoides, podem prendre la transformada de Fourier d’un munt d’instantànies i veure què passa realment. Veureu al codi que també apliquem una finestra al nostre senyal abans de prendre el Fourier transformar. Aquí es pot trobar més informació, però una breu explicació és que el senyal que realment acabem donant a la transformació és una merda i que Windows ho soluciona. El vostre codi no es trencarà si no els feu servir, però la pantalla no es veurà tan neta. És possible que hi hagi millors algorismes disponibles (YAAPT, per exemple), però seguint els principis de KISS, he optat per utilitzar què ja estava disponible, que són diverses biblioteques Arduino ben escrites per a la transformada ràpida de Fourier o FFT.
  4. Perquè Arduino pugui processar-ho tot en temps real? Perquè tot aparegui en temps real, Arduino necessita agafar 128 mostres, processar aquest FFT, manipular els valors de la pantalla i actualitzar la pantalla molt ràpidament. Si voleu una precisió de 1/16 de nota a 150 bpm (propera al tempo superior de la majoria de les cançons pop), haureu de processar-ho tot en 100 ms. A més, l’ull humà pot veure a 30 FPS, que correspon a longituds de fotogrames de 30 ms. Aquesta publicació al blog no em va donar la màxima confiança, però vaig decidir veure si Arduino aguantaria. Després del meu propi benchmarking, estava molt orgullós del meu R3. La fase de càlcul va ser, amb diferència, el factor limitant, però vaig poder processar un FFT de 128 longitud de UINT16 en només 70 ms. Això estava dins de les toleràncies d'àudio, però superava el doble de la restricció visual. En més investigacions, vaig trobar Arduino FHT, que aprofita la simetria FFT i només calcula només els valors reals. En altres paraules, és aproximadament dues vegades més ràpid. I, certament, va portar tota la velocitat del bucle a ~ 30 ms. Una altra nota aquí a la resolució de la pantalla. Una longitud N FFT mostrejada a Fs Hz retorna N contenidors, on el kth bin correspon a k * Fs / N Hz. L'Arduino ADC, que llegeix l'entrada d'àudio i pren mostres, normalment funciona a ~ 9,6 kHz. Tot i això, el FFT només pot retornar informació sobre freqüències de fins a 1/2 * Fs. Els éssers humans podem escoltar fins a 20 kHz, de manera que és ideal que vulguem provar a> 40 kHz. Es pot piratejar l'ADC perquè funcioni una mica més ràpid, però no hi és a prop. El millor resultat que vaig veure sense perdre l’estabilitat va ser en un ADC de 14 kHz. A més, el FFT més gran que he pogut processar per obtenir un efecte en temps real va ser N = 128. Això significa que cada paperera representa ~ 109Hz, que està bé a freqüències més altes, però és dolent a la banda baixa. Un bon visualitzador intenta reservar una octava per a cada barra, que correspon a separacions a [16.35, 32.70, 65.41, 130.81, 261.63, 523.25, 1046.50, 2093.00, 4186.01] Hz. 109Hz significa que les primeres 2,5 octaves es troben en un mateix contenidor. Encara vaig poder obtenir un bon efecte visual, en part prenent la mitjana de cada cub, on un cub és un grup de contenidors entre dos d’aquests límits. Espero que això no sigui confús, i el codi en si mateix hauria d’aclarir què passa realment, però no dubteu a preguntar a continuació si no té sentit.

Pas 4: Muntatge

muntatge
muntatge
muntatge
muntatge
muntatge
muntatge

Com he dit anteriorment, volia alguna cosa amb qualitat de construcció professional. Originalment vaig començar a enganxar llistons de fusta, però un amic (i expert enginyer mecànic) va suggerir un enfocament diferent. Tingueu en compte que un 2x6 és realment d'1,5 "x 5". I tingueu cura de treballar amb qualsevol de les maquinàries següents.

  1. Agafeu el vostre 2x6x8 i sorreu si cal. Talleu-lo en 2 seccions de "6 x 22". Això us proporcionarà dos llistons per "cremar-los" si feu malbé.
  2. Agafeu cada secció de 22 "i passeu-la per una serra de taula per fer llistons de 1,5" x ~ 1,6 "x 22". L'últim terç pot ser difícil de tallar a una serra de taula, de manera que podeu canviar a una serra de cinta. Assegureu-vos que tot estigui tan dret com es pugui. A més, 1,6 "és una guia i pot arribar a 1,75". Això eren les meves peces, però, sempre que siguin iguals entre si, no importa massa. El factor limitant és l'acrílic a 18 ".
  3. Al final de les peces, marqueu una forma d’U que tingui una mida de 1/8 "de costat i una mica més de 3/4" de profunditat. NOTA: Si utilitzeu un acrílic diferent, la profunditat canviarà. A <3/4 ", el meu acrílic no difon la llum en absolut. Una mica més, es difon completament. Voleu evitar qualsevol" abalor ". He trobat que aquesta publicació de Hackaday és una bona referència, però obtenir la difusió perfecta és molt difícil!
  4. Amb un encaminador de sobretaula, talleu la U central fins a la planxa. El 22 "és més llarg del que necessiteu, de manera que no us preocupeu per trossejar els extrems si ho feu. Els enrutadors poden ser complicats, però obteniu una mica més ample que la meitat de l'amplada de la U i teniu cura de tallar més d'1 / 8 "de material alhora. Repetiu: no intenteu fer-ho tot en 2 passades. Danyareu la fusta i probablement us ferireu. Treballeu amb la rotació del router en els talls 1-4 i treballeu en contra en el 5-8. Això us assegura que teniu el millor control sobre el parell del router.
  5. Talla la tira de LED en seccions de 30 LED (només es poden adreçar tots els conjunts de 3 LED). Probablement haureu de dessoldar algunes de les connexions. Col·loqueu aquestes tires al llarg de les vies. Un dels costats hauria de quedar a ras i l’altre hauria de tenir un petit espai per al receptor JST, que quedaria a ras. Malauradament no vaig obtenir una foto d’això, però veieu l’esquema adjunt. Marqueu la longitud aquí, però encara no retalleu res.
  6. Mesureu l’amplada de cada llistó. Amb això i la longitud del pas 7, talla làser l’acrílic en els 10 rectangles necessaris. És millor ser lleugerament llarg que lleugerament curt. Si es crema, netegeu-lo amb isopropil.
  7. Confirmeu que cada llistó acrílic es troba a la mateixa longitud que heu marcat al pas 5 i, a continuació, talleu-lo a aquesta longitud.
  8. Ara necessiteu dues peces de pont per fixar l’acrílic. Això permet un fàcil manteniment de les tires de llum si es produeix alguna cosa. Aquestes peces haurien de tenir aproximadament [la vostra amplada]: 2 * 1/8 "de llarg amb cares quadrades de 1/2", però haurien de quedar una mica ajustades. Amb aquestes peces ben col·locades i enrasades amb la cara frontal de les lames, foradeu el centre de cada pont des de les parts exteriors de les lames. Feu el possible per aconseguir que cada trepant sigui uniforme. No mantingueu els ponts cargolats, però assegureu-vos que poden ser-ho. Tingueu cura de no tirar massa el cargol i de partir la fusta.
  9. En aquest punt, tenyeu els llistons i apliqueu qualsevol acabat.
  10. Ara cargoleu els ponts. Assegureu-vos que estiguin a ras! Si no, haureu d’afegir algun tipus de calç. Apliqueu cola goril·la (preferible) o cola calenta (que pot doblar-se com a calçada) als ponts i fixeu-ne l’acrílic. No apliqueu cap adhesiu al llarg de la mateixa llistona.
  11. Soldeu els receptacles JST a un costat de totes les tires LED excepte una. Col·loqueu-los tots al mateix extrem que donen les fletxes marcades. Soldeu els cables dels endolls JST als altres extrems. És possible que hàgiu de llençar més fil a cada connector. Assegureu-vos que les connexions siguin correctes quan estigueu endollades. L’adhesiu a la part posterior dels LED és terrible, així que no us confieu. Col·loqueu els LED per la pista central i enganxeu-los amb cola goril·la, fixant-vos en la direcció indicada a les tires. Recordeu que esteu fent serp tot.
  12. Al primer llistó, soldeu els cables prou llargs per obtenir energia + terra de l’adaptador i el senyal de l’Arduino.
  13. Torneu a cargolar els llistons i els ponts. Col·loqueu tires de comandament a la part posterior (estil velcro, 2 mitjanes a la part superior i inferior o 1 gran al centre). Feu totes les connexions necessàries i pengeu-les a la paret a uns 3 ". Gaudiu dels fruits del vostre treball.

Recomanat: