Мазмұны:

Ретро жарық диодты жолақ аудио визуализаторы: 4 қадам (суреттермен)
Ретро жарық диодты жолақ аудио визуализаторы: 4 қадам (суреттермен)

Бейне: Ретро жарық диодты жолақ аудио визуализаторы: 4 қадам (суреттермен)

Бейне: Ретро жарық диодты жолақ аудио визуализаторы: 4 қадам (суреттермен)
Бейне: Тануки төбеден жоғары жылдамдықпен түседі!! 🛹🌪🦊 - Tanuki Sunset Classic GamePlay 🎮📱 🇰🇿 2024, Шілде
Anonim
Image
Image
Бөлшектер тізімі
Бөлшектер тізімі

Музыкант және электротехника мамандығының студенті ретінде маған осы екі өрісті қиып өтетін кез келген жоба ұнайды. Мен бірнеше DIY аудиовизуализаторларын көрдім (мұнда, мұнда, мұнда және осында), бірақ олардың әрқайсысы өзіме қойған екі мақсаттың кем дегенде біреуін жіберіп алды: кәсіби құрастыру сапасы мен салыстырмалы түрде үлкен дисплей (8*8 wimpy) Жарықдиодты матрица мұнда жеткіліксіз!). Винтаждық икемділікпен және 40 «x 20» өлшемінде отырғанда, бұл аудиовизуализатор екі мақсатқа да жетеді.

Тік фотосуреттер үшін алдын ала кешірім сұраймыз. Олардың көпшілігі әлеуметтік желілерге алынды.

1 -қадам: бөлшектер тізімі

Менде қазірдің өзінде бірнеше бөліктер болды. Сілтемелер тек анықтама үшін. Өтінемін, қажет емес компоненттерді сатып алмаңыз.

Электроника

  1. WS2811 60LEDS/m @ 5m, IP30 (Су өткізбейтін), мекенжайы бойынша - олар сол кезде WS2812 -ден арзан болды. Бұл жерде сізде біраз мүмкіндік бар, бірақ өлшемдердің дұрыс екеніне көз жеткізіңіз және жарық диодтармен сөйлесе аласыз. Сондай -ақ, WS2811 - 12В, WS2812 - 5В екенін ескеріңіз.
  2. 9 x 3 істікшелі JST коннекторлары + розеткалар
  3. DC 12V 20A (240 Вт) қуат көзі-Мен бастапқыда 2 жарықдиодты жолақты жасауды жоспарладым және үйден төмен түсетін динамик жиынтығын алғым келді. Әр жарық жолағы-90 Вт нашар жағдайда (мен растау үшін өлшеген жоқпын), бұл маған динамиктер + күшейткіштер үшін ~ 60 Вт қалдырды. 15A опциясы бәрібір 4 долларға аз болды.
  4. Қуат сымы (3 шығыс)
  5. Arduino Uno - Менде R3 болды, сондықтан мен оны қолдандым. Сіз нокауттардың бірінен немесе басқа сатушыдан арзан нұсқаны таба аласыз.
  6. TRRS Breakout - көмекші енгізу үшін
  7. L7805 5V реттегіші - 12В кернеуді қабылдайтын кез келген 5В реттегіш жұмыс істейді.
  8. 330 nF, 100 nF конденсаторлар - L7805 мәліметтер кестесі бойынша
  9. 2 x 10kR, 2 x 1kR, 2 x 100 nF конденсаторлар - аудио кірісті бұру үшін
  10. Стереоқабылдағыш - кез келген винтажды стерео қабылдағыш қосалқы кірісі (3,5 мм немесе RCA) болғанша жұмыс істейді. Мен Panasonic RA6600 craigslist -ті 15 долларға алдым. Мен Goodwill, craigslist және басқа да дүкендерді осыған ұқсас тексеруді ұсынамын*.
  11. Динамиктер - BT динамиктері емес. Тек динамиктер жиынтығы. Қабылдағышпен қандай кедергі сәйкес келетініне назар аударыңыз. Мен Goodwill -де 6 долларға 20 20 Вт (= қатты) динамиктер жиынтығын таптым, ол «орталық» және екі «алдыңғы» динамиктермен бірге келді.
  12. Logitech BT аудио адаптері - бұл құрылғы дыбысты стерео үндеткіштерге және сіздің схемаңызға жібере алады
  13. RCA еркектен RCA еркек кабелі
  14. Көмекші сым

Аппараттық құрал

  1. 2x6 (8 фут) - Қысыммен өңделмеген. HD немесе Lowe -де ~ 6 доллар немесе одан аз болуы керек
  2. 40% жарық өткізгіш акрил - мен 18 «x 24» x 1/8 дюймге тапсырыс бердім, ол техникалық жағынан 17,75 «x 23,5» болды. Лазерлік кесуге барғанда оны қаптамада сақтаңыз.
  3. Ағаш дақ - Сізге тек кішкене банка қажет. Мен Minwax қызыл қызыл ағашын қолдандым және бұл өте жақсы шықты. Мен міндетті түрде қара реңкті ұсынамын. Бастапқыда мен провинциалды сынап көрдім, және бұл жақсы көрінбеді.
  4. Лак - алдымен Стив Рэмзидің бұл бейнесін қарап шығыңыз және қайсысы жақсы жұмыс істейтінін өзіңіз шешіңіз. Мен жартылай жылтырататын бүріккіш банка алдым (жылтыр жоқ) және шынымды айтсам, бұл онша емес. Бірақ мен уақыт шектеулігіне байланысты бір пальто ғана жасадым.
  5. 40 х 1/2 дюймдік ағаш бұрандалар - менде дөңгелек бас бар, бірақ егер мүмкін болса, тегіс үстіңгі тақтаны қолдануды ұсынамын. Бұл құрылыс сапасына кедергі келтірмейді деп ойлаймын, бірақ алдымен ағаш өңдеуді жақсы білетіндерден сұраңыз.
  6. Ағаш сынықтары, горилла желімі, ыстық желім, дәнекерлеу, сым және командалық жолақтар (велкро стилі, 20 орташа немесе 10 үлкен)

* Мен бұл жобаны толығымен «нөлден» жасау үшін дыбыс тақтасын құруды жоспарлап отырмын, ол жоғарыдағы 9-13 ауыстырады. Мен бұл нұсқаулықты жаздың соңына дейін жаңартамын деп үміттенемін.

2 -қадам: прототиптеу

Прототиптеу
Прототиптеу

Бұл бөлімді толтыру қажет емес, бірақ мен жобаның қалай жүріп жатқанын көрсеткім келеді.

Мұнда мен жарық диодтарын жылан үлгісіне жапсырдым және үстіңгі қабаттағы қоқыс дорбасы арқылы жарық таратуды тәжірибеден өткіздім (егер сіз шығындарды азайтқыңыз келсе, мен оны акрилге балама ретінде ұсынамын. Сізге қажет болса да) оны басқаша бекітіңіз).

Мен үшін 10x10 қондырғысы жұмыс істеді, бірақ сіз 8x12 немесе 7x14 өлшемін таңдай аласыз. Тәжірибе жасаудан тартынбаңыз. Менде стерео жоқ болғанша, мен күшейткішті тауып, оны тақтаға жалғадым, бұған дейін мен аудионы талдау үшін ноутбуктен аудиоға дейін ойнадым және оны есту үшін телефоныма «ойнату» түймесін бастым.

Мен екі рет өлшеуге, бір рет кесуге үлкен сенемін. Сондықтан не істесеңіз де, осы нұсқаулықты орындаңыз, сонда сіз реттелесіз.

3 -қадам: Цикл + код

Цикл + код
Цикл + код
Цикл + код
Цикл + код
Цикл + код
Цикл + код

Код GitHub -те қол жетімді.

Нан тақтасы, перформатқа дәнекерлеу немесе өзіңіздің ПХД -ді жобалау. Мұнда сізге қайсысы жақсы болса, соны жасаңыз. Менің демонстрациям тақтада жұмыс істейді, бірақ мен дыбыс тақтасын құрған кезде бәрін ПХД -ге ауыстырамын. Адаптерден қуат алу үшін аналық ұшын кесіп, қара оқшаулауды алып тастаңыз. Нақты кабельдерді адаптер терминалдарына бұрап алу үшін жеткілікті түрде алыңыз. Айнымалы токпен жұмыс жасағанда әрқашан абай болыңыз! Бұдан басқа, мұнда бірнеше нәрсені атап өту керек.

  1. Жердегі жолдар Тағы бір нәрсе - сіздің негізгі жолдарыңыз жақсы екеніне көз жеткізу. Сізге адаптерден Arduino -ға қосалқы кіріс үшін жер қажет, ол Logitech BT қабылдағышындағы жерге қосылады және сол жерден стереоға қосылады. Егер олардың біреуі үзілген немесе нашар байланыс болса, онда сіз өте шулы аудио кіріс аласыз, демек, өте шулы дисплей.
  2. Аудио кіріс BiasingAudio телефоннан немесе ноутбуктен немесе кез келген жерде қосымша сым арқылы ойнатылады -2.2 -ден +2.2В -ге дейін. Arduino тек 0 -ден 5В -ке дейін оқуға қабілетті, сондықтан сізге аудио кірісті бұрмалау қажет. Мұны оптимальды ампер көмегімен тиімді орындауға болады, бірақ егер электр қуатын тұтыну мәселе болмаса (мүмкін сіз 240 Вт қуат көзін сатып алдыңыз ба?), Оны резисторлар мен конденсаторлар көмегімен де жасауға болады. Мен таңдаған мәндер әр түрлі болды, себебі менде 10uF конденсаторлар жоқ. Сіз симулятормен ойнап, сіз таңдағанның жұмыс істейтінін біле аласыз.
  3. Фурье түрлендірулерін қолданатын кез келген жобада оларды талқылайтын фондық бөлім болады. Егер сізде тәжірибе болса, керемет! Олай болмаған жағдайда, олар сигналдың суретін түсіріп, сол уақытта сол сигналда қандай жиіліктер бар екендігі туралы ақпаратты қайтаруы керек. Егер сіз күнәнің Фурье түрленуін қабылдасаңыз (440 (2*pi*t)), бұл сіздің сигналыңызда 440 Гц жиілігі бар екенін айтады. Егер сіз 7*sin (440 (2*pi*t)) + 5*sin (2000 (2*pi*t)) Фурье түрлендіруін алсаңыз, бұл сізге 440 Гц және 2000 Гц сигналдары бар екенін және олар қатысатын салыстырмалы дәрежелер. Ол мұны компоненттердің кез келген саны бар кез келген сигнал үшін жасай алады. Барлық аудио тек синусоидалардың жиынтығы болғандықтан, біз Фурьенің көптеген суреттерін түрлендіріп, шын мәнінде не болып жатқанын көре аламыз. Сіз Фурьені қабылдамас бұрын сигналға терезені қолданатынымызды көресіз. түрлендіру. Бұл туралы толығырақ мына жерден табуға болады, бірақ қысқаша түсініктеме - бұл біз трансформацияны аяқтайтын сигнал өте нашар, ал терезелер бұл мәселені шешеді. Егер сіз оларды пайдаланбасаңыз, сіздің кодыңыз бұзылмайды, бірақ дисплей таза болып көрінбейді. Жақсы алгоритмдер болуы мүмкін (мысалы, YAAPT), бірақ KISS қағидаларына сүйене отырып, мен не пайдалануды таңдадым қазірдің өзінде қол жетімді болды, бұл Fast Fourier Transform немесе FFT үшін бірнеше жақсы жазылған Arduino кітапханалары.
  4. Барлығы нақты уақытта көрінуі үшін Arduino 128 үлгіні алып, FFT өңдеуі, дисплей мәндерін басқаруы және дисплейді тез жаңартуы қажет. Егер сіз 1/16 -дағы жазбаның дәлдігін сағатына 150 -де алғыңыз келсе (көптеген эстрадалық әндердің жоғарғы қарқынына жақын), сіз бәрін 100 мс секундта өңдеуіңіз керек. Сонымен қатар, адам көзі кадрдың ұзындығына 30 мс сәйкес келетін 30 кадр жылдамдығында көре алады. Бұл блог жазбасы маған үлкен сенімділік бермеді, бірақ мен Arduino -ны көтере алатынын өз көзіммен көруді шештім. Өзімнің бенчмаркингтен кейін мен R3 -пен мақтандым. Есептеу кезеңі шектеу коэффициенті болды, бірақ мен UINT16 -ның 128 FFT ұзындығын 70 мс секундта өңдей алдым. Бұл аудио толеранттылық шегінде болды, бірақ визуалды шектеу екі есе асады. Қосымша зерттеулерде мен FFT симметриясының артықшылығын пайдаланатын және тек нақты мәндерді есептейтін Arduino FHT таптым. Басқаша айтқанда, бұл шамамен 2 есе жылдам. Және бұл, әрине, циклдің бүкіл жылдамдығын ~ 30 мс дейін жеткізді. Fs Hz үлгісінде алынған N FFT ұзындығы N бинстерді қайтарады, мұнда k -ші контейнер k * Fs/N Гц сәйкес келеді. Дыбыстық кірісті оқитын және үлгілерді алатын Arduino ADC әдетте ~ 9.6 кГц жиілікте жұмыс істейді. Дегенмен, FFT 1/2 * Fс дейінгі жиіліктер туралы ақпаратты ғана қайтара алады. Адамдар 20 кГц -ке дейін ести алады, сондықтан біз> 40 кГц жиілікте сынама алғымыз келеді. ADC сәл жылдамырақ жұмыс істеу үшін бұзылуы мүмкін, бірақ жақын жерде. Мен тұрақтылықты жоғалтпай көрген ең жақсы нәтиже 14 кГц ADC болды. Сонымен қатар, нақты уақыттық эффект алу үшін өңдей алатын ең үлкен FFT N = 128 болды. Бұл дегеніміз, әрбір контейнер ~ 109 Гц құрайды, бұл жоғары жиілікте жақсы, бірақ төменгі жағында нашар. Жақсы визуализатор әр жолақ үшін [16.35, 32.70, 65.41, 130.81, 261.63, 523.25, 1046.50, 2093.00, 4186.01] Гц жиіліктегі сәйкес келетін октаваны сақтауға тырысады. 109Гц дегеніміз - алғашқы 2,5 октаваның барлығы бір қоқыс жәшігінде. Мен әлі де жақсы визуалды әсерге қол жеткізе алдым, ішінара әр шелектің орташа мәнін алу арқылы, шелек - бұл екі шекараның арасындағы қоқыс жәшіктері тобы. Бұл шатастырмайды деп үміттенемін, және кодтың өзі не болып жатқанын түсіндіруі керек, бірақ мағынасы жоқ болса, төменде сұраңыз.

4 -қадам: құрастыру

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

Жоғарыда айтқанымдай, мен кәсіби құрылыс сапасы бар нәрсені алғым келді. Бастапқыда мен ағаш тақтайшаларды бірге желімдей бастадым, бірақ менің досым (және білікті инженер -механик) басқа әдісті ұсынды. Назар аударыңыз, 2x6 шынымен 1,5 «x 5». Және төмендегі кез келген техникамен жұмыс жасағанда абай болыңыз.

  1. Қажет болса, 2x6x8 және құм алыңыз. Оны 2 «x 6» x 22 «бөліктерге бөліңіз. Бұл сізге шатасатын болсаңыз,» күйдіруге «екі тақтаны береді.
  2. Әр 22 дюймдік бөлікті алыңыз және оны ұзындығы 1,5 дюйм болатын тақталар арқылы өтіңіз. Соңғы үштен бір бөлігін үстелге кесу қиын болуы мүмкін, сондықтан таспалы араға ауысуға болады. Барлығы мүмкіндігінше түзу екеніне көз жеткізіңіз. Сонымен қатар, 1.6 «нұсқаулық болып табылады және 1,75 дейін көтерілуі мүмкін. Бұл менің кесектерім болды, бірақ егер олар бір -біріне тең болса, бұл маңызды емес. Шектеуші фактор - акрил 18 «.
  3. Бөлшектердің соңында U-пішінін белгілеңіз, ол екі жағынан 1/8 дюйм және тереңдігі 3/4 сәл артық. ЕСКЕРТПЕ: Егер сіз басқа акрилді қолдансаңыз, тереңдігі өзгереді. <3/4 дюймде менің акрил жарықты мүлдем таратпайды. Аздап болса да, ол толықтай таралады. Сіз кез келген «моншақтан» аулақ болғыңыз келеді. Мен бұл Хаккэйд жазбасын жақсы сілтеме деп таптым, бірақ тамаша диффузияны алу - бұл өте қиын!
  4. Үстел үсті маршрутизаторының көмегімен U ортасын жолдан төмен қарай кесіңіз. 22 дюйм сізге қажет болғаннан ұзағырақ, сондықтан егер ұсақ болса, ұштарын қопсыту туралы уайымдамаңыз. Маршрутизаторлар күрделі болуы мүмкін, бірақ U енінің жартысынан сәл сәл кеңірек етіп алыңыз және 1 -ден артық кесуге мұқият болыңыз. Бір уақытта 8 дюймдік материал. Қайталаңыз: бәрін 2 жолмен жасауға тырыспаңыз. Сіз ағашқа зақым келтіріп, өзіңізге зиян келтіре аласыз. Маршрутизатордың айналуымен 1-4 қысқартулармен жұмыс жасаңыз, ал 5-8-ге қарсы жұмыс жасаңыз. Бұл маршрутизатордың айналу моментін жақсы басқаруға мүмкіндік береді.
  5. Жарық диодты жолақты 30-жарықдиодты бөліктерге кесіңіз (тек 3 светодиодтың әр жиынтығын адрестеуге болады). Сізге бірнеше қосылымдарды өшіру қажет болуы мүмкін. Бұл жолақтарды жолдардың бойына қойыңыз. Бір жағы біркелкі отыруы керек, ал екінші жағында JST қабылдай алатын кішкене бөлме болуы керек, ол біркелкі болады. Өкінішке орай, мен бұл суретті көрмедім, бірақ берілген диаграмманы қараңыз. Ұзындығын осында белгілеңіз, бірақ әлі ештеңені қимаңыз.
  6. Әр тақтаның енін өлшеңіз. Бұл және 7 -қадамдағы ұзындықтың көмегімен лазер акрилді 10 қажетті тіктөртбұрышқа бөледі. Біраз қысқа болғанша, сәл ұзын болғаны жақсы. Егер күйіп қалса, оны изопропилмен сүртіңіз.
  7. Әр акрил тақтайшасы 5 -қадамда белгіленген ұзындыққа сәйкес келетінін растаңыз, содан кейін тақтаны осы ұзындыққа дейін кесіңіз.
  8. Акрилді бекіту үшін сізге көпірдің екі бөлігі қажет. Бұл кез келген нәрсе пайда болған кезде жеңіл жолақтарға оңай қызмет көрсетуге мүмкіндік береді. Бұл бөліктер шамамен [ені] болуы керек - ұзындығы 2 * 1/8 дюйм болатын 1/2 дюймдік беттермен, бірақ олар сәл тығыз орналасуы керек. Бұл бөліктерді мықтап бекітіп, тақтайшалардың алдыңғы жағымен шайып тастай отырып, әр көпірдің ортасынан ойықтардың сыртынан тесіктер бұрғылаңыз. Әр жаттығуды біркелкі ету үшін бар күшіңізді салыңыз. Көпірлерді бұрап ұстамаңыз, бірақ олардың болуы мүмкін екеніне көз жеткізіңіз. Бұранданы тым төмен түсіріп алмау үшін абай болыңыз.
  9. Осы кезде тақталарды бояп, кез келген әрлеуді қолданыңыз.
  10. Енді көпірлерді бұраңыз. Олардың таза отыратынына көз жеткізіңіз! Олай болмаған жағдайда, сізге қандай да бір шымтезек қосу керек болады. Көпірлерге горилла желімін (қалау бойынша) немесе ыстық желімді жағыңыз (ол жылтыр ретінде қосарлана алады) және акрилді бекітіңіз. Тырнақтың бойына желім жағуға болмайды.
  11. Дәнекерленген JST ыдыстары бір жарық диодты жолақтан басқа. Олардың барлығын белгіленген көрсеткілермен бір шетке қойыңыз. JST сымдарын басқа ұштарына дәнекерлеңіз. Сізге әр коннекторға көбірек сым тарту қажет болуы мүмкін. Қосылған кезде қосылымдардың дұрыстығына көз жеткізіңіз! Жарық диодтарының артындағы жабысқақ қорқынышты, сондықтан оған сенбеңіз. Светодиодтарды орталық жолға қойып, жолақтардағы көрсетілген бағытқа назар аудара отырып, горилла желімімен жабыстырыңыз. Есіңізде болсын, сіз бәрін жылап отырсыз.
  12. Бірінші тақтада адаптерден қуат алу үшін + Arduino сигналын алу үшін жеткілікті ұзын сымдар дәнекерленген.
  13. Тіректер мен көпірлерді артқа қарай бұраңыз. Командалық жолақтарды артқы жағына бекітіңіз (велкро стилі, жоғарыда және төменде 2 орта немесе ортасында 1 үлкен). Барлық қажетті байланыстарды орнатып, қабырғаға ~ 3 дюйм қашықтықта іліп қойыңыз. Еңбегіңіздің жемісін көріңіз.

Ұсынылған: