Kazalo:

Jakna Light Show, ki se odziva na glasbo: 7 korakov (s slikami)
Jakna Light Show, ki se odziva na glasbo: 7 korakov (s slikami)

Video: Jakna Light Show, ki se odziva na glasbo: 7 korakov (s slikami)

Video: Jakna Light Show, ki se odziva na glasbo: 7 korakov (s slikami)
Video: Через тоску по любви в жизни фургона - педагог Басти живет полный рабочий день в T4 2024, Julij
Anonim
Light Show jakna, ki reagira na glasbo
Light Show jakna, ki reagira na glasbo

Ta vadnica je nastala kot del mojega zadnjega letnega projekta za diplomo iz glasbene tehnologije in uporabne elektronike na Univerzi v Yorku. Namenjen je glasbenikom, ki jih zanima elektronika. Končni izdelek bo LED matrika na hrbtni strani jakne, ki bo lahko ustvarila svetlobni šov v skladu z glasbo. To se naredi z analizo avdio vhodov s pomočjo Pure Data in Arduino. Jakna bo imela dve nastavitvi, ki ju je mogoče upravljati s stikalom. Ena nastavitev bo upravljala LED glede na amplitudo glasbe, druga pa bo LED utripala ena za drugo in spreminjala barvo glede na višino tona.

Kako bo delovalo

Ta naprava bo sestavljena iz dveh ločenih vezij. Eden bo temeljil na Arduino Mega, ki je neposredno povezan z računalnikom. Drugo vezje bo temeljilo na LilyPad Arduinu in bo v celoti vključeno v plašč in se napajalo z 9V baterijo. Oba vezja bosta brezžično komunicirala z uporabo modulov XBee. Zvočni signali bodo sprejeti v računalnikih z vgrajenim mikrofonom in analizirani v Pure Data za pridobivanje podatkov o amplitudi in frekvenci. Te informacije bodo z vhodnim vezjem MIDI prenesene v Arduino Mega, nato pa se bodo s pomočjo XBees prenesle v LilyPad. LilyPad bo nato določil, kako se bodo odzvale LED na jakni.

Kaj boste potrebovali

Za mega vezje

  • Arduino Mega 2560
  • XBee Explorer reguliran
  • XBee 1mW sledilna antena - serija 1
  • Prototipni ščit za Mega
  • USB tipa A do B
  • Kabel USB v MIDI
  • MIDI vtičnica
  • 1 x 220Ω upor
  • 1 x 270Ω upor
  • 1 x 1N4148 dioda
  • 1 x Optoelement 6N138

Za vezje LilyPad

  • Glavna plošča LilyPad Arduino 328
  • LilyPad XBee Breakout Board
  • XBee 1mW sledilna antena - serija 1
  • LilyPad FTDI Basic Breakout Board
  • 72 x LilyPad LED (paleta vseh barv, vključno z belo, modro, rdečo, rumeno, zeleno, roza in vijolično)
  • Drsno stikalo LilyPad
  • Kabel USB 2.0 A-Male do Mini-B
  • 9V baterija
  • 9V sponka za baterijo

Drugo

  • Jakna
  • Računalnik z nameščenimi Pure Data in Arduino IDE
  • Oprema za žice
  • Spajkalna oprema
  • Rezalniki žice
  • Odstranjevalci žice
  • Igla z velikim očesom
  • Nit
  • Prevodna nit
  • Škarje
  • Merilni trak
  • Lepilo za tkanine ali prozorni lak za nohte
  • Kreda ali beli eyeliner
  • Tkanina za podlogo ali stara majica
  • ježevi trakovi
  • Vrtalnik (po možnosti)
  • Standardna LED (za testiranje)
  • Ogledna plošča (za testiranje)
  • Še en 220Ω upor (za testiranje)
  • Multimeter (za testiranje)

Stroški tega projekta bodo zelo odvisni od tega, koliko zgoraj navedene opreme že imate. Vendar pa bo verjetno nekje med 150 in 200 funtov.

Na kratko opomba - plošče LilyPad so zasnovane tako, da jih prišijemo neposredno na tekstil, zato lahko spajkanje 9V sponke za baterije povzroči težave. Povezava je lahko občutljiva in se zlahka pretrga. Lahko dobite posebej zasnovane plošče LilyPad za baterije AAA ali LiPo, za katere se odločite, da bi jih raje uporabili. Vendar sem se vseeno odločil za pot 9V, saj je njihova življenjska doba baterije daljša od AAA in moja univerza ima omejitve glede uporabe baterij LiPo.

1. korak: Ustvarjanje vhodnega vezja MIDI

Ustvarjanje vhodnega vezja MIDI
Ustvarjanje vhodnega vezja MIDI
Ustvarjanje vhodnega vezja MIDI
Ustvarjanje vhodnega vezja MIDI
Ustvarjanje vhodnega vezja MIDI
Ustvarjanje vhodnega vezja MIDI

Najprej razmislimo o vhodnem vezju MIDI. To bo treba zgraditi na prototipni plošči, ki bo vstavljena v Arduino Mega. To bo uporabljeno za pošiljanje MIDI sporočil iz popravka Pure Data v Mega prek njegovega pina "COMMUNICATION RX0". Več o diagramu vezja in fotografiji si oglejte zgoraj. Odvisno od vaše prototipne plošče je lahko vaša postavitev nekoliko drugačna, vendar sem se odločil, da bom MIDI vtičnico postavil v spodnji levi kot. Morda bo tukaj treba uporabiti vrtalnik, da se luknje na ščitu povečajo, da se prilegajo vtičnici. Rdeče žice na fotografiji so priključene na 5V, rjave na ozemljitev, črna žica je priključena na pin 3 na 6N138, modra žica je priključena na pin 2 na 6N138, rumene žice pa na RX0 pin. Na desni strani plošče za izdelavo prototipov ostane prostor, ki bo kasneje omogočil prostor za XBee. V skladbah na deski bo verjetno treba narediti prekinitve. Za ta primer so jih morali narediti med zatiči na 6N138.

Testiranje vhodnega vezja MIDI

Če želite preizkusiti vezje, naložite spodnjo kodo v Arduino Mega s kablom USB tipa A do B. Pri tem se prepričajte, da ščit ni vstavljen, saj kode ni mogoče naložiti, če je karkoli povezano z zatiči RX ali TX. Koda vključuje tudi knjižnico MIDI.h, ki jo boste morda morali prenesti, na voljo na spodnji povezavi.

MIDI.h

Nato vstavite ščit v mega in ga povežite z drugimi vrati USB v računalniku prek kabla MIDI na USB. Konec MIDI, ki ga boste morali uporabiti, bo označen kot »ven«. Ustvarite preprosto vezje na plošči za povezovanje zatiča 2 z uporom 220Ω in ga nato povežite z anodo standardne LED. Priključite katodo LED diode na ozemljitev.

Nato ustvarite preprost popravek čistih podatkov s sporočilom [60 100] in sporočilom [0 0], ki sta prek levega vhoda povezana z objektom za beleženje. Prepričajte se, da je ta popravek povezan z vhodnim vezjem MIDI, tako da odprete nastavitve MIDI in spremenite izhodno napravo. Če to ni na voljo, se prepričajte, da ste vezje MIDI povezali z računalnikom, preden odprete Pure Data. Če je vezje pravilno, naj LED zasveti, ko pritisnete sporočilo [60 100], in ugasne, ko pritisnete sporočilo [0 0].

2. korak: Oblikovanje LED matrike

Oblikovanje LED matrike
Oblikovanje LED matrike
Oblikovanje LED matrike
Oblikovanje LED matrike
Oblikovanje LED matrike
Oblikovanje LED matrike

Nato je treba upoštevati LED matriko za zadnji del jakne. Ta bo neposredno povezan z glavno ploščo LilyPad. Običajno bi bili za krmiljenje LED z mikrokrmilnikom vsak dodeljeni svojim lastnim zatičem. Vendar bi bilo to samo z enim Arduino LilyPad zelo omejujoče. Skupaj ima LilyPad 12 digitalnih zatičev in 6 analognih, torej potencialno 18 izhodnih zatičev. Ker pa bo eden od teh zatičev pozneje uporabljen za krmiljenje drsnega stikala, bo ostalo le še 17.

V tej situaciji se lahko uporabi tehnika, imenovana multipleksiranje, da se poveča potencial kontrolnih zatičev LilyPad. To izkorišča dve dejstvi:

  • LED diode so diode in dovoljujejo tok samo v eno smer.
  • Človeške oči in možgani obdelujejo slike veliko počasneje, kot lahko svetloba potuje, zato LED diode ne bodo dovolj hitro utripale. To je koncept, znan kot "obstojnost vizije".

