Съдържание:

Яке за светлинно шоу, което реагира на музика: 7 стъпки (със снимки)
Яке за светлинно шоу, което реагира на музика: 7 стъпки (със снимки)

Видео: Яке за светлинно шоу, което реагира на музика: 7 стъпки (със снимки)

Видео: Яке за светлинно шоу, което реагира на музика: 7 стъпки (със снимки)
Видео: Детето ми се храни само със зеленчуци 2024, Юли
Anonim
Яке за светлинно шоу, което реагира на музика
Яке за светлинно шоу, което реагира на музика

Този урок е създаден като част от последния ми годишен проект за моята степен по музикални технологии и приложна електроника в университета в Йорк. Той е насочен към музиканти с интерес към електрониката. Крайният продукт ще бъде LED матрица на гърба на яке, която може да произведе светлинно шоу в съответствие с музиката. Това ще стане чрез анализ на аудио входове с помощта на Pure Data и Arduino. Якето ще има две настройки, които могат да се контролират чрез превключвател. Едната настройка ще контролира светодиодите според амплитудата на музиката, а другата ще има светодиодите да мигат един по един и да променят цвета според терена.

Как ще работи

Това устройство ще се състои от две отделни вериги. Единият ще бъде базиран на Arduino Mega, свързан директно към компютър. Другата верига ще бъде базирана на LilyPad Arduino и ще се съдържа изцяло в якето и ще се захранва от 9V батерия. И двете схеми ще комуникират помежду си безжично, използвайки XBee модули. Аудио сигналите ще бъдат приемани от вградените в компютъра микрофони и анализирани в Pure Data за получаване на амплитудни и честотни данни. Тази информация ще бъде прехвърлена към Arduino Mega чрез MIDI входна верига и след това ще бъде предадена на LilyPad с помощта на XBees. След това LilyPad ще определи как ще реагират светодиодите на якето.

Какво ще ви трябва

За мега веригата

  • Arduino Mega 2560
  • Регулиран XBee Explorer
  • Проследяваща антена XBee 1mW - Серия 1
  • Прототипиране на щит за Mega
  • USB тип A до B
  • USB към MIDI кабел
  • MIDI гнездо
  • 1 x 220Ω резистор
  • 1 x 270Ω резистор
  • 1 x 1N4148 диод
  • 1 x 6N138 Оптрон

За веригата LilyPad

  • Основно табло на LilyPad Arduino 328
  • LilyPad XBee Breakout Board
  • Проследяваща антена XBee 1mW - Серия 1
  • LilyPad FTDI Basic Breakout Board
  • 72 x LilyPad светодиода (набор от всички налични цветове, включително бяло, синьо, червено, жълто, зелено, розово и лилаво)
  • Плъзгащ превключвател LilyPad
  • USB 2.0 A-Male към Mini-B кабел
  • 9V батерия
  • Щипка за батерия 9V

Други

  • Яке
  • Компютър с инсталирани Pure Data и Arduino IDE
  • Оборудване тел
  • Оборудване за запояване
  • Резачки за тел
  • Машини за сваляне на тел
  • Игла с голямо око
  • Конец
  • Проводима нишка
  • Ножици
  • Лентова мярка
  • Лепило за тъкани или прозрачен лак за нокти
  • Креда или бяла очна линия
  • Плат за хастар или стара тениска
  • Велкро
  • Свредло (възможно)
  • Стандартен светодиод (за тестване)
  • Платформа (за тестване)
  • Друг резистор 220Ω (за тестване)
  • Мултицет (за тестване)

Цената на този проект ще зависи много от това колко от горното оборудване вече притежавате. Въпреки това е вероятно да е някъде между £ 150 - £ 200.

Една бърза забележка - дъските LilyPad са проектирани да бъдат пришити директно към текстил и следователно запояването на 9V щипка за батерия към една може да причини проблеми. Връзката може да бъде деликатна и лесно да се прекъсне. Можете да получите специално проектирани дъски LilyPad за батерии AAA или LiPo, които може да решите, че предпочитате да използвате. Все пак избрах да сляза по 9V маршрута, тъй като животът им на батерията е по -голям от AAA и моят университет има ограничения за използването на LiPo батерии.

Стъпка 1: Създаване на MIDI входна верига

Създаване на MIDI входна верига
Създаване на MIDI входна верига
Създаване на MIDI входна верига
Създаване на MIDI входна верига
Създаване на MIDI входна верига
Създаване на MIDI входна верига

Първо, нека разгледаме входната верига на MIDI. Това ще трябва да бъде изградено върху прототипиращата платка, която ще се сложи в Arduino Mega. Това ще се използва за изпращане на MIDI съобщения от пластира Pure Data към Mega чрез неговия пин „COMMUNICATION RX0“. Вижте по -горе за електрическа схема и снимка. В зависимост от вашата прототипна платка, оформлението ви може да е малко по-различно, но аз избрах да поставя MIDI гнездото в долния ляв ъгъл. Тук може да се наложи да се използва бормашина, за да се увеличат отворите на щита, за да се поберат в гнездото. Червените проводници на снимката са свързани към 5V, кафявите са свързани към земята, черният проводник е свързан към щифт 3 на 6N138, синият проводник е свързан към щифт 2 на 6N138, а жълтите проводници са свързани към RX0 щифт. Оставя се място от дясната страна на прототипната платка, за да се остави място за XBee по-късно. Вероятно ще трябва да се направят прекъсвания в пистите на дъската. За този пример те трябваше да бъдат направени между щифтовете на 6N138.

Тестване на MIDI входната верига

За да тествате веригата, качете кода по -долу в Arduino Mega с помощта на USB кабел тип А до В. Уверете се, че щитът не е поставен, когато направите това, тъй като кодът не може да бъде качен, ако нещо е свързано към RX или TX пиновете. Също така кодът включва библиотеката MIDI.h, която може да се наложи да изтеглите, достъпна на връзката по -долу.

MIDI.h

След това поставете щита в мега и го свържете към друг USB порт на вашия компютър чрез MIDI към USB кабел. MIDI крайът, който ще трябва да използвате, ще бъде означен като „out“. Създайте проста схема на макет, свързващ щифт 2 към резистор 220Ω и след това го свържете към анода на стандартен светодиод. Свържете катода на светодиодите към земята.

След това създайте прост Pure Data patch с [60 100] съобщение и [0 0] съобщение, и двете свързани към обект за отбелязване чрез левия му вход. Уверете се, че този пластир е свързан към входната MIDI верига, като отворите MIDI настройките и промените изходното устройство. Ако това не е налично, уверете се, че сте свързали MIDI веригата към компютъра си, преди да отворите Pure Data. Сега, ако веригата ви е правилна, светодиодът трябва да светне при натискане на съобщението [60 100] и да изгасне при натискане на съобщението [0 0].

Стъпка 2: Проектиране на LED матрицата

Проектиране на LED матрицата
Проектиране на LED матрицата
Проектиране на LED матрицата
Проектиране на LED матрицата
Проектиране на LED матрицата
Проектиране на LED матрицата

След това трябва да се обмисли LED матрицата за гърба на якето. Това ще бъде директно свързано с основната платка на LilyPad. Обикновено, за да управлявате светодиодите с помощта на микроконтролер, всеки от тях ще бъде присвоен на своите отделни щифтове. Въпреки това, само с един Arduino LilyPad това би било много ограничаващо. Общо LilyPad има 12 цифрови пина и 6 аналогови, така че потенциално 18 изходни пина. Въпреки това, тъй като един от тези щифтове ще бъде използван по -късно за управление на плъзгащ превключвател, това ще остане само 17.

В тази ситуация може да се използва техника, наречена мултиплексиране, за да се увеличи максимално потенциала на контролните щифтове на LilyPad. Това се възползва от два факта:

  • Светодиодите са диоди и позволяват ток да тече само в една посока.
  • Човешките очи и мозък обработват изображения много по -бавно, отколкото светлината може да пътува, така че ако светодиодите мигат достатъчно бързо, няма да забележим. Това е понятие, известно като „Устойчивост на зрението“.

С помощта на тази техника броят на светодиодите, които могат да бъдат контролирани, е (n/2) x (n- (n/2)), където n е броят на наличните контролни щифтове. Следователно, при налични 17 пина би трябвало да е възможно да се управляват 72 светодиода в матрица 9x8.

Диаграма за разположението на светодиодите в матрица 9x8 може да се види по -горе, включително предложения за щифтовете, към които всеки ред и колона трябва да бъдат свързани. Важно е да се отбележи, че редовете и колоните не трябва да се допират. Също така не се изискват резистори поради факта, че всеки светодиод има свой собствен вграден със съпротивление 100Ω.

Преди да започнете да шиете, трябва да планирате оформлението на веригата върху якето. Добро място да започнете тук е да маркирате върху якето светодиодите с малки точки, като използвате ролетка, за да сте сигурни, че са равномерно раздалечени. За черно кожено яке бялата очна линия работи много добре и може лесно да се изтрие, ако се допусне грешка. Въпреки това, други среди като тебешир също могат да работят в зависимост от материала и цвета на вашето яке. Подредбата на LED цветовете, които използвах, може да се види по -горе, които ще работят с кода, предоставен по -късно. Можете да използвате различно оформление, въпреки че това ще трябва да бъде променено в кода.

Следващото нещо, върху което трябва да помислите, е къде ще отидат LilyPad, LilyPad XBee и захранването. За якето, което използвах, най -разумното и дискретно място изглеждаше отзад на якето, отдолу и от вътрешната подплата. Това е така, защото е малко вероятно да бъде ударено от ръцете на носителите тук и той може лесно да получи достъп до LED матрицата. Също така, тъй като якето, което използвах, беше разхлабено в долната част, все още беше удобно.

Стъпка 3: Зашиване на LED матрицата

Шиене на LED матрицата
Шиене на LED матрицата
Шиене на LED матрицата
Шиене на LED матрицата
Шиене на LED матрицата
Шиене на LED матрицата

На този етап можете да започнете да шиете. Работата с проводима нишка може да бъде трудна, затова ето няколко полезни съвета:

  • Залепването на компонент на място с лепило за тъкани ще улесни шиенето.
  • Различните видове шевове ще имат различни естетически и функционални свойства, така че си струва да ги разгледате, преди да започнете. Основен бягащ шев обаче трябва да е добре за този проект.
  • Възлите са склонни да се разхлабват доста лесно с проводима нишка, тъй като тя е „пружинираща“от нормалното. Решение за това е използването на малко количество прозрачен лак за нокти или лепило за тъкани, за да ги запечатате. Оставете им време да изсъхне, преди да отрежете опашките си.
  • Когато създавате връзки към компоненти на веригата или свързвате две линии проводяща резба, е добра идея да ги зашиете многократно, за да сте сигурни, че е направена добра механична и електрическа връзка.
  • Уверете се, че иглата ви е остра и има голямо око. Преминаването през якето може да бъде трудно и проводимата нишка е по -дебела от нормалното.
  • Внимавайте за разхлабените косми по конеца. Те могат да създадат къси панталони във веригата, ако се докоснат до други линии на шиене. Ако това се превърне в основен проблем, всички линии могат да бъдат запечатани с прозрачен лак за нокти или лепило за тъкани, след като се проведе тестването и всичко определено работи правилно.

Добро място да започнете да шиете е с редовете. За да ги направите възможно най -прави, можете да нарисувате слаби линии, които да шиете с помощта на линийка. След като ги зашиете, преминете към колоните. Ще трябва да се внимава много всеки път, когато се достигне ред, защото е важно двете да не се пресичат. Това може да се постигне чрез създаване на бод за колоната от вътрешната страна на якето за това кръстовище, както се вижда на снимката по -горе. Когато попълните всички редове и колони, може да се използва мултицет, за да се провери дали няма къси панталони.

След като сте доволни, започнете да шиете светодиодите за колоната в най -дясната част на якето. Уверете се, че всеки анод е прикрепен към собствен ред и всеки катод е прикрепен към колоната вляво. След това поставете LilyPad Arduino на място с помощта на лепило за тъкани някъде приблизително под тази колона, като се уверите, че щифтовете на платката за прекъсване на FTDI са обърнати надолу. Зашийте щифт 11 на LilyPad към ред 1, щифт 12 към ред 2 и така нататък, докато щифт А5 бъде пришит към ред 9. След това шийте щифт 10 към най -дясната колона. За да тествате тази първа колона, можете да използвате кода по -долу. Качете кода и включете LilyPad, като го свържете към компютъра си, като използвате FTDI пробивната платка и USB 2.0 A-Male към Mini-B кабел.

Ако правилният порт не е наличен, когато включите LilyPad, може да се наложи да инсталирате драйвер за FTDI, наличен от връзката по -долу.

Инсталиране на драйвер за FTDI

След като тази първа колона от светодиоди светне, е време да шиете останалите върху якето. Това е доста отнемащ време процес и затова е най -добре да бъде разпределен за няколко дни. Не забравяйте да тествате всяка колона, докато вървите. Можете да направите това, като адаптирате кода по -горе, така че щифтът за колоната, която искате да тествате, е деклариран като изход в настройката и след това е зададен LOW в цикъла. Уверете се, че другите щифтове на колони са настроени на HIGH, тъй като това ще гарантира, че те са изключени.

Стъпка 4: Добавяне на превключвател

Добавяне на превключвател
Добавяне на превключвател

След това можете да добавите превключвател, който ще се използва за промяна на настройките на якето. Тя трябва да бъде зашита от вътрешната страна на якето под дъската на LilyPad Arduino. Използвайки проводима резба, краят с етикет „изключен“трябва да бъде свързан към земята, а краят с етикет „включен“трябва да бъде свързан към щифт 2.

Можете да тествате превключвателя, като използвате кода по -долу. Това е много просто и включва долния десен светодиод, ако превключвателят е отворен, и го изключва, ако превключвателят е затворен.

Стъпка 5: Направете устройството безжично

Направете устройството безжично
Направете устройството безжично
Направете устройството безжично
Направете устройството безжично
Направете устройството безжично
Направете устройството безжично

Подготовка на LilyPad XBee и XBee Explorer

Подгответе LilyPad XBee за конфигуриране чрез запояване на 6-пинов правоъгълен мъжки хедър. Това по -късно ще му позволи да се свърже с компютър чрез LilyPad FTDI Basic Breakout платка и USB Mini кабел. Също така, запоявайте 9V щипката за батерията към LilyPad XBee с червения проводник към щифта „+“и черния проводник към щифта „-“.

Свържете платката Explorer към прототипиращия щит за Arduino Mega. 5V и Ground на платката Explorer трябва да се свържат към 5V и Ground на Mega, изходният щифт на Explorer ще трябва да се свърже с RX1 на Mega, а входът на Explorer ще трябва да се свърже с TX1 на Mega.

Конфигуриране на XBees

След това XBees трябва да бъде конфигуриран. На първо място, ще трябва да инсталирате безплатно софтуера CoolTerm, който е достъпен от връзката по -долу.

Софтуер на CoolTerm

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

Първо, конфигурирайте XBee за компютъра. Поставете го в платката LilyPad XBee Breakout и го свържете към компютъра, като използвате основната пробивна платка FTDI и USB Mini кабел. Отворете CoolTerm и в опциите изберете правилния сериен порт. Ако не можете да го видите, опитайте да натиснете 'Re-Scan Serial Ports'. След това се уверете, че скоростта на предаване е зададена на 9600, включете Local Echo и задайте Key Emulation на CR. CoolTerm вече може да бъде свързан към XBee.

Въведете „+++“в главния прозорец, за да поставите XBee в команден режим. Не натискайте връщане. Това ще позволи да се конфигурира с помощта на AT команди. Ако това е било успешно, след много кратка пауза трябва да има отговор на съобщение „OK“. Ако има забавяне от повече от 30 секунди преди следващия ред, командният режим ще излезе и това ще трябва да се повтори. Трябва да бъдат въведени множество AT команди, за да зададете PAN ID, MY ID, Destination ID и да запазите промените. Връщането трябва да бъде натиснато след всяка от тези команди и те могат да се видят в горната таблица. След като това е завършено за компютъра XBee, той трябва да бъде изключен и същият процес трябва да се извърши и за якето XBee.

Можете да проверите новите настройки на XBee, като въведете всяка AT команда без стойността в края. Например, ако въведете „ATID“и натиснете връщане, „1234“трябва да бъде ехо обратно.

Тестване на XBees

В този момент зашийте LilyPad XBee върху якето до LilyPad Arduino. Следните връзки трябва да бъдат направени с проводима резба:

  • 3.3V на LilyPad XBee до „+“на LilyPad
  • Заземете на LilyPad XBee, за да заземите на LilyPad
  • RX на LilyPad XBee до TX на LilyPad
  • TX на LilyPad XBee до RX на LilyPad

Сега устройството може да бъде тествано, за да се гарантира, че XBees работи правилно. Кодът по -долу, наречен „Wireless_Test_Mega“, трябва да бъде качен в Arduino Mega и основната му цел е да получава MIDI съобщения от простия Pure Data patch, създаден по -рано, и да предава различни стойности чрез XBee. Ако се получи MIDI бележка с височина 60, съобщението „а“ще бъде предадено. Като алтернатива, ако бъде получено съобщение за отбелязване, „b“ще бъде предадено.

В допълнение към това, кодът по -долу, наречен „Wireless_Test_LilyPad“, трябва да бъде качен в LilyPad. Това получава съобщенията от Mega чрез XBees и съответно контролира долния десен светодиод. Ако се получи съобщението „а“, което означава, че MIDI бележка с височина 60 е била получена от Mega, светодиодът ще се включи. От друга страна, ако не се получи „а“, светодиодът ще се изключи.

След като кодът бъде качен на двете платки, уверете се, че щитът е поставен отново в Mega и че е свързан към компютъра чрез двата кабела. Поставете компютър XBee в дъската на Explorer. След това се уверете, че платката FTDI Breakout е изключена от якето и поставете якето XBee в LilyPad XBee. Свържете 9V батерията и опитайте да натиснете различните съобщения в Pure Data. Долният десен светодиод на якето трябва да се включва и изключва.

Стъпка 6: Последни щрихи

Последни щрихи
Последни щрихи
Последни щрихи
Последни щрихи
Последни щрихи
Последни щрихи

Кодът и Pure Data Patch

Когато сте доволни, че якето работи безжично, качете скицата „MegaCode“по -долу в Arduino Mega и скицата „LilyPadCode“в LilyPad. Отворете пластира Pure Data, като се уверите, че DSP е включен и аудио входът е настроен към вградения от компютрите ви микрофон. Опитайте да пуснете музика и да преместите превключвателя. Може да се наложи леко да регулирате праговете в Pure Data в зависимост от това колко или малко светодиодите реагират на звука.

Добавяне на нова подплата

И накрая, за да стане якето по -естетично и по -удобно за носене, може да се добави друга подплата към вътрешната страна на якето, за да се прикрие шиенето и компонентите. Това трябва да се направи с помощта на велкро, за да се позволи лесен достъп до веригата в случай, че трябва да се направят всякакви промени.

На първо място, пришийте лентите „примка“(по -меката част) към якето от вътрешната страна, по горната част и надолу от двете страни. Добра идея е да оставите дъното свободно, тъй като това ще позволи на въздуха да достигне до компонентите. След това изрежете парче плат със същия размер и пришийте към него лентите „кука“на велкро, по горната част и надолу от двете страни. Също така, от същата страна като велкро и на най -удобното място, шийте джоб, в който батерията ще може да седне. Вижте снимките по -горе за примери.

Стъпка 7: Готови сте

Вашето безжично яке за светлинно шоу вече трябва да е завършено и успешно да реагира на аудио! Едната настройка трябва да създава ефект като амплитудна лента, а другата трябва да има отделни светодиоди, които да мигат с музиката с цветовете си в зависимост от височината. Вижте по -горе за видео примери. Ако се чудите, цветът и височината са свързани чрез Розенкройцерския орден, който се основава само на интонация. Надявам се този проект да ви хареса!

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