Obsah:

Světelná bunda, která reaguje na hudbu: 7 kroků (s obrázky)
Světelná bunda, která reaguje na hudbu: 7 kroků (s obrázky)

Video: Světelná bunda, která reaguje na hudbu: 7 kroků (s obrázky)

Video: Světelná bunda, která reaguje na hudbu: 7 kroků (s obrázky)
Video: Say NO to WAR! ❌ Share this video to everyone you can! 🙏 2024, Červenec
Anonim
Lehká bunda, která reaguje na hudbu
Lehká bunda, která reaguje na hudbu

Tento tutoriál byl vytvořen jako součást mého posledního ročníku projektu pro můj titul z hudební technologie a aplikované elektroniky na University of York. Zaměřuje se na hudebníky se zájmem o elektroniku. Hotovým výrobkem bude LED matice na zadní straně bundy, která může produkovat světelnou show v souladu s hudbou. To se provede analýzou zvukových vstupů pomocí Pure Data a Arduino. Bunda bude mít dvě nastavení, která lze ovládat vypínačem. Jedno nastavení bude ovládat LED diody podle amplitudy hudby a druhé bude blikat LED diody po jedné a měnit barvu podle výšky tónu.

Jak to bude fungovat

Toto zařízení bude tvořeno dvěma samostatnými obvody. Jeden bude založen na Arduino Mega připojeném přímo k počítači. Druhý obvod bude založen na LilyPad Arduino a bude zcela obsažen v plášti a napájen 9V baterií. Oba tyto obvody budou spolu komunikovat bezdrátově pomocí modulů XBee. Zvukové signály budou přijímány vestavěným mikrofonem počítače a analyzovány v Pure Data, aby se získala data o amplitudě a frekvenci. Tyto informace budou přeneseny do Arduino Mega pomocí vstupního obvodu MIDI a poté budou přeneseny do LilyPad pomocí XBees. LilyPad poté určí, jak budou LED diody na plášti reagovat.

Co budete potřebovat

Pro Mega obvod

  • Arduino Mega 2560
  • Regulován XBee Explorer
  • Trasovací anténa XBee 1mW - řada 1
  • Prototypový štít pro Mega
  • USB typu A až B.
  • USB na MIDI kabel
  • MIDI zásuvka
  • 1 x 220Ω odpor
  • 1 x odpor 270Ω
  • 1 x 1N4148 dioda
  • 1 x optočlen 6N138

Pro obvod LilyPad

  • Hlavní deska LilyPad Arduino 328
  • LilyPad XBee Breakout Board
  • Trasovací anténa XBee 1mW - řada 1
  • Základní odpočinková deska LilyPad FTDI
  • 72 x LilyPad LED (řada všech dostupných barev včetně bílé, modré, červené, žluté, zelené, růžové a fialové)
  • Posuvný přepínač LilyPad
  • Kabel USB 2.0 A-Male na Mini-B
  • 9V baterie
  • Klip na 9V baterii

jiný

  • Bunda
  • Počítač s nainstalovanými Pure Data a Arduino IDE
  • Zařízení Wire
  • Pájecí zařízení
  • Nůžky na drát
  • Odizolovače drátu
  • Jehla s velkým okem
  • Vlákno
  • Vodivé vlákno
  • Nůžky
  • Svinovací metr
  • Látkové lepidlo nebo čirý lak na nehty
  • Křída nebo bílá oční linka
  • Látka na podšívku nebo staré tričko
  • Suchý zip
  • Vrták (možná)
  • Standardní LED (pro testování)
  • Breadboard (pro testování)
  • Další 220Ω odpor (pro testování)
  • Multimetr (pro testování)

Náklady na tento projekt budou velmi záviset na tom, kolik z výše uvedeného vybavení již vlastníte. Je však pravděpodobné, že bude někde mezi 150 až 200 £.

Rychlá poznámka - desky LilyPad jsou navrženy tak, aby byly šité přímo na textil, a proto připájení 9V svorky na baterii k jednomu může způsobit problémy. Spojení může být jemné a snadno přerušitelné. Můžete získat speciálně navržené desky LilyPad pro baterie AAA nebo LiPo, které se můžete rozhodnout raději použít. Přesto jsem se rozhodl jít po trase 9V, protože jejich životnost baterie je větší než AAA a moje univerzita má omezení používání baterií LiPo.

