Obsah:

Svetelná šou, ktorá reaguje na hudbu: 7 krokov (s obrázkami)
Svetelná šou, ktorá reaguje na hudbu: 7 krokov (s obrázkami)

Video: Svetelná šou, ktorá reaguje na hudbu: 7 krokov (s obrázkami)

Video: Svetelná šou, ktorá reaguje na hudbu: 7 krokov (s obrázkami)
Video: Pracuji v Soukromém muzeu pro bohaté a slavné. Hororové příběhy. Hrůza. 2024, Júl
Anonim
Svetelná bunda, ktorá reaguje na hudbu
Svetelná bunda, ktorá reaguje na hudbu

Tento tutoriál bol vytvorený ako súčasť môjho posledného ročníkového projektu k titulu z hudobnej technológie a aplikovanej elektroniky na University of York. Je zameraný na hudobníkov so záujmom o elektroniku. Hotovým výrobkom bude matica LED na zadnej strane bundy, ktorá môže produkovať svetelnú show v súlade s hudbou. To sa vykoná analýzou zvukových vstupov pomocou Pure Data a Arduino. Bunda bude mať dve nastavenia, ktoré je možné ovládať prepínačom. Jedno nastavenie bude ovládať LED diódy podľa amplitúdy hudby a pri druhom bude LED dióda blikať po jednej a meniť farbu podľa výšky tónu.

Ako to bude fungovať

Toto zariadenie bude tvorené dvoma oddelenými obvodmi. Jeden bude založený na zariadení Arduino Mega pripojenom priamo k počítaču. Druhý obvod bude založený na LilyPad Arduino a bude úplne obsiahnutý v plášti a bude napájaný 9V batériou. Oba tieto obvody budú medzi sebou bezdrôtovo komunikovať pomocou modulov XBee. Zvukový signál bude prijímaný vstavaným mikrofónom počítača a analyzovaný v programe Pure Data, aby sa získali údaje o amplitúde a frekvencii. Tieto informácie budú prenesené do Arduino Mega pomocou vstupného obvodu MIDI a tie budú potom prenesené do LilyPad pomocou XBees. LilyPad potom určí, ako budú LED diódy na plášti reagovať.

Čo budete potrebovať

Pre Mega obvod

  • Arduino Mega 2560
  • Regulátor XBee Explorer regulovaný
  • Stopová anténa XBee 1 mW - séria 1
  • Prototypový štít pre Mega
  • USB typu A až B.
  • Kábel USB na MIDI
  • MIDI zásuvka
  • 1 x 220Ω odpor
  • 1 x odpor 270Ω
  • 1 x 1N4148 dióda
  • 1 x optočlen 6N138

Pre obvod LilyPad

  • Hlavná doska LilyPad Arduino 328
  • Breakout doska LilyPad XBee
  • Stopová anténa XBee 1 mW - séria 1
  • Základná odpočinková doska LilyPad FTDI
  • 72 x LED diódy LilyPad (škála všetkých dostupných farieb vrátane bielej, modrej, červenej, žltej, zelenej, ružovej a fialovej)
  • Posuvný prepínač LilyPad
  • Kábel USB 2.0 A-Male na Mini-B
  • 9V batéria
  • Klip na 9V batériu

Iné

  • Bunda
  • Počítač s nainštalovanými Pure Data a Arduino IDE
  • Vybavenie drôtu
  • Spájkovacie zariadenie
  • Strihač káblov
  • Odizolovače drôtov
  • Ihla s veľkým okom
  • Závit
  • Vodivé vlákno
  • Nožnice
  • Zvinovací meter
  • Látkové lepidlo alebo číry lak na nechty
  • Krieda alebo biele očné linky
  • Látka na podšívku alebo staré tričko
  • Suchý zips
  • Vŕtačka (možno)
  • Štandardná LED dióda (na testovanie)
  • Breadboard (na testovanie)
  • Ďalší 220Ω odpor (na testovanie)
  • Multimetr (na testovanie)

Náklady na tento projekt budú veľmi závisieť od toho, koľko z vyššie uvedeného zariadenia už vlastníte. Pravdepodobne sa však bude pohybovať niekde medzi 150 až 200 libier.

Rýchla poznámka - dosky LilyPad sú navrhnuté tak, aby boli šité priamo na textil, a preto spájkovanie 9V svorky na batériu s jedným môže spôsobovať problémy. Spojenie môže byť jemné a ľahko prerušiteľné. Môžete získať špeciálne navrhnuté dosky LilyPad pre batérie AAA alebo LiPo, o ktorých sa môžete rozhodnúť, že ich radšej použijete. Napriek tomu som sa rozhodol ísť cestou 9 V, pretože ich životnosť batérie je väčšia ako AAA a moja univerzita má obmedzenia týkajúce sa používania batérií LiPo.

Krok 1: Vytvorenie vstupného obvodu MIDI

Vytvorenie vstupného obvodu MIDI
Vytvorenie vstupného obvodu MIDI
Vytvorenie vstupného obvodu MIDI
Vytvorenie vstupného obvodu MIDI
Vytvorenie vstupného obvodu MIDI
Vytvorenie vstupného obvodu MIDI

Najprv zvážime vstupný obvod MIDI. Toto bude potrebné skonštruovať na prototypovej doske, ktorá bude zapadnúť do Arduino Mega. To sa bude používať na odosielanie MIDI správ z opravy Pure Data na Mega prostredníctvom jeho pinu „COMMUNICATION RX0“. Schéma zapojenia a fotografia nájdete vyššie. V závislosti od vašej prototypovacej dosky sa vaše rozloženie môže mierne líšiť, ale rozhodol som sa umiestniť zásuvku MIDI do ľavého dolného rohu. Na zväčšenie otvorov na štíte, aby sa zmestili do zásuvky, môže byť potrebné použiť vŕtačku. Červené vodiče na fotografii sú pripojené k 5V, hnedé sú pripojené k zemi, čierny vodič je pripojený k pinu 3 na 6N138, modrý vodič je pripojený k pinu 2 na 6N138 a žlté vodiče sú pripojené k RX0 špendlík. Na pravej strane prototypovej dosky je ponechaný priestor, aby sa neskôr uvoľnilo miesto pre XBee. V koľajach na doske bude pravdepodobne potrebné urobiť prestávky. V tomto prípade museli byť vyrobené medzi kolíkmi na 6N138.

Testovanie vstupného obvodu MIDI

Na otestovanie obvodu nahrajte nižšie uvedený kód do Arduino Mega pomocou kábla USB typu A až B. Uistite sa, že pri tom nie je vložený štít, pretože kód nie je možné nahrať, ak je k pinom RX alebo TX čokoľvek pripojené. Kód tiež obsahuje knižnicu MIDI.h, ktorú si možno budete musieť stiahnuť, ktorá je k dispozícii na nižšie uvedenom odkaze.

MIDI.h

Potom vložte štít do mega a pomocou kábla MIDI na USB ho pripojte k inému portu USB v počítači. MIDI koniec, ktorý budete musieť použiť, bude označený ako „out“. Vytvorte jednoduchý obvod na prepojovacom kolíku 2 na rezistore a 220 ohmovom odpore a potom ho pripojte k anóde štandardnej diódy LED. Pripojte katódu LED k zemi.

Potom vytvorte jednoduchú opravu Pure Data so správou [60 100] a správou [0 0], ktorá je pripojená k objektu poznámok prostredníctvom jeho ľavého vstupu. Otvorením nastavení MIDI a zmenou výstupného zariadenia zaistite, aby bola táto oprava pripojená k vstupnému obvodu MIDI. Ak to nie je k dispozícii, uistite sa, že ste pred otvorením Pure Data pripojili MIDI obvod k počítaču. Ak je váš obvod v poriadku, LED dióda by sa mala rozsvietiť po stlačení správy [60 100] a mala by zhasnúť po stlačení správy [0 0].

Krok 2: Navrhovanie matice LED

Navrhovanie matice LED
Navrhovanie matice LED
Navrhovanie matice LED
Navrhovanie matice LED
Navrhovanie matice LED
Navrhovanie matice LED

Ďalej je potrebné zvážiť maticu LED pre zadnú časť plášťa. Ten bude priamo spojený s hlavnou doskou LilyPad. Za normálnych okolností by na ovládanie LED pomocou mikrokontroléra boli každý priradený k svojim vlastným individuálnym kolíkom. S iba jedným Arduino LilyPad by to však bolo veľmi obmedzujúce. LilyPad má celkovo 12 digitálnych pinov a 6 analógových, takže potenciálne 18 výstupných pinov. Pretože však jeden z týchto kolíkov bude neskôr použitý na ovládanie posuvného prepínača, zostane iba 17 zostávajúcich.

V tejto situácii môže byť použitá technika nazývaná multiplexovanie na maximalizáciu potenciálu riadiacich kolíkov LilyPad. Využíva to dve skutočnosti:

  • LED diódy sú diódy a umožňujú prúd iba v jednom smere.
  • Ľudské oči a mozog spracovávajú obrázky oveľa pomalšie, ako sa môže svetlo pohybovať, takže ak diódy LED blikajú dostatočne rýchlo, nevšimneme si to. Toto je koncept známy ako „perzistencia vízie“.

Použitím tejto techniky je počet LED, ktoré je možné ovládať, (n/2) x (n-(n/2)), kde n je počet dostupných riadiacich pinov. Preto so 17 pinmi, ktoré sú k dispozícii, by malo byť možné ovládať 72 LED diód v matici 9x8.

Schéma rozloženia diód LED v matici 9x8 je možné vidieť vyššie, vrátane návrhov na kolíky, ku ktorým by mal byť pripojený každý riadok a stĺpec. Je dôležité poznamenať, že riadky a stĺpce sa nesmú dotýkať. Tiež nie sú potrebné žiadne odpory, pretože každá LED dióda má v sebe zabudovaný vlastný odpor 100Ω.

Predtým, ako začnete šiť, by ste si mali naplánovať rozloženie obvodu na plášti. Dobrým miestom, kde začať, je označiť na plášti, kde budú LED diódy, ísť s malými bodkami, pomocou pásky, aby ste zaistili rovnomerné rozmiestnenie. Na čiernu koženú bundu funguje biela očná linka veľmi dobre a v prípade chyby sa dá ľahko zotrieť. V závislosti od materiálu a farby bundy však môžu fungovať aj iné médiá, ako napríklad krieda. Usporiadanie farieb LED, ktoré som použil, je možné vidieť vyššie, ktoré bude fungovať s kódom poskytnutým neskôr. Môžete použiť iné rozloženie, aj keď to bude potrebné v kóde zmeniť.

Ďalšia vec na zamyslenie je, kam pôjde LilyPad, LilyPad XBee a napájanie. Pokiaľ ide o bundu, ktorú som použil, najrozumnejšie a naj diskrétnejšie sa zdalo byť na zadnej strane bundy, v spodnej časti a na vnútornej podšívke. Je to preto, že je nepravdepodobné, že by tu došlo k zrazeniu ramenami nositeľa, a môže sa ľahko dostať k matici LED. Keďže bunda, ktorú som použil, bola v spodnej časti voľná, bola stále pohodlná.

Krok 3: Šitie matice LED

Šitie LED matice
Šitie LED matice
Šitie LED matice
Šitie LED matice
Šitie LED matice
Šitie LED matice

V tomto mieste môžete začať šiť. S vodivým vláknom sa dá ťažko pracovať, preto uvádzame niekoľko užitočných rád:

  • Prilepenie súčiastky na miesto pomocou lepidla na textil značne ušije.
  • Rôzne typy stehov budú mať rôzne estetické a funkčné vlastnosti, preto stojí za to sa na ne pozrieť skôr, ako začnete. Základný bežecký steh by však mal byť pre tento projekt v poriadku.
  • Uzly majú tendenciu sa celkom ľahko uvoľňovať pomocou vodivých nití, pretože sú „pružnejšie“ako obvykle. Riešením je použiť malé množstvo číreho laku na nechty alebo tkaninového lepidla na ich utesnenie. Pred odrezaním chvosta im nechajte čas uschnúť.
  • Pri vytváraní spojení s komponentmi obvodu alebo spájaní dvoch línií vodivého závitu je dobré ich niekoľkokrát prešiť, aby ste sa uistili, že ste vytvorili dobré mechanické a elektrické spojenie.
  • Uistite sa, že je vaša ihla ostrá a má veľké oko. Dostať sa cez plášť môže byť náročné a vodivá niť je hrubšia ako obvykle.
  • Dávajte si pozor na rozpustené chĺpky na niti. Ak sa náhodou dotknú iných línií šitia, môžu v obvode vytvoriť šortky. Ak sa tieto stanú hlavným problémom, všetky linky je možné po testovaní uzavrieť čírym lakom na nechty alebo lepidlom na textil a všetko určite funguje správne.

Dobrým miestom na začatie šitia sú riadky. Aby boli čo najrovnejšie, môžete pomocou pravítka nakresliť slabé čiary, ktoré je možné prišiť. Akonáhle ich ušijete, prejdite na stĺpce. Pri každom dosiahnutí radu bude potrebné venovať veľkú pozornosť, pretože je nevyhnutné, aby sa tieto dva neprekračovali. To sa dá dosiahnuť vytvorením stehu pre stĺpik na vnútornej strane bundy pre toto spojenie, ako je vidieť na fotografii vyššie. Keď ste dokončili všetky riadky a stĺpce, pomocou multimetra môžete skontrolovať, či nie sú skraty.

Akonáhle ste spokojní, začnite šiť LED diódy pre stĺpik úplne vpravo na plášti. Zaistite, aby každá anóda bola pripevnená k svojmu vlastnému radu a každá katóda bola pripevnená k stĺpiku vľavo. Potom vložte LilyPad Arduino na miesto pomocou tkaninového lepidla zhruba pod tento stĺpec a uistite sa, že kolíky pre oddeľovaciu dosku FTDI smerujú nadol. Prišite kolík 11 LilyPad k riadku 1, kolík 12 k riadku 2 a tak ďalej, kým nebude kolík A5 prišitý k riadku 9. Potom prišite kolík 10 k krajnému pravému stĺpcu. Na otestovanie tohto prvého stĺpca môžete použiť kód nižšie. Nahrajte kód a napájajte LilyPad pripojením k počítaču pomocou oddeľovacej dosky FTDI a kábla USB 2.0 A-Male na Mini-B.

Ak po pripojení LilyPadu nie je k dispozícii správny port, možno budete musieť nainštalovať ovládač FTDI dostupný z nižšie uvedeného odkazu.

Inštalácia ovládača FTDI

Akonáhle sa rozsvieti tento prvý stĺpec diód LED, je čas prišiť zvyšok na bundu. Je to časovo náročný proces, a preto je pravdepodobne najlepšie ho rozdeliť na niekoľko dní. Každý stĺpec určite vyskúšajte. Môžete to urobiť tak, že vyššie uvedený kód upravíte tak, aby bol kolík stĺpca, ktorý chcete testovať, deklarovaný ako výstup v nastavení a potom je v slučke nastavený na hodnotu NÍZKE. Uistite sa, že ostatné kolíky stĺpcov sú nastavené na VYSOKÉ, pretože to zaistí ich vypnutie.

Krok 4: Pridanie prepínača

Pridanie prepínača
Pridanie prepínača

Ďalej môžete pridať prepínač, ktorý sa použije na zmenu nastavení bundy. Je potrebné ho prišiť na vnútornú stranu bundy pod dosku LilyPad Arduino. Pomocou vodivého závitu by mal byť koniec označený ako „vypnutý“spojený so zemou a koniec označený ako „zapnutý“by mal byť pripojený k kolíku 2.

Prepínač môžete otestovať pomocou nižšie uvedeného kódu. Je to veľmi jednoduché a zapne sa pravá dolná dióda LED, ak je spínač otvorený, a vypne ho, ak je spínač zatvorený.

Krok 5: Bezdrôtové pripojenie zariadenia

Bezdrôtové pripojenie zariadenia
Bezdrôtové pripojenie zariadenia
Bezdrôtové pripojenie zariadenia
Bezdrôtové pripojenie zariadenia
Bezdrôtové pripojenie zariadenia
Bezdrôtové pripojenie zariadenia

Príprava LilyPad XBee a XBee Explorer

Pripravte LilyPad XBee na konfiguráciu spájkovaním 6-kolíkového pravouhlého konektora. To neskôr umožní jeho pripojenie k počítaču pomocou dosky LilyPad FTDI Basic Breakout a kábla USB Mini. 9V batériovú sponu tiež spájkujte s LilyPad XBee tak, aby červený vodič smeroval k pinu „+“a čierny vodič k pinu „-“.

Pripojte dosku Explorer k prototypovému štítu pre Arduino Mega. 5V a uzemnenie na doske Explorer bude potrebné pripojiť k 5V a uzemneniu na Mega, výstupný pin na Exploreri bude potrebovať pripojenie k RX1 na Mega a vstup na Exploreri bude potrebovať pripojenie k TX1 na Mega.

Konfigurácia XBees

Ďalej je potrebné nakonfigurovať XBees. Najprv si musíte bezplatne nainštalovať softvér CoolTerm, ktorý je dostupný z nižšie uvedeného odkazu.

Softvér CoolTerm

Uistite sa, že medzi týmito dvoma XBee nejakým spôsobom rozlišujete, pretože je dôležité, aby ste ich nezamieňali.

Najprv nakonfigurujte XBee pre počítač. Vložte ho do dosky LilyPad XBee Breakout a pripojte ho k počítaču pomocou základnej oddeľovacej dosky FTDI a kábla USB Mini. Otvorte aplikáciu CoolTerm a v možnostiach vyberte správny sériový port. Ak to nevidíte, skúste stlačiť „Znova skenovať sériové porty“. Potom skontrolujte, či je prenosová rýchlosť nastavená na 9600, zapnite funkciu Local Echo a nastavte emuláciu kľúča na CR. CoolTerm je teraz možné pripojiť k XBee.

Do hlavného okna zadajte „+++“, aby sa XBee prepol do príkazového režimu. Netlačte na návrat. To umožní jeho konfiguráciu pomocou AT príkazov. Ak sa to podarilo, po veľmi krátkej prestávke by mala prísť správa „OK“. Ak je pred ďalším riadkom oneskorenie viac ako 30 sekúnd, príkazový režim sa ukončí a bude potrebné to zopakovať. Na nastavenie PAN ID, MOJEHO ID, cieľového ID a uloženia zmien je potrebné zadať množstvo AT príkazov. Návrat je potrebné dosiahnuť po každom z týchto príkazov a tieto hodnoty sú uvedené v tabuľke vyššie. Akonáhle to bolo dokončené pre počítač XBee, musí byť odpojený a rovnaký postup musí byť vykonaný pre plášť XBee.

Nové nastavenia XBee môžete skontrolovať zadaním každého príkazu AT bez hodnoty na konci. Ak napríklad zadáte „ATID“a stlačíte kláves Enter, „1234“by sa malo zopakovať.

Testovanie XBees

V tomto mieste prišite LilyPad XBee na plášť vedľa LilyPad Arduino. Nasledujúce pripojenia je potrebné vykonať s vodivým závitom:

  • 3,3 V na LilyPad XBee až+na LilyPad
  • Uzemnite na zariadení LilyPad XBee a uzemnite na zariadení LilyPad
  • RX na LilyPad XBee na TX na LilyPad
  • TX na LilyPad XBee na RX na LilyPad

Teraz je možné zariadenie otestovať, aby sme sa uistili, že XBee fungovali správne. Nasledujúci kód s názvom „Wireless_Test_Mega“je potrebné nahrať do Arduino Mega a jeho hlavným účelom je prijímať správy MIDI z predtým vytvorenej jednoduchej opravy Pure Data a prenášať rôzne hodnoty prostredníctvom XBee. Ak je prijatá MIDI nota s výškou 60, bude odoslaná správa „a“. Alternatívne, ak je prijatá správa s poznámkou, bude odoslané „b“.

Okrem toho je potrebné do zariadenia LilyPad nahrať nižšie uvedený kód s názvom „Wireless_Test_LilyPad“. Prijíma správy z Mega cez XBees a podľa toho ovláda LED vpravo dole. Ak je prijatá správa „a“, čo znamená, že Mega prijala MIDI notu s výškou 60, LED sa rozsvieti. Na druhej strane, ak „a“nedostanete, LED dióda zhasne.

Akonáhle je kód nahraný na obe dosky, uistite sa, že štít bol znovu vložený do Mega a že je pripojený k počítaču pomocou oboch káblov. Vložte počítač XBee do dosky Prieskumníka. Potom sa uistite, že je doska FTDI Breakout odpojená od plášťa a vložte plášť XBee do LilyPad XBee. Pripojte 9V batériu a skúste stlačiť rôzne správy v Pure Data. LED dióda vpravo dole na bunde by sa mala zapínať a vypínať.

Krok 6: Konečné dotyky

Záverečné dotyky
Záverečné dotyky
Záverečné dotyky
Záverečné dotyky
Záverečné dotyky
Záverečné dotyky

Oprava kódu a čistých údajov

Keď ste radi, že bunda funguje bezdrôtovo, nahrajte nižšie uvedenú skicu „MegaCode“do zariadenia Arduino Mega a skicu „LilyPadCode“do zariadenia LilyPad. Otvorte opravu Pure Data a uistite sa, že je zapnutý DSP a zvukový vstup je vstavaný do vášho počítača vstavaný mikrofón. Skúste pustiť hudbu a posuňte prepínač. Možno budete musieť prahové hodnoty v Pure Data mierne upraviť v závislosti od toho, ako veľmi alebo málo reagujú diódy LED na zvuk.

Pridanie novej podšívky

Nakoniec, aby bola bunda estetickejšia a pohodlnejšia na nosenie, je možné do vnútornej časti bundy pridať ďalšiu podšívku na zakrytie šitia a komponentov. To sa musí vykonať pomocou suchého zipsu, aby bol umožnený ľahký prístup k obvodu, pretože je potrebné vykonať akékoľvek zmeny.

Najprv prišite prúžky „slučky“(mäkšia časť) k saku zvnútra, pozdĺž vrchu a dolu po oboch stranách. Je dobré nechať dno voľné, pretože sa tak umožní vzduch dostať sa ku komponentom. Potom odstrihnite kus látky rovnakej veľkosti a prišite k nemu „háčikové“pásy suchého zipsu pozdĺž hornej a dolnej časti oboch strán. Na rovnakú stranu ako suchý zips a na najvhodnejšom mieste prišite vrecko, do ktorého sa batéria zmestí. Príklady nájdete na vyššie uvedených obrázkoch.

Krok 7: Hotovo

Vaša bezdrôtová bunda Light Show by teraz mala byť kompletná a úspešne reagovať na zvuk! Jedno nastavenie by malo vytvárať efekt ako pruh amplitúdy a v druhom by mali jednotlivé LED diódy trblietať hudbou svojimi farbami v závislosti od výšky tónu. Príklady videí nájdete vyššie. Ak by vás zaujímalo, farba a výška tónu sú príbuzné prostredníctvom rosekruciánskeho rádu, ktorý je založený na intonácii. Dúfam, že sa vám tento projekt páčil!

Odporúča: