Съдържание:
- Консумативи
- Стъпка 1: Идеята
- Стъпка 2: Схематична и звукова обработка
- Стъпка 3: LED колело
- Стъпка 4: Визуализации
- Стъпка 5: Докоснете бутоните за управление
- Стъпка 6: Откриване на ритъм и „танцуване“на серво
- Стъпка 7: 3D форми
- Стъпка 8: Захранване
- Стъпка 9: Bluetooth контрол
- Стъпка 10: Контролирайте приложението въз основа на Blynk
- Стъпка 11: Скици и библиотеки
- Стъпка 12: Бъдещи подобрения
Видео: Преносими светлини за парти: 12 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Проекти на Tinkercad »
Можете ли да внесете светлина в парти и да го направите по -забавно?
Това беше въпросът. И отговорът е ДА (разбира се).
Тази инструкция е свързана с направата на преносимо устройство, което слуша музика и създава визуализация на музика от концентрични пръстени на неопикселови светодиоди.
Направен е опит устройството да „танцува“, т.е. да се движи в ритъма на музиката, но откриването на ритъма се оказва по -сложна задача, отколкото звучи (без каламбур), така че „танцуването“е малко неудобно, но все още е там.
Устройството е с Bluetooth и ще отговаря на текстови команди. Нямах време да напиша приложение за управление на Party Lights (Android или iOS). Ако се справяте със задачата - моля, уведомете ме !!!
Ако ви харесва тази инструкция, моля, гласувайте за нея в конкурса Make It Glow!
Консумативи
За да изградите Party Lights ще ви трябва:
- 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 Bit WS2812 5050 RGB LED Driver Development Board (линк тук)
- TTP223 Модул със сензорен ключ Капацитивен настройващ се самозаключващ се/незаключващ превключвател (връзка тук)
-
Ултра компактен 5000-mah двоен USB изход Super Slim Power Bank (връзка тук)
- Резистори, кондензатори, проводници, лепило, винтове, прототипни платки и др.
Стъпка 1: Идеята
Идеята е да има преносимо устройство, което да може да бъде поставено близо до музикален източник и да създава цветни музикални визуализации. Трябва да можете да контролирате поведението на устройството чрез бутони (докосване) и Bluetooth.
В момента Party Lights имат реализирани 7 визуализации (уведомете ме, ако имате още идеи!):
- Концентрични цветни кръгове
- Малтийски кръст
- Пулсиращи светлини
- Камина (моят личен фаворит)
- Светлини за бягане
- Светли дървета
- Странични сегменти
По подразбиране устройството ще премине през визуализациите всяка минута. Потребителят обаче може да избере да се придържа към една визуализация и/или ръчно да премине през тях.
Визуализациите, които завъртат цветовата им палитра, също могат да бъдат „замразени“, ако потребителят харесва определена цветова комбинация.
И като още няколко контроли, потребителят може да промени чувствителността на микрофона и да активира/деактивира режима „танц“на серво мотора.
Стъпка 2: Схематична и звукова обработка
Схематичен файл за преливане е включен в пакета на Github в подпапка "файлове".
По принцип чип MSEQ7 извършва аудио обработката, разделяйки аудио сигнал на 7 ленти: 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz и 16kHz
Микроконтролерът използва тези 7 ленти за създаване на различни визуализации, като основно картографира съответните амплитуди на лентата в интензитета на LED светлината и цветовите комбинации.
Източникът на звук е микрофон с 3 нива на контрол на усилването. Можете да преминете през настройките за усилване с помощта на един от бутоните в зависимост от това колко далеч/силен е източникът на звук.
Микроконтролерът също се опитва да извърши откриване на "бийт" в 63Hz "бас" лента. Все още работя по надежден начин за откриване и поддържане на подравняването на ритъма.
Използването на бутони с „докосване“беше експеримент. Мисля, че работят доста добре, но липсата на обратна връзка от пресата донякъде обърква.
Стъпка 3: LED колело
Ядрото на визуализацията е 61 LED колело.
Моля, обърнете внимание, че частта идва като отделни пръстени, които ще трябва да съберете. Използвах по -скоро медни проводници за електропроводи (които също държат добре пръстените заедно) и тънки сигнални проводници.
Светодиодите са номерирани от 0 до 60, започвайки от долния външен светодиод и вървяйки по посока на часовниковата стрелка навътре. Централният светодиод е номер 60.
Всяка визуализация разчита на двуизмерни масиви от данни, които картографират всеки светодиод в определена позиция за целевия сегмент за визуализация.
Например, за концентрични кръгове има 5 сегмента:
- Външен кръг, светодиоди с дължина 0 - 23, 24 светодиода
- Втори външен кръг, светодиоди 24 - 39, дълги 16 светодиода
- Трети кръг (в центъра), светодиоди 40 - 51, дълги 12 светодиода
- Втори вътрешен кръг, светодиоди 52 - 59, дълги 8 светодиода
- Вътрешен светодиод, LED 60, 1 LED дълъг
Визуализацията картира 5 от 7 аудио канала и свети постепенно светодиодите според позицията им в кръговата лента, пропорционална на нивото на звука в лентата.
Други визуализации използват различни структури и формати на данни, но идеята винаги е визуализациите да се управляват от масивите от данни, а не толкова от кода. По този начин визуализациите могат да бъдат коригирани към различни форми (повече или по -малко светодиоди, повече EQ ленти) без промяна на кода, само стойностите в масивите от данни.
Така например структурата на данните за визуализация 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 визуализации и стартираща анимация:
Анимация при стартиране
Когато устройството е включено, се показва имитация на фойерверки. Това трябваше да бъде LED и Servo тестова последователност, но по -късно се превърна в анимирана версия на такъв тест
Концентрични цветни кръгове
Светлините обикалят дисплея в концентрични кръгове, пропорционални на амплитудата на съответната еквалайзерна лента. Случайно превключване между часовникови и обратно часовникови и бавно завъртане на цветовете върху 256 цветното колело
Малтийски кръст
Една лента е централният светодиод. Друга лента са вертикалните и хоризонталните линии на светодиодите, а останалите сегменти представляват всеки EQ лента. Всички сегменти са въртящи се цветове с 128 отместване, за да останат контрастни.
Пулсиращи светлини
Всеки кръг осветява всички светодиоди в унисон за специална еквалайзерна лента, като бавно върти цветовете с леко отместване. EQ лентите постепенно се изместват от един кръг към следващия, създавайки прогресия навън.
Пожарна
Лентите са полукръгове, осветени отдолу нагоре, започвайки с яркочервено и добавяйки жълто по пътя нагоре, симулирайки горящ огън в камина. Понякога ярко бяла "искра" на случаен принцип изстрелва нагоре. Няма завъртане на цвета
Светлини за бягане
Всеки концентричен кръг е отделна EQ лента. Водещите светодиоди са тези на вертикалната линия под централния светодиод. След като светодиодът светне пропорционално на амплитудата на лентата, той започва да "тича" около съответния кръг, като бавно намалява интензитета. Поддържат се както въртене по часовниковата, така и обратно на часовниковата стрелка, превключване на случаен принцип.
Светли дървета
Сегментите са осветени по права линия от долния светодиод нагоре и след това отстрани в концентрични полукръгове, имитиращи палмови дървета. Цветно въртене.
Странични сегменти
Това е версия на предишния малтийски кръст с използвани само 2 диагонални сегмента. Предполага се, че прилича на иконата за звукови вълни.
Стъпка 5: Докоснете бутоните за управление
Има 4 чувствителни на допир бутона:
- Преминете през визуализациите и поддържайте текущата, докато не бъде избрана друга (по подразбиране визуализациите се циклират на всеки 30 секунди)
- „Замръзване“/ „размразяване“на текущата цветова схема - ако харесвате определена цветова комбинация, можете да я замразите - завъртането на цвета е деактивирано и визуализацията ще продължи само с тази цветова палитра
- Регулирайте чувствителността на микрофона
- Включете / изключете „танцов режим“
В танцуващ режим устройството ще се опита да открие "ритъма" на възпроизвежданата в момента музика и ще завърти главата си в съответствие с ритъма. Досега „танцуването“е по -скоро неловко, отколкото красиво, честно казано.
Стъпка 6: Откриване на ритъм и „танцуване“на серво
Устройството непрекъснато се опитва да открие "ритъма" на текущата мелодия като разстояние между последователни пикове на обхвата 63Hz. След като бъде открит (и само ако режимът на танц е ВКЛЮЧЕН), устройството ще активира своя серво мотор, за да завърти произволно наляво или надясно според ритъма.
Всякакви ярки идеи как да направите това по -надеждно са добре дошли!
Скицата „Music_Test_LED“извежда 7 EQ ленти по начин, подходящ за начертаване с помощта на Arduino IDE.
Стъпка 7: 3D форми
Целият модул Party Lights е проектиран от нулата с помощта на Autodesk TinkerCAD.
Оригиналният дизайн се намира тук. Папката "files/3D" на github.com съдържа STL моделите.
Този дизайн илюстрира как устройството изглежда сглобено.
Всички компоненти бяха отпечатани и след това сглобени/залепени заедно.
"Куполът" е домакин на микроконтролер, Bluetooth платка и микрофон. Микроконтролерът е поставен върху дъска с размери 40 мм х 60 мм и се поддържа от определени релси.
Сервото е разположено в "крака" на купола, докато бутоните са разположени в основата.
Отделението за батерии е отпечатано специално за типа батерия, споменат в раздела Консумативи. Ако решите да използвате различна батерия, отделението ще трябва да бъде преработено съответно.
Стъпка 8: Захранване
Изключително компактен 5000-mah двоен USB изход Super Slim Power Bank изглежда осигурява достатъчно мощност за часове работа.
Отделението за батерии е проектирано по такъв начин, че да се отделя от останалата част на устройството и може да бъде заменено с такова, предназначено за различен тип батерии.
USB щепселът беше поставен и залепен горещо на място, за да свърже батерията, докато се плъзга навътре.
Стъпка 9: Bluetooth контрол
Добавен е HC-05 модул, който осигурява начин за безжично управление на устройството.
Когато е включено, устройството създава Bluetooth връзка, наречена "LEDDANCE", с която можете да сдвоите телефона си.
В идеалния случай трябва да има приложение, което позволява контролиране на PartyLights (избор на цветова палитра, симулиране на натискане на бутони и т.н.). Все още обаче не съм написал такъв.
Ако се интересувате от писането на приложение за Android или iOS за Party Lights, моля, уведомете ме!
За да управлявате устройството, понастоящем можете да използвате терминалното приложение Bluetooth и да изпращате следните команди:
- LEDDBUTT - където е „1“, „2“, „3“или „4“симулира натискането на съответния бутон. Пример: LEDDBUTT1
- LEDDCOLRc - където c е число от 0 до 255 - позиция на желания цвят върху цветно колело. Устройството ще премине към определения цвят на светодиода.
-
LEDDSTAT - връща 3 знаков номер, състоящ се само от '0 и' 1:
- първа позиция: '0' - цветовете не се въртят, '1' - цветовете се въртят
- втора позиция: '0' - режимът на танци е изключен, '1' - режимът на танци е включен
- трета позиция: '0' - микрофонът е с нормално усилване, '1' - микрофонът е с високо усилване
Стъпка 10: Контролирайте приложението въз основа на Blynk
Blynk (blynk.io) е хардуерно-агностична IoT платформа. Използвах Blynk в моята IoT автоматична напоителна система за растения, инструктирана и бях впечатлен от лекотата и здравината на платформата.
Blynk поддържа свързване към крайни устройства чрез Bluetooth - точно това, от което се нуждаем за PartyLights.
Ако още не сте го направили, моля, изтеглете приложението Blynk, регистрирайте се и пресъздайте приложението Blynk PartyLights, като използвате скрийншотите, приложени към тази стъпка. Моля, уверете се, че заданията за виртуални щифтове са същите като на екранните снимки, в противен случай бутоните в приложението няма да работят по предназначение.
Файлът "blynk_settings.h" съдържа моя личен UID на Blynk. Когато създавате вашия проект, той ще бъде назначен нов за вас, който да използвате.
Качете скицата PartyLightsBlynk.ino, стартирайте приложението. Сдвоете с Bluetooth устройство и се насладете на партито.
Стъпка 11: Скици и библиотеки
Основната скица и поддържащите файлове се намират на Github.com тук.
Следните библиотеки бяха използвани в скицата Party Lights:
- TaskScheduler - съвместна многозадачност - тук (разработена от мен)
- AverageFilter - шаблонен среден филтър - тук (разработен от мен)
- Servo - Серво управление - е стандартна библиотека на Arduino
- WS2812B -NEOPixel контрол - идва като част от пакета STM32
Тази Wiki страница обяснява как да използвате STM32 платки с Arduino IDE.
Стъпка 12: Бъдещи подобрения
В този дизайн биха могли да се подобрят няколко неща, които бихте могли да обмислите, ако се впуснете в този проект:
- Използвайте ESP32 вместо Maple Mini борда. ESP32 има 2 процесора, Bluetooth и WiFi стекове и може да работи на 60MHz, 120MHz и дори 240MHz.
- По -малък дизайн - полученото устройство е голямо. Може да бъде по -компактен (особено ако се откажете от идеята за танци и свързаното серво)
- Откриването на ритъм може да бъде безкрайно подобрено. Това, което идва естествено за нас, хората, изглежда е трудна задача за компютъра
- Може да се измислят и реализират много повече визуализации.
- И, разбира се, може да се напише приложение за безжично управление на устройството с готин потребителски интерфейс.
Препоръчано:
FuseLight: Превърнете старата/разтопена лампа в студио/парти светлина: 3 стъпки (със снимки)
FuseLight: Превърнете стария/Fused Tubelight в Studio/Party Light: Тук превърнах Fused Tubelight в Studio/Part light, използвайки някои основни инструменти, rgb светлини и 3d печат
Преносими дискотеки V2 -Звуково контролирани светодиоди: 11 стъпки (със снимки)
Преносими дискотеки V2 -Звуково контролирани светодиоди: Изминах дълъг път с пътуването си по електроника, откакто направих първата си преносима дискотека. В оригиналната компилация хакнах заедно схема на прототипна платка и успях да направя чиста, малка джобна дискотека. Този път проектирах собствена печатна платка и
Сандък със съкровище Zelda (със светлини и звук): 12 стъпки (със снимки)
Zelda Treasure Chest (With Lights & Sound): Здравейте на всички! Бях голям фен на игрите Legend of Zelda, когато бях по -малък, но мисля, че почти всеки знае емблематичната мелодия, която свири, когато отворите сандък в играта, просто звучи толкова вълшебно! В тази инструкция ще ви покажа как
LED парти палто: 15 стъпки (със снимки)
LED Party Coat: Ню Йорк най -накрая отмени своя много остарял закон за кабаре. Така че нека танцуваме. Ще имате нужда от подходящото облекло за случая. Това палто е диво модно парче с неочаквана способност: светва, когато заобикалящата светлина затъмнява . Като създание с
Направи си сам коледни светлини - Хореографирани къщи светлини: 15 стъпки (със снимки)
Коледни лампички „Направи си сам“- Хореографирани светлини за къща: Коледа „Направи си сам“- Коледа, осветени за къща. Това НЕ е начинаещ „Направи си сам“. Ще ви трябва твърдо разбиране по електроника, верига, ОСНОВНО програмиране и общи познания за електрическата безопасност. Това DIY е за опитен човек, така че