Krok 1: Vytvoření vstupního obvodu MIDI

Vytvoření MIDI vstupního obvodu
Vytvoření MIDI vstupního obvodu
Vytvoření MIDI vstupního obvodu
Vytvoření MIDI vstupního obvodu
Vytvoření vstupního obvodu MIDI
Vytvoření vstupního obvodu MIDI

Nejprve se podívejme na vstupní obvod MIDI. To bude muset být postaveno na prototypové desce, která bude zasunuta do Arduino Mega. To bude použito k odesílání MIDI zpráv z patche Pure Data do Mega prostřednictvím jeho pinu „COMMUNICATION RX0“. Schéma zapojení a fotografii viz výše. V závislosti na vaší prototypovací desce se vaše rozložení může mírně lišit, ale rozhodl jsem se umístit zásuvku MIDI do levého dolního rohu. Zde může být nutné použít vrták, aby byly otvory na štítu větší, aby se vešly do zásuvky. Červené vodiče na fotografii jsou připojeny k 5V, hnědé jsou připojeny k zemi, černý vodič je připojen ke kolíku 3 na 6N138, modrý vodič je připojen ke kolíku 2 na 6N138 a žluté vodiče jsou připojeny k RX0 kolík. Prostor je ponechán na pravé straně prototypovací desky, aby byl prostor pro XBee později. Ve stopách na desce bude pravděpodobně nutné provést přestávky. V tomto případě musely být provedeny mezi kolíky na 6N138.

Testování MIDI vstupního obvodu

Chcete -li otestovat obvod, nahrajte níže uvedený kód do Arduino Mega pomocí kabelu USB typu A na B. Když to uděláte, ujistěte se, že štít není vložen, protože kód nelze nahrát, pokud je cokoli připojeno k pinům RX nebo TX. Kód také obsahuje knihovnu MIDI.h, kterou budete možná muset stáhnout, k dispozici na níže uvedeném odkazu.

MIDI.h

Dále vložte štít do mega a připojte jej k jinému portu USB v počítači pomocí kabelu MIDI na USB. Konec MIDI, který budete muset použít, bude označen jako „out“. Vytvořte jednoduchý obvod na propojovacím kolíku 2 na rezistoru 220Ω a poté jej připojte k anodě standardní LED. Připojte katodu LED k zemi.

Poté vytvořte jednoduchou opravu Pure Data se zprávou [60 100] a zprávou [0 0], obě připojené k objektu s poznámkou prostřednictvím levého vstupu. Otevřením nastavení MIDI a změnou výstupního zařízení zajistěte, aby byl tento patch připojen ke vstupnímu obvodu MIDI. Pokud to není k dispozici, ujistěte se, že jste připojili MIDI obvod k počítači, než otevřete Pure Data. Pokud je váš obvod správný, LED by se měla rozsvítit po stisknutí zprávy [60 100] a měla by zhasnout po stisknutí zprávy [0 0].

Krok 2: Navrhování matice LED

Navrhování LED matice
Navrhování LED matice
Navrhování LED matice
Navrhování LED matice
Navrhování LED matice
Navrhování LED matice

Dále je třeba zvážit matici LED pro zadní část bundy. To bude přímo připojeno k hlavní desce LilyPad. Normálně by pro ovládání LED pomocí mikrokontroléru byla každá přiřazena ke svým vlastním individuálním pinům. S jediným Arduino LilyPad by to však bylo velmi omezující. LilyPad má celkem 12 digitálních pinů a 6 analogových, takže potenciálně 18 výstupních pinů. Protože však jeden z těchto kolíků bude později použit k ovládání posuvného přepínače, zbude pouze 17 zbývajících.

V této situaci lze použít techniku zvanou multiplexování k maximalizaci potenciálu ovládacích pinů LilyPad. To využívá dvou skutečností:

  • LED diody jsou diody a umožňují proud pouze jedním směrem.
  • Lidské oči a mozky zpracovávají obrazy mnohem pomaleji, než může světlo cestovat, takže pokud LED diody dostatečně rychle blikají, nevšimneme si toho. Toto je koncept známý jako „Persistence of Vision“.

Použitím této techniky je počet kontrolek LED, které lze ovládat, (n/2) x (n- (n/2)), kde n je počet dostupných řídicích kolíků. Díky 17 pinům, které jsou k dispozici, by proto mělo být možné ovládat 72 LED v matici 9x8.

Schéma rozložení LED v matici 9x8 je vidět výše, včetně návrhů kolíků, ke kterým by měl být připojen každý řádek a sloupec. Je důležité si uvědomit, že řádky a sloupce se nesmí dotýkat. Rovněž nejsou vyžadovány žádné odpory, protože každá LED má vestavěný vlastní s odporem 100Ω.

Než začnete šít, měli byste si naplánovat rozvržení obvodu na plášti. Dobrým místem, kde začít, je označení na plášti, kam budou LED diody směřovat, malými tečkami pomocí páskového měřidla, které zajistí rovnoměrné rozmístění. U černé kožené bundy funguje bílá oční linka velmi dobře a v případě chyby se dá snadno setřít. V závislosti na materiálu a barvě bundy však mohou fungovat i jiná média, jako je křída. Uspořádání barev LED, které jsem použil, je vidět výše, které bude fungovat s kódem poskytnutým později. Můžete použít jiné rozložení, i když to bude nutné v kódu změnit.

Další věc k zamyšlení je, kam půjde LilyPad, LilyPad XBee a napájecí zdroj. Pro bundu, kterou jsem použil, se nejrozumnější a nej diskrétnější místo zdálo na zadní straně bundy, dole a na vnitřní podšívce. Je to proto, že je nepravděpodobné, že by se zde srazily ramena nositelů, a může se snadno dostat k matici LED. Také, protože bunda, kterou jsem použil, byla dole volná, byla stále pohodlná.

Krok 3: Šití LED matice

Šití LED matice
Šití LED matice
Šití LED matice
Šití LED matice
Šití LED matice
Šití LED matice

V tomto okamžiku můžete začít šit. S vodivým vláknem se dá obtížně pracovat, proto uvádíme několik užitečných tipů:

  • Přilepení součásti na místo pomocí lepidla na textilie usnadní šití.
  • Různé typy stehů budou mít různé estetické a funkční vlastnosti, takže stojí za to se na ně podívat, než začnete. Základní běžecký steh by však pro tento projekt měl být v pořádku.
  • Uzly mají tendenci se poměrně snadno uvolňovat pomocí vodivých nití, protože jsou „pružnější“než obvykle. Řešením je použití malého množství čirého laku na nehty nebo lepidla na textil k jejich utěsnění. Před useknutím ocasu jim nechte čas uschnout.
  • Při vytváření připojení k součástem obvodu nebo při spojování dvou řad vodivých vláken je vhodné je několikrát přešít, aby bylo zajištěno dobré mechanické a elektrické spojení.
  • Ujistěte se, že jehla je ostrá a má velké oko. Projít bundou může být náročné a vodivá nit je silnější než obvykle.
  • Dávejte pozor na volné chloupky na niti. Pokud se náhodou dotknou jiných linií šití, mohou v obvodu vytvořit šortky. Pokud se tyto stanou zásadním problémem, lze všechny linky po provedení testu utěsnit čirým lakem na nehty nebo lepidlem na textil a vše rozhodně funguje správně.

Dobrým místem pro zahájení šití jsou řádky. Aby byly co nejrovnější, můžete pomocí pravítka nakreslit slabé čáry, které budete šít. Jakmile je ušijete, přesuňte se na sloupy. Pokaždé, když je dosaženo řady, bude třeba věnovat velkou pozornost, protože je důležité, aby se ti dva nekřížili. Toho lze dosáhnout vytvořením stehu pro sloupek na vnitřní straně pláště pro tuto křižovatku, jak je vidět na fotografii výše. Když dokončíte všechny řádky a sloupce, můžete pomocí multimetru zkontrolovat, zda nejsou zkraty.

Jakmile budete spokojeni, začněte šít LED diody pro sloupec zcela vpravo na plášti. Zajistěte, aby každá anoda byla připojena ke své vlastní řadě a každá katoda byla připevněna ke sloupci vlevo. Poté položte LilyPad Arduino na místo pomocí lepidla na textilie zhruba pod tento sloupec a ujistěte se, že kolíky pro FTDI breakout desku směřují dolů. Šijte kolík 11 LilyPad do řady 1, kolík 12 do řady 2 a tak dále, dokud nebude kolík A5 přišitý k řadě 9. Poté našijte kolík 10 do zcela pravého sloupku. K otestování tohoto prvního sloupce můžete použít níže uvedený kód. Nahrajte kód a napájejte LilyPad připojením k počítači pomocí FTDI breakout desky a kabelu USB 2.0 A-Male na Mini-B.

