Съдържание:

Преносими светлини за парти: 12 стъпки (със снимки)
Преносими светлини за парти: 12 стъпки (със снимки)

Видео: Преносими светлини за парти: 12 стъпки (със снимки)

Видео: Преносими светлини за парти: 12 стъпки (със снимки)
Видео: Комплект мощни 12 инчови тонколони с LED светлини и еквалайзер за невиждано парти! 2024, Ноември
Anonim
Image
Image
Идеята
Идеята

Проекти на 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 визуализации (уведомете ме, ако имате още идеи!):

  1. Концентрични цветни кръгове
  2. Малтийски кръст
  3. Пулсиращи светлини
  4. Камина (моят личен фаворит)
  5. Светлини за бягане
  6. Светли дървета
  7. Странични сегменти

По подразбиране устройството ще премине през визуализациите всяка минута. Потребителят обаче може да избере да се придържа към една визуализация и/или ръчно да премине през тях.

Визуализациите, които завъртат цветовата им палитра, също могат да бъдат „замразени“, ако потребителят харесва определена цветова комбинация.

И като още няколко контроли, потребителят може да промени чувствителността на микрофона и да активира/деактивира режима „танц“на серво мотора.

Стъпка 2: Схематична и звукова обработка

Схематична и звукова обработка
Схематична и звукова обработка
Схематична и звукова обработка
Схематична и звукова обработка
Схематична и звукова обработка
Схематична и звукова обработка
Схематична и звукова обработка
Схематична и звукова обработка

Схематичен файл за преливане е включен в пакета на Github в подпапка "файлове".

По принцип чип MSEQ7 извършва аудио обработката, разделяйки аудио сигнал на 7 ленти: 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz и 16kHz

Микроконтролерът използва тези 7 ленти за създаване на различни визуализации, като основно картографира съответните амплитуди на лентата в интензитета на LED светлината и цветовите комбинации.

Източникът на звук е микрофон с 3 нива на контрол на усилването. Можете да преминете през настройките за усилване с помощта на един от бутоните в зависимост от това колко далеч/силен е източникът на звук.

Микроконтролерът също се опитва да извърши откриване на "бийт" в 63Hz "бас" лента. Все още работя по надежден начин за откриване и поддържане на подравняването на ритъма.

Използването на бутони с „докосване“беше експеримент. Мисля, че работят доста добре, но липсата на обратна връзка от пресата донякъде обърква.

Стъпка 3: LED колело

LED колело
LED колело
LED колело
LED колело
LED колело
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 чувствителни на допир бутона:

  1. Преминете през визуализациите и поддържайте текущата, докато не бъде избрана друга (по подразбиране визуализациите се циклират на всеки 30 секунди)
  2. „Замръзване“/ „размразяване“на текущата цветова схема - ако харесвате определена цветова комбинация, можете да я замразите - завъртането на цвета е деактивирано и визуализацията ще продължи само с тази цветова палитра
  3. Регулирайте чувствителността на микрофона
  4. Включете / изключете „танцов режим“

В танцуващ режим устройството ще се опита да открие "ритъма" на възпроизвежданата в момента музика и ще завърти главата си в съответствие с ритъма. Досега „танцуването“е по -скоро неловко, отколкото красиво, честно казано.

Стъпка 6: Откриване на ритъм и „танцуване“на серво

Beat Detection и Servo
Beat Detection и Servo

Устройството непрекъснато се опитва да открие "ритъма" на текущата мелодия като разстояние между последователни пикове на обхвата 63Hz. След като бъде открит (и само ако режимът на танц е ВКЛЮЧЕН), устройството ще активира своя серво мотор, за да завърти произволно наляво или надясно според ритъма.

Всякакви ярки идеи как да направите това по -надеждно са добре дошли!

Скицата „Music_Test_LED“извежда 7 EQ ленти по начин, подходящ за начертаване с помощта на Arduino IDE.

Стъпка 7: 3D форми

3D форми
3D форми
3D форми
3D форми
3D форми
3D форми

Целият модул Party Lights е проектиран от нулата с помощта на Autodesk TinkerCAD.

Оригиналният дизайн се намира тук. Папката "files/3D" на github.com съдържа STL моделите.

Този дизайн илюстрира как устройството изглежда сглобено.

Всички компоненти бяха отпечатани и след това сглобени/залепени заедно.

"Куполът" е домакин на микроконтролер, Bluetooth платка и микрофон. Микроконтролерът е поставен върху дъска с размери 40 мм х 60 мм и се поддържа от определени релси.

Сервото е разположено в "крака" на купола, докато бутоните са разположени в основата.

Отделението за батерии е отпечатано специално за типа батерия, споменат в раздела Консумативи. Ако решите да използвате различна батерия, отделението ще трябва да бъде преработено съответно.

Стъпка 8: Захранване

Захранване
Захранване
Захранване
Захранване

Изключително компактен 5000-mah двоен USB изход Super Slim Power Bank изглежда осигурява достатъчно мощност за часове работа.

Отделението за батерии е проектирано по такъв начин, че да се отделя от останалата част на устройството и може да бъде заменено с такова, предназначено за различен тип батерии.

USB щепселът беше поставен и залепен горещо на място, за да свърже батерията, докато се плъзга навътре.

Стъпка 9: Bluetooth контрол

Bluetooth контрол
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
Приложение за управление на базата на Blynk
Приложение за управление на базата на Blynk
Приложение за управление на базата на Blynk
Приложение за управление на базата на Blynk
Приложение за управление на базата на Blynk
Приложение за управление на базата на 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.
  • По -малък дизайн - полученото устройство е голямо. Може да бъде по -компактен (особено ако се откажете от идеята за танци и свързаното серво)
  • Откриването на ритъм може да бъде безкрайно подобрено. Това, което идва естествено за нас, хората, изглежда е трудна задача за компютъра
  • Може да се измислят и реализират много повече визуализации.
  • И, разбира се, може да се напише приложение за безжично управление на устройството с готин потребителски интерфейс.

Препоръчано: