Мазмуну:
Video: Ретро LED тилкесинин аудио визуализатору: 4 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Музыкант жана электротехниканын студенти катары, мен бул эки тармакты кесип өткөн долбоорду жакшы көрөм. Мен кээ бир DIY аудио визуализаторлорун көрдүм (бул жерде, бул жерде, бул жерде жана бул жерде), бирок ар бири мен үчүн койгон эки максаттын жок дегенде бирин өткөрүп жиберген: профессионалдуу курулуш сапаты жана салыштырмалуу чоң дисплей (wimpy 8*8) LED матрицасы бул жерде жетишсиз болмок!). Кандайдыр бир винтаждык жөндөмгө ээ жана 40 "x 20" өлчөмүндө отурганда, бул аудио визуализатор бул эки максатты тең аткарат.
Вертикалдуу сүрөттөр үчүн алдын ала кечирим сурайбыз. Алардын көбү социалдык тармактарга тартылган.
1 -кадам: Бөлүктөрдүн тизмеси
Менде бул бөлүктөрдүн бир нечеси мурун эле жаткан. Шилтемелер шилтеме үчүн гана. Сураныч, керексиз кымбат компоненттерди сатып албаңыз.
Электроника
- WS2811 60LEDS/m @ 5m, IP30 (Суу өткөрбөйт), Даректүү - Булар ошол кезде WS2812ден арзан болчу. Бул жерде сизде бир аз боштук бар, бирок өлчөмдөрү туура экенин жана LED менен сүйлөшө алаарыңызды текшериңиз. WS2811s 5V, ал эми WS2811s 12V экенин эске алыңыз.
- 9 х 3-пин JST туташтыргычтары + кабылдагычтар
- DC 12V 20A (240W) Электр энергиясы менен камсыздоо-Мен башында 2 LED тилкесин жасоону пландап, үйүңүздү ылдый түшүрүүчү спикерди кааладым. Ар бир жарык тилкеси эң начар сценарийде 90 Вт (мен ырастоо үчүн өлчөгөн жокмун), бул мени ~ 60W динамиктер + күчөткүч үчүн калтырды. 15A варианты баары бир болгону 4 долларга аз болчу.
- Электр шнуру (3 тиш)
- Arduino Uno - Менде R3 болчу, ошондуктан мен аны колдондум. Сиз нокауттардын биринен же башка сатуучудан арзан вариантты таба аласыз.
- TRRS Breakout - жардамчы киргизүү үчүн
- L7805 5V Regulator - 12V киргизүүнү кабыл алган 5V регулятору иштейт.
- 330 нФ, 100 нФ конденсаторлор - L7805 маалымат барагына
- 2 x 10kR, 2 x 1kR, 2 x 100 nF конденсаторлору - аудио киргизүү үчүн
- Стерео алуучу - ар кандай винтаждык стерео алгыч aux киргизүү (3.5mm же RCA) болгондо иштей берет. Мен Panasonic RA6600 craigslistти 15 долларга алдым. Мен Goodwill, craigslist жана башка дүкөндөрдү текшерүүнү сунуштайм*.
- Динамиктер - BT спикерлери эмес. Жөн эле спикер топтому. Кабыл алуучуңузга кандай импеданс туура келгенине көңүл буруңуз. Goodwillден $ 6 үчүн 3 20W (= катуу) колонкалардын топтомун таптым, ал "борбор" жана эки "алдыңкы" колонкалар менен келген.
- Logitech BT аудио адаптери - бул түзмөк аудиону стерео колонкаларга жана сиздин схемаңызга жөнөтө алат
- RCA эркектен RCA эркек кабелине
- Жардамчы шнур
Аппараттык
- 2x6 (8ft) - Басым менен дарыланбайт. HD же Лоуесте ~ $ 6 же андан аз болушу керек
- 40% Light Transmission Acrylic - Мен 18 "x 24" x 1/8 "буйрутма бердим, ал техникалык жактан 17.75" x 23.5 "болчу. Лазердик кесүүгө барганда аны ороп коюңуз.
- Жыгач так - Сизге кичинекей банка гана керек. Мен Minwax кызыл маогун колдондум, абдан сонун чыкты. Мен, албетте, кара түстү сунуштайм. Мен башында провинцияга аракет кылдым, анча деле жаккан жок.
- Лак - Биринчиден, Стив Рэмсинин бул видеосун карап көрүңүз жана эмне жакшы иштээрин өзүңүз чечиңиз. Мен жарым жылтырак спрей идишке ээ болдум (эч кандай жылтырак жок болчу) жана чынын айтсам, анчалык деле кылган жок. Бирок мен убакыттын тардыгына байланыштуу бир гана пальто жасадым.
- 40 x 1/2 "Жыгач бурамалары - Менде жеткиликтүү тегерек баш бар болчу, бирок мүмкүн болсо, жалпак үстүн колдонууну сунуштайм. Бул курулуштун сапатына тоскоол болбойт деп ойлобойм, бирок алгач жыгач иштетүү менен тааныш болгон адамдардан сурансаңыз болот.
- Жыгач, горилла клейи, ысык клей, ширетүүчү, зым жана буйрук тилкелери (велкро стили, 20 орто же 10 чоң)
* Мен бул долбоорду толугу менен "нөлдөн" жасоо үчүн үн тилкесин курууну пландап жатам, ал жогоруда 9-13тү алмаштырат. Мен муну менен жайдын аягына чейин жаңыртам деп үмүттөнөм.
2 -кадам: Прототиптөө
Бул бөлүм сиз толтурушуңуз керек болгон нерсе эмес, бирок мен долбоордун жүрүшүндө кандай болгонун көрсөткүм келет.
Бул жерде мен светодиоддорду жылан үлгүсүнө түшүрдүм жана үстүнө катылган таштанды баштыгы аркылуу жарык таркатуу менен тажрыйба жүргүзүп жаттым (эгер сиз чыгымдарды кыскартууга аракет кылып жатсаңыз, акрилге альтернатива катары сунуштайм. аны башка жол менен тиркеңиз).
10x10 орнотуусу мен үчүн иштеди, бирок сиз 8x12 же 7x14 форматын тандасаңыз болот. Эксперимент кылуудан тартынбаңыз. Менде стерео бар болгонго чейин, мен күчөткүчтү таап, аны нан панелиме илип койгом, ага чейин ноутбуктан аудиого анализ жүргүзүү үчүн аудиону ойнотуп, аны угуу үчүн бир эле учурда телефонума "ойнотуу" баскычын басып койгом.
Мен эки жолу өлчөөгө, бир жолу кесүүгө чоң ишенем. Андыктан эмне кылсаңыз, ошол көрсөтмөнү аткарыңыз, ошондо сиз даяр болосуз.
3 -кадам: Circuitry + Code
Код GitHubда жеткиликтүү.
Нан тактасы, перфорталга ширетүү же өзүңүздүн ПХБны долбоорлоо. Бул жерде сизге эң ылайыктуу болгон нерсенин бардыгын жасаңыз. Бул жерде менин демо столум иштеп жатат, бирок үн тактасын курганда мен баарын ПХБга өткөрүп берем. Адаптерден кубат алуу үчүн, аялдын учун кесип, кара жылуулоону алып салыңыз. Адаптер терминалдарына бурап коюу үчүн чыныгы кабелдерди жетиштүү түрдө чечип алыңыз. AC менен иштөөдө дайыма этият болуңуз! Мындан тышкары, бул жерде белгилей кете турган бир нече нерсе.
- Дагы бир нерсе - сиздин негизги жолдоруңуз жакшы экенине ынануу. Сизге адаптерден Arduinoга aux киргизүү үчүн жер керек, ал Logitech BT кабылдагычы менен жерге туташат жана ал жерден стерео. Эгерде алардын бири бузулган же начар байланыш болсо, анда сиз абдан ызы -чуу болгон аудио киришке ээ болосуз, демек, абдан ызы -чуу дисплейге ээ болосуз.
- Audio Input BiasingAudio сиздин телефонуңуздан же ноутбугуңуздан же -2.2ден +2.2Вга чейин ойнойт. Arduino 0дон +5Вга чейин окууга гана жөндөмдүү, андыктан аудио киргизүүнү бир жактуу кылуу керек. Муну оп -ампер менен эффективдүү түрдө ишке ашырса болот, бирок эгерде электр энергиясын керектөө көйгөй болбосо (балким сиз 240 Вт электр энергиясын сатып алдыңызбы?), Аны резисторлор жана конденсаторлор менен да жасаса болот. Мен тандаган баалуулуктар башкача болчу, анткени менде 10uF конденсатор жок болчу. Сиз тандаган нерсеңиздин иштээрин билүү үчүн симулятор менен ойной аласыз.
- Фурье трансформацияларын колдонгон ар бир долбоордо аларды талкуулоочу фондук бөлүм болот. Эгерде сизде тажрыйба болсо, анда сонун! Болбосо, сиз түшүнүшүңүз керек болгон нерсе - алар сигналдын сүрөтүн тартып, ошол учурда ошол сигналда кандай жыштыктар бар экендиги жөнүндө маалыматты кайтарып беришет. Демек, эгерде сиз күнөөнүн Фурьенин өзгөрүүсүн (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 китепканалары.
- Бардыгы реалдуу убакытта иштей алабы? Ар бир нерсе реалдуу убакытта пайда болушу үчүн, 128 үлгүлөрдү кармап, ошол FFTди иштетип, дисплейдин маанилерин башкарып, дисплейди тез жаңыртуусу керек. Эгерде сиз саатына 150/16да (көпчүлүк поп ырлардын жогорку темпине жакын) нота тактыгын кааласаңыз, анда баарын 100msec менен иштетүү керек болот. Кошумча катары, адамдын көзү 30FPSте көрө алат, бул 30msec кадр узундугуна туура келет. Бул блог жазуусу мага чоң ишеним берген жок, бирок мен Arduino кармап тураарын өзүм көрүүнү чечтим. Эсептөө фазасы чектөөчү фактор болчу, бирок мен UINT16лардын 128 FFT узундугун 70msec ичинде гана иштете алдым. Бул аудио толеранттуулуктун чегинде болгон, бирок визуалдык чектөөдөн эки эсе көп. Мындан аркы изилдөөлөрдө мен Arduino FHTти таптым, ал FFT симметриясын колдонот жана чыныгы баалуулуктарды гана эсептейт. Башкача айтканда, бул болжол менен 2 эсе тез. Жана, албетте, ал бүт циклдин ылдамдыгын ~ 30msec. One башка эскертүү дисплейдин чечилишине алып келди. Fs Hz үлгүсүндөгү N FFT узундугу N биндерди кайтарат, мында kth бин k * Fs/N Hz туура келет. Аудио кирүүнү окуп жана үлгүлөрдү алып жаткан Arduino ADC адатта ~ 9.6 кГцте иштейт. Бирок, FFT 1/2 * Fsке чейинки жыштыктар жөнүндө маалыматты гана кайтара алат. Адамдар 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" экенин эске алыңыз. Жана төмөндөгү машиналардын бири менен иштөөдө этият болуңуз.
- Керек болсо 2x6x8 жана кумуңузду алыңыз. Аны 2 "x 6" x 22 "бөлүктөргө бөлүңүз. Бул эгер сиз башаламан болсоңуз," күйгүзүү "үчүн эки кашекти берет.
- Ар бир 22 "бөлүгүн алып, 1,5" x ~ 1,6 "x 22" тактайчаларды жасоо үчүн узун жолдордун үстөлүнөн өткөрүңүз. Акыркы үчтөн бир бөлүгүн столдогу араага кесүү кыйын болушу мүмкүн, андыктан тилкелүү арага өтсөңүз болот. Баары мүмкүн болушунча түз экенине ынангыла. Кошумча, 1.6 "гид болуп саналат, жана 1.75 чейин бара алат". Бул менин фигураларым болчу, бирок баары бири -бирине барабар болсо, анча деле мааниге ээ эмес. Чектөөчү фактор - бул акрил 18 ".
- Бөлүмдөрдүн аягында U-формасын белгилеңиз, ал эки тараптын 1/8 дюймунда жана 3/4 тереңдигинен бир аз көбүрөөк. ЭСКЕРТҮҮ: Эгер башка акрил колдонсоңуз, тереңдиги өзгөрөт. <3/4 "болгондо, менин акрилим жарыкты такыр чачпайт. Бир аз көбүрөөк, ал толугу менен тарайт. Сиз кандайдыр бир" кооздуктан "алыс болгуңуз келет. абдан татаал!
- Үстөлдүн үстүндөгү роутердин жардамы менен, ортоңку U -ны тактан ылдый карай кесип салыңыз. 22 "узундугу сизге керек болгондон узунураак, андыктан четтерин сындыруудан коркпоңуз. Роутерлер татаал болушу мүмкүн, бирок U туурасынын жарымынан бир аз кеңирээк болгула жана этият болгула 1/ 8 "материал бир убакта. Кайталаңыз: Баарын 2 жол менен жасоого аракет кылбаңыз. Сиз жыгачка зыян келтирип, өзүңүзгө зыян келтиришиңиз мүмкүн. Маршрутизатордун айлануусу менен 1-4 кыскартуу менен иштеңиз жана 5-8де ага каршы иштеңиз. Бул роутердин моментин мыкты көзөмөлдөөгө кепилдик берет.
- LED тилкесин 30-LED бөлүктөргө бөлүңүз (ар бир 3 LEDдин дареги даректүү). Сиз, балким, бир нече байланышты өчүрүүңүз керек болот. Ошол тилкелерди жолдун боюна кой. Бир жагы таза отурушу керек, экинчисинде JST кабыл алуу үчүн кичинекей бөлмө болушу керек, ал таза отурат. Тилекке каршы, мен бул сүрөттү алган жокмун, бирок тиркелген схеманы карагыла. Бул жерге узундугун белгилеңиз, бирок азырынча эч нерсе кесип салбаңыз.
- Ар бир кашектин туурасын өлчөө. Бул жана 7 -кадамдын узундугу менен лазер акрилди 10 керектүү тик бурчтукка кесип салды. Бир аз кыска болгону үчүн бир аз узун болгону жакшы. Эгерде күйүп калса, аны изопропил менен сүртүңүз.
- Ар бир акрил плитасы 5 -кадамда белгиленген узундукта отурганын ырастаңыз, анан лампаны ушул узундукка чейин кесип салыңыз.
- Эми акрилди туташтыруу үчүн эки көпүрө керек. Бул кандайдыр бир нерсе пайда болгондо жарык тилкелерин оңой тейлөөгө мүмкүндүк берет. Бул бөлүктөр болжол менен [туураңыздын] - 2 * 1/8 "1/2" чарчы жүздөрү менен болушу керек, бирок алар бир аз бекем болушу керек. Бул бөлүктөр бекем жайгашып, лампалардын алдыңкы бети менен чайкалганда, ар бир көпүрөнүн ортосунан лампалардын сыртынан тешиктерди бургула. Ар бир бургулоону бир калыпта кылуу үчүн болгон күчүңүздү жумшаңыз. Көпүрөлөрдү бурап койбогула, бирок алар болушу мүмкүн экенине ынангыла. Бураманы өтө ылдый түшүрүп, жыгачты бөлүп албоо үчүн этият болуңуз.
- Бул учурда, лампаларды боёп, ар кандай сырды колдонуңуз.
- Эми көпүрөлөрдү бурап салыңыз. Алардын таза отурганын текшериңиз! Болбосо, кандайдыр бир шым кошуу керек болот. Көпүрөлөргө горилла клейин (артыкчылыктуу) же ысык клейди (жалтырак болуп эки эсе көбөйтүлүүчү) сүйкөп, акрил кошуңуз. Лампанын өзү боюнча эч кандай клей колдонбоңуз.
- SSTER JST идиштери бир LED тилкесинен башка баарына бир тарапта. Белгиленген жебелердин баарын бир четине коюңуз. JSTтин зымдарын башка учтарына сайыңыз. Ар бир туташтыргычка көбүрөөк зым сууруп алышыңыз керек болот. Туташтырылганда туташуулар туура болорун текшериңиз! Жарык диоддордун артындагы клей коркунучтуу, андыктан ага ишенбеңиз. Светодиоддорду борбордук трекке коюп, горилла клейи менен жабыштырып, тилкелерде көрсөтүлгөн багытка көңүл буруңуз. Баарын жылаңачтап жатканыңызды унутпаңыз.
- Биринчи тактада адаптерден кубаттуулукту + жана Arduino сигналын алуу үчүн жетишерлик узун зымдар.
- Лампаларды жана көпүрөлөрдү кайра артка буруңуз. Артка буйрук тилкелерин тиркеңиз (велкро стили, үстү жана асты 2 орто же борбордо 1 чоң). Бардык керектүү байланыштарды жасап, ~ 3 "бөлүгүндө дубалга илип коюңуз. Эмгегиңиздин үзүрүн көрүңүз.
Сунушталууда:
Лазердик калем үн визуализатору: 3 кадам (сүрөттөр менен)
Laser Pen Sound Visualiser: Бул колдонмодо сиз жөнөкөй ресурстар менен өз үн визуализаторун кантип жасоону ачасыз. Үндүн, музыканын же динамикке туташтыра турган нерселердин визуалдык өкүлчүлүгүн көрүүгө уруксат берүү! ЭСКЕРТҮҮ - Бул колдонмодо лазер калеми колдонулат, ал
Kylo Ren's Lightsaber негизделген аудио визуализатору: 5 кадам
Kylo Ren's Lightsaber негизделген аудио визуализатору: Kylo Renдин жарык саберинен шыктануу менен мен ардуиного туташкан диоддорду колдонуп аудио визуализатор жасоону чечтим, андан кийин ырдын негизинде диоддордун импульсун иштетүү үчүн … туура деп ойлодуңуз императордук март
Эрте эскертүү Raspberry PI Учуу тилкесинин жарыгы Учуу карталарын колдонуу: 14 кадам (Сүрөттөр менен)
Эрте эскертүү Raspberry PI Учуу картасынын маалыматтарын колдонуу менен учуу -конуу тилкеси: Бул чырак бир нече себептерден улам келип чыккан, анткени мен дайыма үстү менен учуп бараткан учактарга кызыгам жана жай мезгилинде дем алыш күндөрү кээде абдан кызыктуу адамдар айланып учушат. Сен аларды бара жатканда угууга жакын болсоң да
Музыка визуализатору менен Bluetooth спикери: 10 кадам (сүрөттөр менен)
Музыка визуализатору менен Bluetooth спикери: Бул көрсөтмөдө мен үстү жагында музыканын визуализатору бар бул Bluetooth спикерин кантип кураарымды көрсөтөм. Бул чындыгында сонун көрүнөт жана сиздин ырыңызды угуу учурун укмуш кылат. Визуализаторду иштетүүнү каалайсызбы же жокпу өзүңүз чечесиз
Arduino магниттик тилкесинин декодери: 4 кадам (сүрөттөр менен)
Arduino магниттик тилкенин декодери: Бул көрсөтмө эркин жеткиликтүү кодду, ардуинону жана стандарттык магниттик тилке окурманды кантип колдонуу керектигин көрсөтүп турат, мисалы, кредиттик карталар, студенттик билеттер ж. муну кийин жаз