Pokud po připojení LilyPad není k dispozici správný port, možná budete muset nainstalovat ovladač FTDI dostupný z níže uvedeného odkazu.

Instalace ovladače FTDI

Jakmile se rozsvítí tento první sloupec LED diod, je čas přišít zbytek na bundu. Jedná se o časově náročný proces, a proto je pravděpodobně nejlepší ho rozmístit na několik dní. Nezapomeňte každý sloupec otestovat. Můžete to provést přizpůsobením výše uvedeného kódu tak, aby pin pro sloupec, který chcete testovat, byl deklarován jako výstup v nastavení a poté byl ve smyčce nastaven na LOW. Ujistěte se, že ostatní kolíky jsou nastaveny jako VYSOKÉ, protože to zajistí, že budou vypnuty.

Krok 4: Přidání přepínače

Přidání přepínače
Přidání přepínače

Dále můžete přidat přepínač, který bude použit ke změně nastavení na bundě. Je třeba jej přišít na vnitřní stranu bundy pod desku LilyPad Arduino. Pomocí vodivého závitu by měl být konec označený „vypnuto“připojen k zemi a konec označený „zapnuto“by měl být připojen ke kolíku 2.

Přepínač můžete vyzkoušet pomocí níže uvedeného kódu. To je velmi jednoduché a rozsvítí se pravá dolní LED dioda, pokud je spínač otevřený, a zhasne, pokud je spínač zavřený.

Krok 5: Nastavení zařízení jako bezdrátového

Making the Device Wireless
Making the Device Wireless
Making the Device Wireless
Making the Device Wireless
Making the Device Wireless
Making the Device Wireless

Příprava LilyPad XBee a XBee Explorer

Připravte LilyPad XBee na konfiguraci pájením na 6kolíkový pravoúhlý zástrčkový konektor. To později umožní připojení k počítači pomocí desky LilyPad FTDI Basic Breakout a kabelu USB Mini. Rovněž připájejte 9V bateriovou sponu na LilyPad XBee tak, aby červený vodič směřoval na pin „+“a černý vodič na pin „-“.

Připojte desku Explorer k prototypovému štítu pro Arduino Mega. 5V a Ground na desce Explorer bude nutné připojit k 5V a Ground na Mega, výstupní pin na Exploreru bude potřebovat připojení k RX1 na Mega a vstup na Explorer bude potřebovat připojení k TX1 na Mega.

Konfigurace XBees

Dále je třeba nakonfigurovat XBees. Nejprve si musíte zdarma nainstalovat software CoolTerm, který je k dispozici na níže uvedeném odkazu.

Software CoolTerm

Ujistěte se, že mezi oběma XBee nějakým způsobem rozlišujete, protože je důležité, abyste si je nespletli.

Nejprve nakonfigurujte XBee pro počítač. Vložte jej do desky LilyPad XBee Breakout a připojte jej k počítači pomocí základní desky FTDI a kabelu USB Mini. Otevřete CoolTerm a v možnostech vyberte správný sériový port. Pokud to nevidíte, zkuste stisknout 'Znovu skenovat sériové porty'. Poté zkontrolujte, zda je přenosová rychlost nastavena na 9600, zapněte Local Echo a nastavte emulaci klíče na CR. CoolTerm lze nyní připojit k XBee.

Chcete -li XBee přepnout do příkazového režimu, zadejte do hlavního okna „+++“. Nestiskněte Return. To umožní jeho konfiguraci pomocí AT příkazů. Pokud se to podařilo, po velmi krátké pauze by měla přijít odpověď „OK“. Pokud je před dalším řádkem zpoždění více než 30 sekund, příkazový režim se ukončí a bude nutné to opakovat. K nastavení PAN ID, MY ID, Destination ID a uložení změn je třeba zadat řadu AT příkazů. Po každém z těchto příkazů musí být vrácen návrat a ty jsou vidět v tabulce výše. Jakmile to bylo dokončeno pro počítač XBee, musí být odpojeno a stejný proces musí být proveden pro plášť XBee.

Nové nastavení XBee můžete zkontrolovat zadáním každého AT příkazu bez hodnoty na konci. Pokud například zadáte „ATID“a stisknete return, „1234“by se mělo vrátit zpět.

Testování XBees

V tuto chvíli přišijte LilyPad XBee na plášť vedle LilyPad Arduino. S vodivým závitem je třeba provést následující připojení:

  • 3,3 V na LilyPad XBee až '+' na LilyPad
  • Uzemněte na LilyPad XBee na LilyPad
  • RX na LilyPad XBee na TX na LilyPad
  • TX na LilyPad XBee na RX na LilyPad

Nyní lze zařízení otestovat, aby bylo zajištěno, že XBees fungovaly správně. Níže uvedený kód nazvaný 'Wireless_Test_Mega' je třeba nahrát do Arduino Mega a jeho hlavním účelem je přijímat zprávy MIDI z dříve vytvořeného jednoduchého patche Pure Data a přenášet různé hodnoty prostřednictvím XBee. Pokud je přijata MIDI nota s výškou 60, bude odeslána zpráva „a“. Alternativně, pokud je přijata zpráva s poznámkou, bude odesláno „b“.

Kromě toho je třeba do LilyPad nahrát níže uvedený kód nazvaný 'Wireless_Test_LilyPad'. To přijímá zprávy z Mega přes XBees a podle toho ovládá LED vpravo dole. Pokud je přijata zpráva „a“, což znamená, že Mega přijala MIDI notu s výškou 60, LED se rozsvítí. Na druhou stranu, pokud není přijato „a“, kontrolka LED zhasne.

Jakmile je kód nahrán na obě desky, zajistěte, aby byl štít znovu vložen do Mega a aby byl připojen k počítači pomocí obou kabelů. Vložte počítač XBee do desky Průzkumníka. Poté se ujistěte, že je deska FTDI Breakout odpojena od pláště a vložte plášť XBee do LilyPad XBee. Připojte 9V baterii a zkuste stisknout různé zprávy v Pure Data. Pravá spodní LED dioda na plášti by se měla zapínat a vypínat.

Krok 6: Poslední dotyky

Poslední dotyky
Poslední dotyky
Poslední dotyky
Poslední dotyky
Poslední dotyky
Poslední dotyky

Oprava kódu a čistých dat

Až budete rádi, že bunda funguje bezdrátově, nahrajte níže uvedenou skicu „MegaCode“do Arduino Mega a skicu „LilyPadCode“do LilyPad. Otevřete opravu Pure Data a ujistěte se, že je zapnutý DSP a že je zvukový vstup nastaven na vestavěný mikrofon vašeho počítače. Zkuste pustit nějakou hudbu a posuňte přepínač. Možná budete muset mírně upravit prahové hodnoty v Pure Data v závislosti na tom, jak moc nebo málo reagují diody LED na zvuk.

Přidání nové podšívky

Konečně, aby byla bunda estetičtější a pohodlnější na nošení, lze do vnitřní části bundy přidat další podšívku, která zakryje šití a komponenty. To by mělo být provedeno pomocí suchého zipu, aby byl umožněn snadný přístup k obvodu, pokud je třeba provést jakékoli změny.

Nejprve přišijte proužky „smyčky“(měkčí část) k bundě zevnitř, podél horní a dolní části po obou stranách. Je dobré nechat dno volné, protože to umožní přístupu vzduchu ke komponentám. Poté odstřihněte kus látky stejné velikosti a přišijte k němu „háčkové“proužky suchého zipu podél horní a dolní části obou stran. Také na stejné straně jako suchý zip a na nejvhodnějším místě našijte kapsu, do které se vejde baterie. Příklady viz obrázky výše.

Krok 7: Hotovo

Vaše bezdrátová bunda Light Show by nyní měla být kompletní a úspěšně reagovat na zvuk! Jedno nastavení by mělo vytvořit efekt jako pruh amplitudy a druhé by mělo mít jednotlivé LED blikající hudbou s jejich barvami v závislosti na výšce. Viz výše pro příklady videa. Pokud by vás zajímalo, barva a výška jsou spojeny prostřednictvím Rosicrucianského řádu, který je založen na pouhé intonaci. Doufám, že se vám tento projekt líbil!

Doporučuje: