Мазмұны:
- Жабдықтар
- 1 -қадам: Идея
- 2 -қадам: схемалық және дыбыстық өңдеу
- 3 -қадам: жарықдиодты дөңгелек
- 4 -қадам: Визуализация
- 5 -қадам: Түймешік басқару элементтері
- 6 -қадам: Beat Detection және Servo «би»
- 7 -қадам: 3D пішіндері
- 8 -қадам: Қуат көзі
- 9 -қадам: Bluetooth басқару
- 10 -қадам: Blynk негізіндегі қосымшаны басқару
- 11 -қадам: Эскиздер мен кітапханалар
- 12 -қадам: Болашақ жақсартулар
Бейне: Портативті шамдар: 12 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Tinkercad жобалары »
Сіз мерекеге жарық әкеліп, оны көңілді ете аласыз ба?
Бұл сұрақ болды. Және жауап ИӘ (әрине).
Бұл нұсқаулық музыканы тыңдайтын және Neopixel жарық диодтарының концентрлі сақиналарынан музыканың визуализациясын жасайтын портативті құрылғы жасау туралы.
Құрылғыны «би» етуге, яғни музыканың ырғағына қарай жылжытуға әрекет жасалды, бірақ соққыларды анықтау күрделірек жұмыс болып шықты (ешқандай ойын жоқ), сондықтан «би» сәл ыңғайсыз, бірақ әлі де бар.
Құрылғы Bluetooth қосылған және мәтіндік командаларға жауап береді. Party Lights (Android немесе iOS) басқару үшін қосымша жазуға уақытым болмады. Егер сіз тапсырманы орындауға дайын болсаңыз - маған хабарлаңыз !!!
Егер сізге бұл нұсқаулық ұнайтын болса, Make It Glow байқауында оған дауыс беріңіз!
Жабдықтар
Партиялық шамдар жасау үшін сізге қажет:
- STM32F103RCBT6 Leaflabs Leaf Maple Mini USB ARM Cortex -M3 Arduino модулі (мұнда сілтеме) - құрылғының миы. Бұл салыстырмалы түрде арзан қондырғылар соншалықты қуатты, сіз неге Arduino -ға қайта оралатыныңыз белгісіз.
- MSGEQ7 жолақты графикалық эквалайзер IC DIP-8 MSGEQ7 (сілтеме мына жерде)
- HC-05 немесе HC-06 Bluetooth модулі (сілтеме мына жерде)
- Adafruit MAX9814 микрофон (сілтеме мына жерде)
- Стандартты сервоқозғалтқыш (сілтеме мына жерде) - бұл сіздің құрылғыңыздың «билеуін» қалайды.
- CJMCU 61 биттік WS2812 5050 RGB жарықдиодты драйверлерді дамыту тақтасы (сілтеме мына жерде)
- TTP223 сенсорлық перне модулі сыйымдылықты реттейтін өзін-өзі құлыптау/құлыптау тақтасы (сілтеме мына жерде)
-
Ultra Compact 5000-mah қос USB шығысы Super Slim Power Bank (сілтеме мына жерде)
- Резисторлар, конденсаторлар, сымдар, желім, бұрандалар, прототиптеу тақталары және т.б.
1 -қадам: Идея
Идея - музыка көзіне жақын орналастырылатын портативті құрылғы болу және ол түрлі -түсті музыкалық визуализацияларды жасайды. Сіз құрылғының әрекетін түймелер (сенсорлық) және Bluetooth арқылы басқара алуыңыз керек.
Қазіргі уақытта Party Lights -те 7 визуализация бар (егер сізде көбірек идеялар болса, маған хабарлаңыз!):
- Концентрлі түсті шеңберлер
- Мальта кресті
- Пульсирленген шамдар
- Камин (менің жеке сүйіктім)
- Жарық шамдары
- Жеңіл ағаштар
- Бүйірлік сегменттер
Әдепкі бойынша, құрылғы әр минут сайын визуализация арқылы өтеді. Дегенмен, пайдаланушы бір визуализацияны қолдана алады және/немесе олар арқылы қолмен айналады.
Түс палитрасын айналдыратын визуализациялар, егер пайдаланушыға белгілі бір түс комбинациясы ұнайтын болса, «қатып қалуы» мүмкін.
Қосымша басқару элементтері ретінде пайдаланушы микрофон сезімталдығын өзгерте алады және серво -мотордың «би» режимін қосады/өшіре алады.
2 -қадам: схемалық және дыбыстық өңдеу
Ажырататын схемалық файл Github пакетіне «файлдар» ішкі қалтасына кіреді.
Негізінде MSEQ7 чипі дыбыстық сигналды 7 диапазонға бөлетін өңдеуді орындайды: 63 Гц, 160 Гц, 400 Гц, 1 кГц, 2.5 кГц, 6.25 кГц және 16 кГц
Микроконтроллер әр түрлі визуализацияларды жасау үшін сол 7 диапазонды қолданады, негізінен сәйкес диапазон амплитудасын жарықдиодты жарықтың қарқындылығы мен түс комбинациясына салыстырады.
Дыбыс көзі - кірісті басқарудың 3 деңгейі бар микрофон. Дыбыс көзінің қаншалықты алыс/қатты екеніне байланысты батырмалардың бірін қолдана отырып, кіріс параметрлері арқылы ауысуға болады.
Микроконтроллер 63 Гц «басс» диапазонында «соққыларды» анықтауға тырысады. Мен әлі де соққының туралануын анықтау мен қолдаудың сенімді әдісі бойынша жұмыс жасаймын.
«Сенсорлық» батырмаларды қолдану эксперимент болды. Менің ойымша, олар өте жақсы жұмыс істейді, алайда баспасөзге кері байланыстың болмауы біршама шатастырады.
3 -қадам: жарықдиодты дөңгелек
Көрнекіліктің өзегі - жарықдиодты 61 дөңгелегі.
Назар аударыңыз, бұл бөлік жеке сақиналар түрінде болады, оларды сіз біріктіруіңіз керек. Мен электр желілеріне арналған мыс сымдарды (сақиналарды жақсы ұстайтын) және жұқа сигналды сымдарды қолдандым.
Светодиодтар 0 -ден 60 -қа дейін нөмірленеді, төменгі сыртқы жарықдиодтан бастап сағат тілімен ішке қарай. Орталық жарық диоды - 60.
Әрбір визуализация екі өлшемді деректер массивіне сүйенеді, олар әрбір жарықдиодты мақсатты визуализация сегменті үшін белгілі бір орынға салыстырады.
Мысалы, концентрлі шеңберлер үшін 5 сегмент бар:
- Сыртқы шеңбер, жарық диодтары 0 - 23, 24 светодиодтар
- Екінші сыртқы шеңбер, светодиодтар 24 - 39, 16 светодиодтар
- Үшінші шеңбер (ортада), светодиодтар 40 - 51, 12 светодиодтар
- Екінші ішкі шеңбер, светодиодтар 52 - 59, 8 светодиодтар
- Жарықдиодты жарықдиодты 60, жарықдиодты 60, ұзындығы 1
Визуализация 7 аудио арнаның 5 -ін салыстырады және диодты диапазондағы дыбыс деңгейіне пропорционалды түрде дөңгелек диапазондағы орнына сәйкес біртіндеп жарықтандырады.
Басқа визуализациялар әртүрлі деректер құрылымдары мен форматтарын қолданады, бірақ идея әрқашан кодпен емес, мәліметтер массивтерімен басқарылатын визуализация болып табылады. Осылайша визуализацияны кодты өзгертпестен, әр түрлі пішіндерге (көп немесе аз жарық диодты шамалар, көбірек эквақызыл диапазондары) реттеуге болады, тек деректер массивтеріндегі мәндер.
Мысалы, 1 визуализация үшін деректер құрылымы эскизде осылай көрінеді:
// Визуализация 1 және 3 - толық 5 дөңгелекше байт TOTAL_LAYERS1 = 5; const байт LAYERS1 [TOTAL_LAYERS1] [25] = {// 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 {24, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}, {16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39}, {12, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51}, {8, 52, 53, 54, 55, 56, 57, 58, 59}, {1, 60}};
4 -қадам: Визуализация
Әзірге 7 визуализация және стартап-анимация бар:
Іске қосу анимациясы
Құрылғы қосылған кезде отшашудың имитациясы көрсетіледі. Бұл светодиоды және сервистік сынақ тізбегі болуы керек еді, бірақ кейінірек мұндай сынақтың анимациялық нұсқасына айналды
Түрлі түсті концентрлі шеңберлер
Жарықтар дисплейдің айналасында сәйкес экв диапазонының амплитудасына пропорционалды концентрлі шеңберлерде айналады. Сағат тілі мен сағат тіліне қарсы кездейсоқ ауысу және 256 түсті дөңгелектің үстінде түстерді баяу айналдыру
Мальта кресті
Бір диапазон - бұл орталық жарық диоды. Басқа диапазон - бұл жарық диодтардың тік және көлденең сызықтары, ал қалған сегменттер әрқайсысының эквиваленттік диапазонын білдіреді. Барлық сегменттер контрастты сақтау үшін 128 офсеттік түспен айналады.
Пульсирленген шамдар
Әр шеңбер экв диапазоны үшін барлық светодиодтарды біртіндеп жағады, сонымен қатар түстерді сәл ығысумен баяу айналдырады. EQ диапазоны бір шеңберден екінші шеңберге біртіндеп ауысады, бұл сыртқы прогрессияны тудырады.
Камин
Жолақтар төменнен жоғарыға қарай ашық қызылдан басталып, каминде жанып жатқан отты елестететін сары түспен қосылатын жартылай шеңберлер. Кездейсоқ ашық ақ «ұшқын» кездейсоқ көтеріледі. Түстердің айналуы жоқ
Жарық шамдары
Әр концентрлі шеңбер жеке EQ диапазоны болып табылады. Жетекші светодиодтар - орталық жарықдиодтың астындағы тік сызықта. Жарық диодты диапазон амплитудасына пропорционалды түрде жанғаннан кейін, ол қарқындылықты баяу төмендететін сәйкес шеңбердің айналасында «жүгіре» бастайды. Кездейсоқ ауысатын сағат тіліне және сағат тіліне қарсы бұрылыстарға қолдау көрсетіледі.
Жеңіл ағаштар
Сегменттер светодиодтан жоғары қарай түзу сызықпен, содан кейін бүйіріне пальма ағаштарына еліктейтін концентрлі жартылай шеңберлермен жарықтандырылады. Түстердің айналуы.
Бүйірлік сегменттер
Бұл алдыңғы Мальта крестінің нұсқасы, ол тек қана диагональды 2 сегментті қолданған. Дыбыс толқындарының белгішесіне ұқсайды.
5 -қадам: Түймешік басқару элементтері
Сенсорлық 4 түйме бар:
- Визуализация бойынша цикл жасаңыз және екіншісі таңдалғанға дейін ағымдағы режимді сақтаңыз (әдепкі бойынша цикл 30 секунд сайын өтеді)
- «Қату» / «еріту» ағымдағы түс схемасы - егер сізге белгілі бір түс комбинациясын ұнатсаңыз, оны қатырып қоюға болады - түс айналуы өшірілген және визуализация тек осы түстер палитрасымен жалғасады.
- Микрофон сезімталдығын реттеу
- «Би режимін» қосыңыз / өшіріңіз
Би режимінде құрылғы қазіргі уақытта ойнап жатқан музыканың «соққысын» анықтап, соққыға сәйкес басын бұруға тырысады. Әзірге «би» әдеміден гөрі ыңғайсыз.
6 -қадам: Beat Detection және Servo «би»
Құрылғы 63 Гц диапазонының кезекті шыңдары арасындағы қашықтық ретінде ағымдағы күйдің «соққысын» анықтауға үнемі тырысады. Анықталғаннан кейін (және егер би режимі ҚОСУЛЫ болса), құрылғы соққыға сәйкес кездейсоқ солға немесе оңға бұрылу үшін серво қозғалтқышын қосады.
Мұны қалай сенімді ету туралы кез келген жарқын идеялар құпталады!
'Music_Test_LED' эскизі 7 EQ диапазонын Arduino IDE көмегімен жоспарлауға қолайлы етіп шығарады.
7 -қадам: 3D пішіндері
Party Lights жиынтығы Autodesk TinkerCAD көмегімен нөлден жасалған.
Түпнұсқалық дизайн осы жерде орналасқан. Github.com сайтындағы «файлдар/3D» қалтасында STL үлгілері бар.
Бұл дизайн құрылғының қалай жиналғанын көрсетеді.
Барлық компоненттер басып шығарылды, содан кейін біріктірілді/желімделді.
«Күмбезде» микроконтроллер, Bluetooth тақтасы мен микрофон орналасқан. Микроконтроллер 40 мм х 60 мм тақтаға орнатылған және арнайы рельстермен бекітілген.
Серво күмбездің «аяғында», ал түймелер негізде орналасқан.
Батарея бөлімі «Жабдықтар» бөлімінде көрсетілген аккумулятор түрі үшін арнайы басып шығарылған. Егер сіз басқа батареяны пайдалануды шешсеңіз, бөлімше сәйкесінше қайта жасалуы керек.
8 -қадам: Қуат көзі
Ultra-Compact 5000-mah қос USB шығысы Super Slim Power Bank бірнеше сағат жұмыс істеуге жеткілікті қуат беретін сияқты.
Аккумулятор бөлімі құрылғының қалған бөлігінен ажыратылатын етіп жасалған және оны басқа батарея түріне арналған бөлікке ауыстыруға болады.
USB қосқышы батареяны кіргізу үшін жалғау үшін орнына бекітілген және ыстық желімделген.
9 -қадам: Bluetooth басқару
Құрылғыны сымсыз басқаруды қамтамасыз ету үшін HC-05 модулі қосылады.
Қосылған кезде құрылғы «LEDDANCE» деп аталатын Bluetooth байланысын жасайды, оны телефонмен байланыстыруға болады.
Ең дұрысы, PartyLights -ты басқаруға мүмкіндік беретін қосымша болуы керек (түстер палитрасын таңдау, түймелерді басуды имитациялау және т.б.). Алайда, мен әлі біреуін жазған жоқпын.
Егер сіз Android Ladies немесе iOS үшін қосымшаларды жазуға көмектескіңіз келсе, маған хабарлаңыз!
Құрылғыны басқару үшін Bluetooth терминалы қосымшасын қолданып, келесі пәрмендерді жіберуге болады:
- LEDDBUTT - бұл жерде '1', '2', '3' немесе '4' сәйкес түймені басуды модельдейді. Мысалы: LEDDBUTT1
- LEDDCOLRc - мұнда c - 0 -ден 255 -ке дейінгі сан - түсті дөңгелектегі қалаған түстің орны. Құрылғы көрсетілген жарықдиодты түске ауысады.
-
LEDDSTAT - тек 0 мен '1 -ден тұратын 3 таңбалы санды қайтарады:
- бірінші позиция: '0' - түстер айналмайды, '1' - түстер айналады
- екінші позиция: '0' - би режимі өшірулі, '1' - би режимі қосулы
- үшінші позиция: '0' - микрофон қалыпты кірісте, '1' - микрофон жоғары пайда
10 -қадам: Blynk негізіндегі қосымшаны басқару
Blynk (blynk.io)-бұл аппараттық-агностикалық IoT платформасы. Мен Blynk -ты IoT автоматты өсімдіктерді суару жүйесінде қолдандым және платформаның қарапайымдылығы мен беріктігіне таң қалдым.
Blynk Bluetooth арқылы соңғы құрылғыларға қосылуды қолдайды - бұл бізге PartyLights үшін қажет.
Егер сізде әлі жоқ болса, Blynk қосымшасын жүктеп алыңыз, осы қадамға бекітілген скриншоттарды пайдаланып Blynk PartyLights қосымшасын тіркеңіз және қайта жасаңыз. Виртуалды пин тағайындауларының скриншоттармен бірдей екеніне көз жеткізіңіз, әйтпесе қолданбадағы түймелер ойдағыдай жұмыс істемейді.
«Blynk_settings.h» файлында менің жеке Blynk UID бар. Сіз өзіңіздің жобаңызды жасаған кезде, оған сіз үшін жаңасы тағайындалады.
PartyLightsBlynk.ino эскизін жүктеңіз, қосымшаны іске қосыңыз. Bluetooth құрылғысымен жұптасып, кештен ләззат алыңыз.
11 -қадам: Эскиздер мен кітапханалар
Негізгі нобай мен қосалқы файлдар Github.com сайтында орналасқан.
Party Lights эскизінде келесі кітапханалар пайдаланылды:
- TaskScheduler - кооперативті көп тапсырма - мұнда (мен әзірледім)
- AverageFilter - шаблондық орташа сүзгі - мұнда (мен жасаған)
- Серво - Servo басқару - бұл стандартты Arduino кітапханасы
- WS2812B -NEOPixel басқару - STM32 пакетінің бөлігі ретінде келеді
Бұл Wiki беті STM32 тақталарын Arduino IDE көмегімен қалай пайдалану керектігін түсіндіреді.
12 -қадам: Болашақ жақсартулар
Бұл жобада бірнеше нәрсені жақсартуға болады, егер сіз осы жобаға кіріссеңіз, оны қарастыруға болады:
- Maple Mini тақтасының орнына ESP32 пайдаланыңыз. ESP32 -де 2 процессор, Bluetooth және WiFi стектері бар, олар 60 МГц, 120 МГц және тіпті 240 МГц жиілікте жұмыс жасай алады.
- Кішігірім дизайн - алынған құрылғы үлкен. Неғұрлым ықшам болуы мүмкін (әсіресе, егер сіз билеу идеясын және серводардан бас тартсаңыз)
- Соғуды анықтауды шексіз жақсартуға болады. Біз адамдарға табиғи түрде келетін нәрсе компьютер үшін қиын міндет болып көрінеді
- Тағы да көптеген визуализацияларды ойлап табуға және енгізуге болады.
- Және, әрине, құрылғыны керемет UI көмегімен сымсыз басқару үшін қосымша жазуға болады.
Ұсынылған:
Батареямен жұмыс жасайтын жарықдиодты шамдар күн зарядтауымен: 11 қадам (суреттермен)
Батареямен жұмыс жасайтын жарықдиодты шамдар: Күн сәулесімен зарядтау: Менің әйелім сабын жасауды үйретеді, оның сабақтарының көпшілігі кешкі уақытта болатын, ал қыста сағат 16.30 шамасында қараңғы түседі, оның кейбір студенттері біздің үйді таба алмай қиналады. үй. Бізде маңдайша жазуы болды, бірақ тіпті көше жарығымен
Портативті диско V2 -дыбыспен басқарылатын жарықдиодты шамдар: 11 қадам (суреттермен)
Portable Disco V2 -Дыбыспен басқарылатын жарықдиодты шамдар: Мен бірінші портативті дискотека жасағаннан бері электроникаға саяхат жасадым. бастапқы денелі Мен бірге прототипі бортында схеманы бұзылды және ұқыпты, сәл қалта дискотека салу білді. Бұл жолы мен жеке ПХД жасадым
Қарапайым және модульдік киюге болатын шамдар: 5 қадам (суреттермен)
Қарапайым және модульдік киюге болатын шамдар!: Бірнеше арзан (және жеткізілетін) бөлшектермен керемет, футуристік және реттелетін киілетін шамдарды жасаңыз! Киімдерге/сезімдерге/мерекелерге/барлық нәрсеге сәйкес келу үшін барлық қондырғыларға қосылыңыз және түстерді ауыстырыңыз
[2020] Түнгі жүгіруге арналған жарықдиодты шамдар: 9 қадам (суреттермен)
[2020] Түнгі жүгіруге арналған жарықдиодты шамдар: Valenta Off-RoaderValenta Off-Roader-бұл микро: битпен жұмыс істейтін Off-Road RC автокөлігі. Бұл Lego Technic үйлесімді және артқы доңғалақтарда екі (x2) моторлы қозғалтқыштармен және Roberval қол механизміне негізделген (x1) рульдік сервомен жабдықталған. Humming Works LLC және
Портативті портативті ретропия: 7 қадам
Портативті портативті ретропия: Бұл біз түсірген бейне. Біз осы нұсқаулықтағы адаммен бірдей материалдарды қолдандық. Егер бейне портативті ретропияны қалай жасау керектігін жақсы түсінуге көмектессе, оны көруге болады. Ақыр соңында сізде бірдеңе болуы керек