Z uporabo te tehnike je število LED, ki jih je mogoče krmiliti, (n/2) x (n- (n/2)), kjer je n število razpoložljivih krmilnih zatičev. Zato bi moralo biti na voljo s 17 zatiči 72 krmilnikov LED v matriki 9x8.

Shema postavitve LED v matriki 9x8 je prikazana zgoraj, vključno s predlogi za nožice, na katere je treba povezati vsako vrstico in stolpec. Pomembno je vedeti, da se vrstice in stolpci ne smejo dotikati. Tudi upori niso potrebni, ker ima vsaka LED vgrajeno lastno upornost 100Ω.

Preden začnete šivati, morate načrtovati postavitev vezja na jakni. Tu lahko dobro začnete tako, da na plašču označite, kje bodo LED diode šle z majhnimi pikami, z merilnim trakom, da zagotovite enakomerno razmikanje. Za črno usnjeno jakno bela črtala za oči deluje zelo dobro in jo je mogoče enostavno izbrisati, če je prišlo do napake. Lahko pa delujejo tudi drugi mediji, na primer kreda, odvisno od materiala in barve jakne. Razporeditev barv LED, ki sem jih uporabil, je prikazana zgoraj, kar bo delovalo s kodo, ki je podana kasneje. Vabimo vas, da uporabite drugačno postavitev, čeprav jo bo treba v kodi spremeniti.

Naslednja stvar, na katero morate pomisliti, je, kam bodo šli LilyPad, LilyPad XBee in napajalnik. Za jakno, ki sem jo uporabil, se je zdelo najbolj smiselno in diskretno mesto na hrbtni strani jakne, na dnu in na notranji podlogi. To je zato, ker je malo verjetno, da bi jih uporabniki orožili in lahko zlahka dostopa do LED matrice. Ker je bila jakna, ki sem jo uporabil, na dnu ohlapna, je bila še vedno udobna.

3. korak: Šivanje LED matrice

Šivanje LED matrice
Šivanje LED matrice
Šivanje LED matrice
Šivanje LED matrice
Šivanje LED matrice
Šivanje LED matrice

Na tej točki lahko začnete šivati. S prevodno nitjo je lahko težko delati, zato je tukaj nekaj koristnih nasvetov:

  • Če z lepilom za tkanine lepite komponento na svoje mesto, bo šivanje veliko lažje.
  • Različne vrste šivov bodo imele različne estetske in funkcionalne lastnosti, zato jih je vredno pogledati, preden začnete. Osnovni tekaški šiv pa bi moral biti v redu za ta projekt.
  • Vozli se s prevodnim navojem zlahka sprostijo, saj je "vzmetnejši" kot običajno. Rešitev tega je uporaba majhne količine prozornega laka za nohte ali lepila za tkanine, da jih zatesnite. Pustite jim, da se posušijo, preden jim odrežete rep.
  • Ko ustvarjate povezave s komponentami vezja ali povezujete dve liniji prevodnega navoja, je dobro, da jih večkrat zašijete, da zagotovite dobro mehansko in električno povezavo.
  • Prepričajte se, da je igla ostra in ima veliko oko. Prehod skozi jakno je lahko težak in prevodni navoj je debelejši od običajnega.
  • Pazite na ohlapne dlake na niti. Te lahko ustvarijo kratke hlače v vezju, če se dotaknejo drugih linij šivanja. Če to postane velika težava, lahko vse linije po testenju zapečatite s prozornim lakom za nohte ali lepilom za tkanine in vse zagotovo deluje pravilno.

Dobro mesto za začetek šivanja so vrstice. Da bi bili čim bolj ravni, lahko z ravnilom narišete šibke črte, ki jih lahko šivate. Ko jih zašijete, pojdite na stolpce. Vsakič, ko se doseže vrstica, bo treba biti zelo previden, ker je nujno, da se ne križata. To lahko dosežete tako, da ustvarite šiv za steber na notranji strani jakne za to križišče, kot je prikazano na zgornji fotografiji. Ko izpolnite vse vrstice in stolpce, lahko z multimetrom preverite, ali ni kratkih stikov.

Ko ste zadovoljni, začnite šivati LED za stolpec na skrajni desni strani jakne. Prepričajte se, da je vsaka anoda pritrjena na svojo vrstico in da je vsaka katoda pritrjena na stolpec na levi. Nato postavite LilyPad Arduino na mesto z lepilom za tkanine nekje pod tem stolpcem, pri tem pazite, da bodo zatiči za ploščo FTDI obrnjeni navzdol. Šivajte zatič 11 LilyPada v 1. vrsto, zatič 12 do 2. vrstice in tako naprej, dokler zatič A5 ne zašijete v 9. vrsto. Nato šivajte zatič 10 na skrajni desni stolpec. Za preizkus tega prvega stolpca lahko uporabite spodnjo kodo. Naložite kodo in napajajte LilyPad tako, da ga povežete z računalnikom s pomočjo odklopne plošče FTDI in kabla USB 2.0 A-Male do Mini-B.

Če pravilna vrata niso na voljo, ko priključite LilyPad, boste morda morali namestiti gonilnik FTDI, ki je na voljo na spodnji povezavi.

Namestitev gonilnika FTDI

Ko se prižge ta prvi stolpec LED, je čas, da ostale zašijete na jakno. To je precej dolgotrajen proces, zato je verjetno najbolje, da ga razmaknete v nekaj dneh. Medtem ko preizkusite vsak stolpec. To lahko storite tako, da zgornjo kodo prilagodite tako, da se pin za stolpec, ki ga želite preizkusiti, v nastavitvah deklarira kot izhod, nato pa se v zanki nastavi LOW. Prepričajte se, da so drugi zatiči stolpcev nastavljeni na VISOKO, saj bodo tako izklopljeni.

4. korak: Dodajanje stikala

Dodajanje stikala
Dodajanje stikala

Nato lahko dodate stikalo, s katerim spremenite nastavitve na jakni. Prišiti ga je treba na notranjo stran jakne pod ploščo LilyPad Arduino. S prevodnim navojem je treba konec z oznako "off" priključiti na ozemljitev, konec z oznako "on" pa na pin 2.

Stikalo lahko preizkusite s spodnjo kodo. To je zelo preprosto in vklopi spodnjo desno LED, če je stikalo odprto, in ga izklopi, če je stikalo zaprto.

5. korak: Naredite napravo brezžično

Kako narediti napravo brezžično
Kako narediti napravo brezžično
Kako narediti napravo brezžično
Kako narediti napravo brezžično
Kako narediti napravo brezžično
Kako narediti napravo brezžično

Priprava LilyPad XBee in XBee Explorer

LilyPad XBee pripravite na konfiguracijo s spajkanjem na 6-polni pravokotni moški glavi. To bo kasneje omogočilo povezavo z računalnikom prek osnovne plošče LilyPad FTDI Basic Breakout in kabla USB Mini. Prav tako spajajte 9V sponko za baterijo na LilyPad XBee z rdečo žico, ki vodi do zatiča "+", in črno žico za nožico "-".

Ploščo Explorer povežite s ščitom za izdelavo prototipov za Arduino Mega. 5V in Ozemljitev na plošči Raziskovalca bo treba priključiti na 5V in Ozemljitev na Megi, izhodni pin na Raziskovalcu bo treba povezati z RX1 na Megi, vhod na Raziskovalcu pa na TX1 na Megi.

Konfiguriranje XBees

Nato je treba XBees konfigurirati. Najprej boste morali brezplačno namestiti programsko opremo CoolTerm, ki je na voljo na spodnji povezavi.

Programska oprema CoolTerm

Prepričajte se, da na nek način ločite dva XBeeja, saj je pomembno, da ju ne zmešate.

Najprej konfigurirajte XBee za računalnik. Vstavite ga v ploščo LilyPad XBee Breakout in ga povežite z računalnikom s pomočjo osnovne plošče FTDI in kabla USB Mini. Odprite CoolTerm in v možnostih izberite ustrezna serijska vrata. Če je ne vidite, poskusite pritisniti 'Ponovno preberi serijska vrata'. Nato se prepričajte, da je hitrost prenosa nastavljena na 9600, vklopite Local Echo in Key Emulation nastavite na CR. CoolTerm je zdaj mogoče priključiti na XBee.

Vnesite »+++« v glavno okno, da nastavite XBee v ukazni način. Ne pritiskajte Return. To bo omogočilo njegovo konfiguracijo z ukazi AT. Če je bilo to uspešno, bi moral biti po zelo kratkem premoru odziv na sporočilo »V redu«. Če zamuda traja več kot 30 sekund pred naslednjo vrstico, se način ukaza umakne in to bo treba ponoviti. Če želite nastaviti ID PAN, MOJ ID, ID cilja in shraniti spremembe, morate vnesti številne ukaze AT. Po vsakem od teh ukazov je treba pritisniti tipko Return, kar je razvidno iz zgornje tabele. Ko je to končano za računalnik XBee, ga je treba odklopiti in isti postopek je treba izvesti za plašč XBee.

Nove nastavitve XBee lahko preverite tako, da vnesete vsak ukaz AT brez vrednosti na koncu. Če na primer vnesete »ATID« in pritisnete return, je treba »1234« odmevati nazaj.

Testiranje XBees

Na tej točki prišite LilyPad XBee na jakno poleg LilyPad Arduino. S prevodnim navojem je treba narediti naslednje povezave:

  • 3.3V na LilyPad XBee do '+' na LilyPad
  • Ozemljite na LilyPad XBee do Ground na LilyPad
  • RX na LilyPad XBee v TX na LilyPad
  • TX na LilyPad XBee v RX na LilyPad

Zdaj lahko napravo preizkusite, da zagotovite, da XBees deluje pravilno. Spodnjo kodo, imenovano "Wireless_Test_Mega", je treba naložiti v Arduino Mega, njen glavni namen pa je prejemati MIDI sporočila iz preprostega popravka Pure Data, ki je bil ustvarjen prej, in prenašati različne vrednosti prek XBeeja. Če prejmete opombo MIDI z višino 60, bo poslano sporočilo 'a'. Druga možnost je, če je prejeto sporočilo o odpisu, poslano "b".

Poleg tega je treba na LilyPad naložiti spodnjo kodo, imenovano "Wireless_Test_LilyPad". Ta prek XBees prejema sporočila iz Mega in ustrezno upravlja spodnjo desno LED. Če je prejeto sporočilo "a", kar pomeni, da je Mega sprejela opombo MIDI z višino 60, se bo LED vklopila. Če pa ne prejmete 'a', se LED ugasne.

Ko je koda naložena na obe plošči, se prepričajte, da je ščitnik znova vstavljen v Mega in da je z obema kabloma povezan z računalnikom. Računalnik XBee vstavite v ploščo raziskovalca. Nato se prepričajte, da je plošča FTDI Breakout odklopljena od plašča in vstavite plašč XBee v LilyPad XBee. Priključite 9V baterijo in poskusite pritisniti različna sporočila v Pure Data. Spodnja desna LED dioda na jakni naj se vklopi in izklopi.

Korak 6: Zadnji dotiki

Zadnji dotiki
Zadnji dotiki
Zadnji dotiki
Zadnji dotiki
Zadnji dotiki
Zadnji dotiki

Koda in čisti podatkovni popravek

Ko ste veseli, da jakna deluje brezžično, naložite skico 'MegaCode' spodaj v Arduino Mega in skico 'LilyPadCode' v LilyPad. Odprite popravek Pure Data in se prepričajte, da je DSP vklopljen in da je zvočni vhod nastavljen na vgrajen mikrofon v računalnikih. Poskusite predvajati glasbo in premakniti stikalo. Pragove v čistih podatkih boste morda morali nekoliko prilagoditi, odvisno od tega, koliko ali malo se LED odzivajo na zvok.

Dodajanje nove podloge

Nazadnje, da bo jakna bolj estetsko prijetna in udobnejša za nošenje, lahko v notranjost jakne dodate še eno podlogo, ki prikrije šivanje in sestavne dele. To je treba storiti z ježkom, da omogočite enostaven dostop do vezja, če je potrebno narediti kakršne koli spremembe.

Najprej prilepite trakove 'zanke' (mehkejši del) na jakno na notranji strani, vzdolž vrha in navzdol z obeh strani. Priporočljivo je, da dno pustite prostega, saj bo to omogočilo dostop zraka do sestavnih delov. Nato odrežite kos tkanine enake velikosti in nanj prišite 'kaveljčne' trakove velcro vzdolž zgornje in dolče strani. Prav tako na isti strani kot velcro in na najprimernejšem mestu prišite žep, v katerega bo baterija lahko ležala. Za primere glejte zgornje slike.

7. korak: Končali ste

Vaša brezžična jakna Light Show Jacket bi morala biti zdaj popolna in se uspešno odzvati na zvok! Ena nastavitev mora ustvariti učinek, kot je amplitudna vrstica, druga pa mora imeti posamezne LED, ki utripajo ob glasbi s svojimi barvami, odvisno od višine tona. Za video primere glejte zgoraj. Če ste se spraševali, sta barva in višina povezana prek rozenkrocialnega reda, ki temelji na pravi intonaciji. Upam, da ste uživali v tem projektu!

Priporočena: