Sisukord:

Retro LED -riba audio visualiseerija: 4 sammu (piltidega)
Retro LED -riba audio visualiseerija: 4 sammu (piltidega)

Video: Retro LED -riba audio visualiseerija: 4 sammu (piltidega)

Video: Retro LED -riba audio visualiseerija: 4 sammu (piltidega)
Video: Java Tech Talk: Telegram бот на java за 1 час 2024, Juuli
Anonim
Image
Image
Osade nimekiri
Osade nimekiri

Muusiku ja elektrotehnika tudengina armastan ma kõiki neid kahte valdkonda lõikavaid projekte. Olen näinud mõningaid isetehtud audiovisuaale (siin, siin, siin ja siin), kuid igaüks oli jätnud täitmata vähemalt ühe kahest eesmärgist, mille ma endale seadsin: professionaalse ehituse kvaliteedi ja suhteliselt suure ekraani (räpane 8*8) LED -maatriksist siin ei piisa!). Mõne vintage hõngu ja 40 x 20 tolli istudes täidab see audiovisuaalne seade mõlemad need eesmärgid.

Vabandame juba ette vertikaalsete fotode pärast. Paljud neist võeti sotsiaalmeediasse.

Samm: osade loend

Mul oli mitu neist osadest juba lebamas. Lingid on puhtalt viitamiseks. Ärge ostke tarbetult kalleid komponente.

Elektroonika

  1. WS2811 60LEDS/m @ 5m, IP30 (mitte veekindel), adresseeritav - need olid tol ajal odavamad kui WS2812. Teil on siin teatud vabadus, kuid veenduge, et mõõtmed on õiged ja et saate LED -idega rääkida. Samuti pange tähele, et WS2811s on 12V, samas kui WS2812s on 5V.
  2. 9 x 3-pin JST pistikud + pistikupesad
  3. Alalisvoolu 12V 20A (240W) toiteallikas-plaanisin esialgu teha 2 LED-riba ja soovisin puhuda oma maja maha. Iga valgusriba on halvimal juhul 90W (ma pole kinnitamiseks mõõtnud), mis jättis mulle kõlarite ja võimendi jaoks ~ 60W. 15A variant oli niikuinii vaid 4 dollarit vähem.
  4. Toitejuhe (3 haruga)
  5. Arduino Uno - mul oli R3 lamamas, nii et ma kasutasin seda. Võimalik, et leiate odavama võimaluse ühelt koputuselt või teiselt müüjalt.
  6. TRRS Breakout - Aux sisendi jaoks
  7. L7805 5V regulaator - iga 5V regulaator, mis aktsepteerib 12V sisendit, töötab.
  8. 330 nF, 100 nF kondensaatorid - L7805 andmelehe kohta
  9. 2 x 10 kR, 2 x 1 kR, 2 x 100 nF kondensaatorit - helisisendi nihutamiseks
  10. Stereovastuvõtja - mis tahes vintage stereovastuvõtja töötab seni, kuni sellel on aux -sisend (3,5 mm või RCA). Võtsin 15 dollari eest välja Craigslistissa Panasonicu RA6600. Soovitan sarnaseid otsida firmaväärtusest, craigslistist ja muudest säästupoodidest.*
  11. Kõlarid - mitte BT kõlarid. Lihtsalt kõlarite komplekt. Pöörake tähelepanu sellele, milline takistus teie vastuvõtjaga ühildub. Leidsin Goodwillist 3 dollariga 20 W (= valjuhääldiga) kõlarite komplekti hinnaga 6 dollarit ja sellega kaasnes "keskne" ja kaks "eesmist" kõlarit.
  12. Logitechi BT heliadapter - see seade saab heli voogesitada stereokõlaritesse ja teie vooluringi
  13. RCA -isane RCA -kaabel
  14. Aux juhe

Riistvara

  1. 2x6 (8 jalga) - ei ole survetöödeldud. HD -s või Lowe's peaks see olema umbes 6 dollarit
  2. 40% valguse läbilaskevõimega akrüül - tellisin 18 "x 24" x 1/8 "ja see oli tehniliselt 17,75" x 23,5 ". Hoidke seda pakendis, kui lähete laserlõikamisele.
  3. Puiduplekk - vajate ainult väikest purki. Kasutasin Minwaxi punast mahagonit ja see tuli väga kena. Soovitan kindlasti tumedat tooni. Algselt proovisin provintsi ja see ei tundunud nii kena.
  4. Lakk - kõigepealt vaadake seda Steve Ramsey videot ja otsustage ise, mis töötab paremini. Sain pihustuspudeli poolläikivaks (läiget polnud saadaval) ja ausalt, see ei teinud nii palju. Kuid ajapiirangute tõttu tegin ka ainult ühe kihi.
  5. 40 x 1/2 "puidukruvid - mul oli ümmargune pea saadaval, kuid soovitan võimaluse korral kasutada lamedat ülaosa. Ma ei usu, et see ehitamiskvaliteeti häiriks, kuid küsige esmalt kõigilt puidutööga tuttavamalt.
  6. Vanapuit, gorillaliim, kuumliim, joodis, traat ja käsuribad (takjapael, 20 keskmist või 10 suurt)

* Kavatsen ehitada heliriba, et muuta see projekt täielikult "nullist", mis asendab ülaltoodud 9-13. Loodan seda juhendit suve lõpuks värskendada.

2. etapp: prototüüpimine

Prototüüpimine
Prototüüpimine

See jaotis pole midagi, mida peate täitma, kuid ma tahan näidata, kuidas projekt välja nägi.

Siin teipisin mao mustriga valgusdioodid ja katsetasin valguse hajumist prügikoti abil, mis oli kihiline üle enda (soovitan soojalt akrüüli alternatiivina, kui proovite kulusid vähendada. Kuigi peate kinnitage see mõnel muul viisil).

Minu jaoks töötas 10x10 seadistus, kuid võite eelistada 8x12 või 7x14. Katsetage julgelt. Enne stereo leidmist leidsin võimendi ja ühendasin selle oma leivalaua külge ning enne seda esitasin heli sülearvutist vooluahelasse heli analüüsimiseks ja vajutasin samaaegselt oma telefonis nuppu "play", et seda kuulda.

Ma olen tohutult uskunud kaks korda, üks kord lõigatud. Nii et mida iganes teete, järgige seda juhendit ja olete valmis.

Samm: ahel + kood

Vooluahel + kood
Vooluahel + kood
Vooluahel + kood
Vooluahel + kood
Vooluahel + kood
Vooluahel + kood

Kood on saadaval GitHubis.

Leivaplaat, jootmine perfboardile või kujundage oma PCB. Mis siin teile kõige paremini sobib, tehke seda. Minu siinne demo töötab leivaplaadil, kuid heliriba ehitamisel kannan kõik üle trükkplaadile. Adapterist toite saamiseks katkestage naissoost ots ja eemaldage must isolatsioon. Eemaldage piisavalt tegelikke kaableid, et see kruvida adapteri klemmide külge. AC -ga töötades olge alati ettevaatlik! Peale selle tuleb siin vaid paar asja tähele panna.

  1. Teine asi on veenduda, et teie maarajad on head. Teil on vaja maandust adapterist Arduino kuni lisasisendini, mis ühendab ka Logitechi BT vastuvõtja maaga ja sealt stereoga. Kui mõni neist on katkenud või halb ühendus, saate väga mürarikka helisisendi ja seega ka väga mürarikka ekraani.
  2. Helisisendi nihutamineHeli, mida mängitakse telefonist või sülearvutist või mujalt, kasutades lisavoolu, esitatakse -2,2 kuni +2,2 V pingel. Arduino on võimeline lugema ainult 0 kuni +5 V, seega peate helisisendit kallutama. Seda saab tõhusalt saavutada võimenditega, kuid kui energiatarbimine pole probleem (võib -olla ostsite 240 W toiteallika?), Saab seda teha ka takistite ja kondensaatoritega. Valitud väärtused olid erinevad, kuna mul polnud käepärast 10uF kondensaatoreid. Saate simulaatoriga ringi mängida, et näha, kas see, mida valite, töötab.
  3. Igal projektil, mis kasutab Fourier 'teisendusi, on taustajaotis, kus neid arutatakse. Kui teil on juba kogemusi, siis suurepärane! Kui ei, siis peate mõistma vaid seda, et nad võtavad signaalist hetktõmmise ja tagastavad teabe selle kohta, millised sagedused sellel signaalil sellel ajahetkel esinevad. Nii et kui te võtaksite patu Fourier 'teisenduse (440 (2*pi*t)), ütleks see teile, et teie signaalis on 440 Hz sagedus. Kui võtaksite Fourier 'teisenduse 7*sin (440 (2*pi*t)) + 5*sin (2000 (2*pi*t)), ütleks see teile, et olemas on nii 440Hz kui ka 2000Hz signaal ja nende suhteline aste. Seda saab teha mis tahes signaaliga, millel on mitu komponendifunktsiooni. Kuna kogu heli on kunagi vaid sinusoidide summa, saame teha hulga hetktõmmiste Fourier -teisenduse ja vaadata, mis tegelikult toimub. Koodis näete, et rakendame ka signaalile akna enne Fourieri võtmist teisendada. Lisateavet selle kohta leiate siit, kuid lühike selgitus on see, et signaal, mille me lõpuks transformaadile anname, on natuke nõme ja aknad parandavad selle meie jaoks. Teie kood ei purune, kui te neid ei kasuta, kuid ekraan ei tundu nii puhas. Võimalik, et saadaval on paremad algoritmid (näiteks YAAPT), kuid järgides KISS -i põhimõtteid, otsustasin kasutada seda oli juba saadaval, mis on mitu hästi kirjutatud Arduino raamatukogu kiire Fourier 'teisenduse ehk FFT jaoks.
  4. Kas Arduino suudab tõesti kõike reaalajas töödelda? Et kõik reaalajas ilmuks, peab Arduino haarama 128 proovi, töötlema selle FFT, manipuleerima ekraani väärtustega ja värskendama ekraani väga kiiresti. Kui soovite 1/16 noodi täpsust kiirusel 150 lööki minutis (enamiku poplaulude ülemise tempo lähedane), peate kõik 100 sekundi jooksul töötlema. Lisaks näeb inimsilm 30FPS, mis vastab 30 ms kaadripikkusele. See ajaveebi postitus ei andnud mulle suurimat enesekindlust, kuid otsustasin ise veenduda, kas Arduino peab vastu. Pärast enda võrdlusuuringut olin ma oma R3 üle väga uhke. Arvutusfaas oli kaugeltki piirav tegur, kuid suutsin UINT16 -de 128 -pikkust FFT -d töödelda vaid 70 sekundiga. See oli heli tolerantside piires, kuid üle kahekordse visuaalse piirangu. Edasistel uuringutel leidsin Arduino FHT, mis kasutab ära FFT sümmeetriat ja arvutab ainult tegelikke väärtusi. Teisisõnu, see on umbes 2x kiirem. Ja tõesti, see tõi kogu silmuse kiiruseks ~ 30 ms. Veel üks märkus ekraani eraldusvõime kohta. Pikkus N FFT, mis on võetud proovist Fs Hz, tagastab N prügikasti, kus k -nda b vastab k * Fs/N Hz. Arduino ADC, mis loeb helisisendit ja võtab proove, töötab tavaliselt sagedusel ~ 9,6 kHz. Kuid FFT saab tagastada teavet ainult sageduste kohta kuni 1/2 * F. Inimesed kuulevad kuni 20 kHz, seega sooviksime ideaalis proovida> 40 kHz. ADC -d saab häkkida, et natuke kiiremini töötada, kuid mitte kuskil. Parim tulemus, mida stabiilsust kaotamata nägin, oli 14 kHz ADC. Lisaks oli suurim FFT, mida sain reaalajas efekti saavutamiseks töödelda, N = 128. See tähendab, et iga prügikast esindab ~ 109 Hz, mis on kõrgematel sagedustel hea, kuid madalal tasemel halb. Hea visualiseerija püüab iga riba jaoks reserveerida oktaavi, mis vastab eraldustele [16.35, 32.70, 65.41, 130.81, 261.63, 523.25, 1046.50, 2093.00, 4186.01] Hz. 109 Hz tähendab, et esimesed 2,5 oktaavi on kõik ühes prügikastis. Suutsin ikkagi hea visuaalse efekti saada, osaliselt võttes iga ämbri keskmise, kus kopp on kahe sellise piiri vahel asuv prügikastide rühm. Loodan, et see ei tekita segadust ja kood ise peaks selgitama, mis tegelikult toimub, kuid küsige altpoolt, kui sellel pole mõtet.

4. samm: kokkupanek

Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek

Nagu ma varem ütlesin, tahtsin midagi professionaalse ehituskvaliteediga. Algselt alustasin puidust liistude liimimist, kuid sõber (ja osav mehaanikainsener) soovitas teistsugust lähenemist. Pange tähele, et 2x6 on tõesti 1,5 "x 5". Ja palun olge ettevaatlik, kui töötate mõne alltoodud masinaga.

  1. Võtke 2x6x8 ja vajadusel lihvige. Lõika see 2 "x 6" x 22 "osadeks. See annab sulle kaks liistut" põletamiseks ", kui sa jama ajad.
  2. Võtke iga 22 -tolline sektsioon ja laske see piki lauasaega läbi, et teha 1,5 "x ~ 1,6" x 22 "liistud. Viimast kolmandikku võib olla raske laua saega lõigata, nii et saate üle minna lintsaele. Lihtsalt veenduge, et kõik oleks võimalikult sirge. Lisaks on 1,6 "juhend ja võib ulatuda kuni 1,75". Sellised olid minu tükid, kuid seni, kuni nad kõik on üksteisega võrdsed, pole sellel liiga palju tähtsust. Piirav tegur on akrüül 18 ".
  3. Tükkide lõpus märkige U-kujuline kuju, mis on mõlemal küljel 1/8 tolli ja veidi üle 3/4 tolli. MÄRKUS. Kui kasutate erinevat akrüüli, muutub sügavus. <3/4 "juures ei hajuta minu akrüül üldse valgust. Veelgi enam, see hajub täielikult. Soovite vältida" helmeid ". Leidsin, et see Hackaday postitus on hea viide, kuid täiusliku hajumise saavutamine on väga raske!
  4. Lõigake lauaplaadi ruuteriga see keskmine U lõpuni alla liist. 22 "on pikem kui vaja, nii et ärge muretsege, kui te seda teete. Lõikurid võivad olla keerulised, kuid saate natuke, mis on veidi laiem kui pool U laiust, ja lõigake ettevaatlikult rohkem kui 1/ 8 "materjali korraga. Korda: Ärge proovige seda kõike teha kahe käiguga. Te kahjustate puitu ja tõenäoliselt vigastate ennast. Töötage ruuteri pöörlemisega lõikudel 1-4 ja 5-8 vastu. See tagab ruuteri pöördemomendi parima kontrolli.
  5. Lõika LED-riba 30-LED-osadeks (adresseeritav on ainult iga 3 LED-i komplekt). Tõenäoliselt peate mõned ühendused lahti tõmbama. Asetage need ribad mööda radasid. Üks külg peaks istuma samal tasapinnal ja teisel peaks olema veidi ruumi JST vastuvõtulaua jaoks, mis asetseb samal tasapinnal. Kahjuks ei saanud ma sellest pilti, aga vaata lisatud skeemi. Märkige siia pikkus, kuid ärge veel midagi lõigake.
  6. Mõõtke iga liistu laius. Selle ja 7. sammu pikkuse järgi lõikas laser akrüüli 10 vajalikuks ristkülikuks. Parem on olla veidi pikk kui veidi lühike. Kui see põleb, pühkige see isopropüüliga maha.
  7. Veenduge, et iga akrüülplaat istuks sama pikkusega, mille märkisite punktis 5, ja lõigake liist selle pikkusega alla.
  8. Nüüd vajate akrüüli kinnitamiseks kahte sillaosa. See võimaldab kergeid ribasid hõlpsalt hooldada, kui midagi peaks tekkima. Need tükid peaksid olema ligikaudu [teie laius] - 2 * 1/8 tolli pikad ja 1/2 tolli ruudukujulised, kuid need peaksid veidi tihedalt sobima. Kui need tükid on kindlalt paigas ja liistude esiküljega ühes tasapinnas, puurige iga silla keskelt liistude väliskülgedest augud. Andke endast parim, et iga harjutus oleks ühtlane. Ärge hoidke sildu sisse keeratud, kuid veenduge, et need saaksid olla. Olge ettevaatlik, ärge keerake kruvi liiga kaugele ja puitu lõhki.
  9. Sel hetkel määrige liistud ja kandke mis tahes viimistlus.
  10. Nüüd keerake sillad sisse. Veenduge, et nad istuksid lopsakalt! Kui ei, siis peate lisama mingisuguse läike. Kandke sildadele gorillaliim (eelistatud) või kuumliim (mis võib kahekordselt katta) ja kinnitage akrüül. Ärge kandke liimi piki liistu.
  11. Jootke JST -mahutid kõigi LED -ribade peale ühe külje. Pange need kõik samasse otsa nagu märgitud nooled. Jootke JST pistikute juhtmed teistesse otstesse. Võimalik, et peate igal pistikul rohkem juhtmeid eemaldama. Veenduge, et ühendused oleksid õiged, kui need on ühendatud! Valgusdioodide tagaküljel olev liim on kohutav, nii et ärge usaldage seda. Asetage valgusdioodid keskteele alla ja liimige need gorillaliimiga alla, pöörates tähelepanu ribadel näidatud suunale. Pidage meeles, et te madistate kogu asja.
  12. Esimesel liistul jootke piisavalt pikad juhtmed, et saada adapterist toide + maandus ja Arduino signaal.
  13. Keerake liistud ja sillad tagasi alla. Kinnitage käsuribad tagaküljele (takjapael, 2 keskmist üla- ja alaosa või 1 suur keskel). Tehke kõik vajalikud ühendused ja riputage seinale ~ 3 "kaugusel. Nautige oma töö vilju.

Soovitan: