Turinys:

„Light Show“striukė, reaguojanti į muziką: 7 žingsniai (su nuotraukomis)
„Light Show“striukė, reaguojanti į muziką: 7 žingsniai (su nuotraukomis)

Video: „Light Show“striukė, reaguojanti į muziką: 7 žingsniai (su nuotraukomis)

Video: „Light Show“striukė, reaguojanti į muziką: 7 žingsniai (su nuotraukomis)
Video: The Choice is Ours (2016) Official Full Version 2024, Lapkritis
Anonim
„Light Show“striukė, reaguojanti į muziką
„Light Show“striukė, reaguojanti į muziką

Ši pamoka buvo sukurta kaip paskutinio kurso projekto, skirto muzikos technologijų ir taikomosios elektronikos studijoms Jorko universitete, dalis. Jis skirtas muzikantams, besidomintiems elektronika. Gatavas produktas bus LED matrica ant striukės nugaros, kuri gali sukurti šviesos šou pagal muziką. Tai bus padaryta analizuojant garso įvestis naudojant „Pure Data“ir „Arduino“. Striukė turės du nustatymus, kuriuos galima valdyti jungikliu. Vienas nustatymas valdys šviesos diodus pagal muzikos amplitudę, o kitas - šviesos diodai mirksės po vieną ir keičia spalvą pagal garsą.

Kaip tai veiks

Šį įrenginį sudarys dvi atskiros grandinės. Vienas bus pagrįstas „Arduino Mega“, tiesiogiai prijungtu prie kompiuterio. Kita grandinė bus pagrįsta „LilyPad Arduino“ir bus visiškai įdėta į striukę ir maitinama per 9 V bateriją. Abi šios grandinės bendraus tarpusavyje belaidžiu ryšiu naudojant „XBee“modulius. Garso signalus gaus kompiuterio integruotas mikrofonas ir analizuos „Pure Data“, kad gautų amplitudės ir dažnio duomenis. Ši informacija bus perkelta į „Arduino Mega“naudojant MIDI įvesties grandinę, o po to ji bus perduota „LilyPad“naudojant „XBees“. Tada „LilyPad“nustatys, kaip reaguos striukės šviesos diodai.

Ko jums reikės

Dėl „Mega Circuit“

  • „Arduino Mega 2560“
  • Reguliuojamas „XBee Explorer“
  • XBee 1mW sekimo antena - 1 serija
  • „Mega“skydo prototipų kūrimas
  • USB tipas nuo A iki B
  • USB -MIDI kabelis
  • MIDI lizdas
  • 1 x 220Ω rezistorius
  • 1 x 270Ω rezistorius
  • 1 x 1N4148 diodas
  • 1 x 6N138 optronas

„LilyPad“grandinei

  • „LilyPad Arduino 328“pagrindinė plokštė
  • „LilyPad XBee Breakout Board“
  • XBee 1mW sekimo antena - 1 serija
  • „LilyPad FTDI Basic Breakout Board“
  • 72 x „LilyPad“šviesos diodai (įvairių spalvų gama, įskaitant baltą, mėlyną, raudoną, geltoną, žalią, rožinę ir violetinę)
  • „LilyPad“skaidrių jungiklis
  • USB 2.0 A-Male-Mini-B kabelis
  • 9 V baterija
  • 9V akumuliatoriaus spaustukas

Kiti

  • Striukė
  • Kompiuteris su „Pure Data“ir „Arduino IDE“
  • Įrangos viela
  • Litavimo įranga
  • Vielos pjaustytuvai
  • Vielos nuėmikliai
  • Adata su didele akimi
  • Siūlai
  • Laidus siūlas
  • Žirklės
  • Ruletė
  • Audinio klijai arba skaidrus nagų lakas
  • Kreida arba baltas akių pieštukas
  • Audinys pamušalas arba seni marškinėliai
  • Velcro
  • Gręžtuvas (galbūt)
  • Standartinis šviesos diodas (bandymui)
  • Duonos lenta (bandymui)
  • Kitas 220Ω rezistorius (bandymui)
  • Multimetras (bandymui)

Šio projekto kaina labai priklausys nuo to, kiek aukščiau nurodytos įrangos jau turite. Tačiau greičiausiai tai bus kažkur tarp 150–200 svarų.

Greita pastaba - „LilyPad“plokštės yra skirtos siūti tiesiai prie tekstilės gaminių, todėl 9 V akumuliatoriaus spaustuko litavimas gali sukelti problemų. Ryšys gali būti subtilus ir lengvai nutrūkti. Galite įsigyti specialiai sukurtas LilyPad plokštes AAA arba LiPo baterijoms, kurias galite nuspręsti naudoti. Tačiau aš vis tiek nusprendžiau eiti 9 V maršrutu, nes jų baterijos veikimo laikas yra ilgesnis nei AAA, o mano universitetas turi LiPo baterijų naudojimo apribojimus.

1 žingsnis: sukurkite MIDI įvesties grandinę

MIDI įvesties grandinės kūrimas
MIDI įvesties grandinės kūrimas
MIDI įvesties grandinės kūrimas
MIDI įvesties grandinės kūrimas
MIDI įvesties grandinės kūrimas
MIDI įvesties grandinės kūrimas

Visų pirma, apsvarstykime MIDI įvesties grandinę. Tai reikės sukonstruoti ant prototipų plokštės, kuri bus prijungta prie „Arduino Mega“. Tai bus naudojama MIDI pranešimams siųsti iš „Pure Data“pataisos į „Mega“per „COMMUNICATION RX0“kaištį. Žiūrėkite aukščiau esančią schemą ir nuotrauką. Priklausomai nuo jūsų prototipų plokštės, jūsų išdėstymas gali būti šiek tiek kitoks, bet aš nusprendžiau įdėti MIDI lizdą apatiniame kairiajame kampe. Čia gali tekti naudoti grąžtą, kad skydo skylės būtų didesnės, kad tilptų į lizdą. Nuotraukoje esantys raudoni laidai yra prijungti prie 5 V, rudos - prie žemės, juoda - prie 6N138 3 kaiščio, mėlyna - prie 6N138 2, o geltona - prie RX0. smeigtukas. Dešinėje prototipų plokštės pusėje paliekama vietos, kad vėliau būtų vietos „XBee“. Pertraukas tikriausiai reikės padaryti lentos takeliuose. Šiame pavyzdyje jie turėjo būti pagaminti tarp 6N138 kaiščių.

MIDI įvesties grandinės testavimas

Norėdami išbandyti grandinę, įkelkite žemiau esantį kodą į „Arduino Mega“naudodami USB tipo A – B kabelį. Kai tai darote, įsitikinkite, kad skydas nėra įdėtas, nes kodo negalima įkelti, jei kas nors yra prijungtas prie RX arba TX kaiščių. Be to, į kodą įeina MIDI.h biblioteka, kurią gali tekti atsisiųsti, kurią rasite žemiau esančioje nuorodoje.

MIDI.h

Tada įdėkite skydą į mega ir prijunkite jį prie kito kompiuterio USB prievado per MIDI į USB kabelį. MIDI galas, kurį turėsite naudoti, bus pažymėtas „out“. Sukurkite paprastą grandinę ant duonos lentos, jungiančios kaištį 2 prie 220Ω rezistoriaus, ir tada prijunkite jį prie standartinio šviesos diodo anodo. Prijunkite šviesos diodų katodą prie žemės.

Tada sukurkite paprastą „Pure Data“pataisą su [60 100] pranešimu ir [0 0] pranešimu, kurie abu yra prijungti prie pastabos objekto per kairįjį įėjimą. Įsitikinkite, kad šis pleistras yra prijungtas prie MIDI įvesties grandinės, atidarydami MIDI nustatymus ir pakeisdami išvesties įrenginį. Jei to nėra, prieš atidarydami „Pure Data“įsitikinkite, kad prijungėte MIDI grandinę prie kompiuterio. Dabar, jei jūsų grandinė yra teisinga, šviesos diodas turėtų užsidegti, kai paspaudžiamas pranešimas [60 100], ir jis turi išsijungti, kai paspaudžiamas pranešimas [0 0].

2 žingsnis: LED matricos projektavimas

LED matricos projektavimas
LED matricos projektavimas
LED matricos projektavimas
LED matricos projektavimas
LED matricos projektavimas
LED matricos projektavimas

Toliau reikia apsvarstyti striukės užpakalinės dalies LED matricą. Tai bus tiesiogiai prijungta prie pagrindinės „LilyPad“plokštės. Paprastai, norint valdyti šviesos diodus naudojant mikrovaldiklį, kiekvienas iš jų būtų priskirtas savo individualiems kaiščiams. Tačiau naudojant tik vieną „Arduino LilyPad“tai būtų labai ribota. Iš viso „LilyPad“turi 12 skaitmeninių kaiščių ir 6 analoginius, taigi potencialiai 18 išvesties kaiščių. Tačiau kadangi vienas iš šių kaiščių vėliau bus naudojamas slankikliui valdyti, tai liks tik 17.

Šioje situacijoje galima naudoti metodą, vadinamą multipleksavimu, kad būtų padidintas „LilyPad“valdymo kaiščių potencialas. Tam naudojami du faktai:

  • Šviesos diodai yra diodai ir leidžia srovei tekėti tik viena kryptimi.
  • Žmogaus akys ir smegenys apdoroja vaizdus daug lėčiau, nei sklinda šviesa, todėl, jei šviesos diodai mirksi pakankamai greitai, mes to nepastebėsime. Tai sąvoka, žinoma kaip „regėjimo atkaklumas“.

Naudojant šią techniką, šviesos diodų, kuriuos galima valdyti, skaičius yra (n/2) x (n- (n/2)), kur n yra galimų valdymo kaiščių skaičius. Todėl turint 17 kaiščių turėtų būti įmanoma valdyti 72 šviesos diodus 9x8 matricoje.

Šviesos diodų išdėstymo 9x8 matricoje schemą galima pamatyti aukščiau, įskaitant pasiūlymus dėl kaiščių, prie kurių turėtų būti prijungta kiekviena eilutė ir stulpelis. Svarbu pažymėti, kad eilutės ir stulpeliai neturi liestis. Be to, nereikia jokių rezistorių dėl to, kad kiekvienas šviesos diodas turi savo įmontuotą atsparumą 100Ω.

Prieš pradėdami siūti, suplanuokite grandinės išdėstymą ant striukės. Gera vieta pradėti čia - pažymėti ant striukės, kur eis šviesos diodai, su mažais taškeliais, naudojant juostos matmenį, kad būtų užtikrintas tolygus jų išdėstymas. Juodos odinės striukės atveju baltas akių pieštukas veikia labai gerai ir gali būti lengvai nušluostytas, jei bus padaryta klaida. Tačiau kitos terpės, tokios kaip kreida, taip pat gali veikti priklausomai nuo jūsų striukės medžiagos ir spalvos. Mano naudojamų LED spalvų išdėstymą galima pamatyti aukščiau, kuris veiks su kodu, pateiktu vėliau. Galite naudoti kitą išdėstymą, nors jį reikės pakeisti kode.

Kitas dalykas, kurį reikia pagalvoti, yra tai, kur bus „LilyPad“, „LilyPad XBee“ir maitinimo šaltinis. Mano naudojamai striukei protingiausia ir diskretiškiausia vieta buvo švarko gale, apačioje ir vidiniame pamušale. Taip yra todėl, kad čia mažai tikėtina, kad nukentės dėvėtojų rankos ir ji gali lengvai pasiekti LED matricą. Be to, kadangi mano naudojama striukė buvo laisva apačioje, ji vis tiek buvo patogi.

3 žingsnis: LED matricos siuvimas

LED matricos siuvimas
LED matricos siuvimas
LED matricos siuvimas
LED matricos siuvimas
LED matricos siuvimas
LED matricos siuvimas

Šiuo metu galite pradėti siūti. Su laidžiu siūlu gali būti sudėtinga dirbti, todėl čia yra keletas naudingų patarimų:

  • Klijuojant komponentą į vietą naudojant audinio klijus, bus daug lengviau siūti.
  • Įvairių tipų siūlės turi skirtingas estetines ir funkcines savybes, todėl prieš pradėdami verta į jas atsižvelgti. Tačiau pagrindinis bėgimo dygsnis turėtų būti tinkamas šiam projektui.
  • Mazgai linkę gana lengvai atsilaisvinti laidžiu siūlu, nes jis yra „pavasariškesnis“nei įprastai. Sprendimas yra nedidelis kiekis skaidraus nagų lako arba audinio klijų. Prieš nupjaudami uodegas, leiskite jiems išdžiūti.
  • Kuriant jungtis prie grandinės komponentų arba sujungiant dvi laidžios sriegio linijas, verta siūti jas kelis kartus, kad būtų užtikrintas geras mechaninis ir elektrinis sujungimas.
  • Įsitikinkite, kad adata yra aštri ir turi didelę akį. Praeiti per striukę gali būti sunku, o laidus siūlas yra storesnis nei įprasta.
  • Būkite atsargūs, kad ant sriegio nebūtų palaidų plaukų. Dėl to grandinėje gali susidaryti šortai, jei jie paliečia kitas siuvimo linijas. Jei tai tampa pagrindine problema, visas bandymo linijas galima užplombuoti skaidriu nagų laku arba audinio klijais, kai tik bus atliktas bandymas ir viskas tikrai veiks tinkamai.

Gera vieta pradėti siūti yra eilutės. Kad jie būtų kuo tiesesni, naudodami liniuotę galite nubrėžti silpnas linijas. Siuvę juos, pereikite prie stulpelių. Kiekvieną kartą, kai bus pasiekta eilė, reikės būti labai atsargiems, nes labai svarbu, kad jie nesikeistų. Tai galima pasiekti sukūrus stulpelio siūlę striukės vidinėje pusėje šiai sankryžai, kaip matyti aukščiau esančioje nuotraukoje. Kai baigsite visas eilutes ir stulpelius, multimetru galima patikrinti, ar nėra šortų.

Kai būsite patenkinti, pradėkite siūti stulpelio šviesos diodus, esančius striukės dešinėje pusėje. Įsitikinkite, kad kiekvienas anodas yra pritvirtintas prie savo eilės, o kiekvienas katodas - prie stulpelio kairėje. Tada įdėkite „LilyPad Arduino“į vietą, naudodami audinio klijus maždaug kažkur žemiau šio stulpelio, įsitikindami, kad FTDI pertraukimo plokštės kaiščiai nukreipti žemyn. Siuvinėkite „LilyPad“11 kaištį prie 1 eilutės, 12 kaiščio prie 2 eilutės ir taip toliau, kol A5 smeigtukas bus prisiūtas prie 9 eilutės. Tada prijunkite 10 kaištį prie tolimiausio dešiniojo stulpelio. Norėdami išbandyti šį pirmąjį stulpelį, galite naudoti žemiau esantį kodą. Įkelkite kodą ir įjunkite „LilyPad“, prijungdami jį prie kompiuterio naudodami FTDI pertraukimo plokštę ir USB 2.0 A-Male to Mini-B kabelį.

Jei prijungus „LilyPad“nėra tinkamo prievado, gali reikėti įdiegti FTDI tvarkyklę, kurią rasite žemiau esančioje nuorodoje.

FTDI tvarkyklės diegimas

Užsidegus šiam pirmajam šviesos diodų stulpeliui, laikas siūti likusią dalį ant striukės. Tai gana daug laiko reikalaujantis procesas, todėl tikriausiai geriausia, kad jis būtų atskirtas per kelias dienas. Eidami būtinai išbandykite kiekvieną stulpelį. Tai galite padaryti pritaikę aukščiau esantį kodą, kad stulpelio, kurį norite išbandyti, kaištis sąrankoje būtų paskelbtas kaip išvestis, o tada cikle nustatomas LOW. Įsitikinkite, kad kiti stulpelių kaiščiai yra nustatyti kaip AUKŠTI, nes tai užtikrins, kad jie bus išjungti.

4 žingsnis: jungiklio pridėjimas

Jungiklio pridėjimas
Jungiklio pridėjimas

Tada galite pridėti jungiklį, kuris bus naudojamas striukės nustatymams pakeisti. Jį reikia prisiūti prie striukės vidinės dalies po „LilyPad Arduino“lenta. Naudojant laidų sriegį, galas, pažymėtas „išjungtas“, turi būti prijungtas prie žemės, o galas, pažymėtas „įjungta“, prijungtas prie 2 kaiščio.

Galite išbandyti jungiklį naudodami žemiau esantį kodą. Tai labai paprasta ir įjungia apatinį dešinįjį šviesos diodą, jei jungiklis yra atidarytas, ir išjungia, jei jungiklis uždarytas.

5 veiksmas: padarykite įrenginį belaidžiu

Padaryti įrenginį belaidžiu
Padaryti įrenginį belaidžiu
Padaryti įrenginį belaidžiu
Padaryti įrenginį belaidžiu
Padaryti įrenginį belaidžiu
Padaryti įrenginį belaidžiu

„LilyPad XBee“ir „XBee Explorer“paruošimas

Paruoškite „LilyPad XBee“konfigūravimui, lituodami ant 6 kontaktų stačiakampio vyriškos galvutės. Vėliau tai bus galima prijungti prie kompiuterio per „LilyPad FTDI Basic Breakout“plokštę ir USB mini kabelį. Be to, lituokite 9 V akumuliatoriaus spaustuką prie „LilyPad XBee“, raudona viela eidama į „+“kaištį, o juoda-„-“kaištį.

Prijunkite „Explorer“plokštę prie „Arduino Mega“prototipų skydo. „5V“ir „Ground“„Explorer“plokštėje reikės prijungti prie „5V“ir „Ground“„Mega“, „Explorer“išvesties kaiščiui reikės prisijungti prie „RX1“„Mega“, o „Explorer“įvesties - prie „TX1“„Mega“.

„XBees“konfigūravimas

Tada reikia sukonfigūruoti „XBees“. Visų pirma, turėsite nemokamai įdiegti „CoolTerm“programinę įrangą, kurią rasite žemiau esančioje nuorodoje.

„CoolTerm“programinė įranga

Būtinai tam tikru būdu atskirti dvi „XBee“, nes svarbu, kad jų nesumaišytumėte.

Pirmiausia sukonfigūruokite kompiuterio „XBee“. Įdėkite jį į „LilyPad XBee Breakout“plokštę ir prijunkite ją prie kompiuterio naudodami FTDI pagrindinę pertraukimo plokštę ir USB mini kabelį. Atidarykite „CoolTerm“ir parinktyse pasirinkite tinkamą nuoseklųjį prievadą. Jei nematote, pabandykite paspausti „Re-Scan Serial Ports“. Tada įsitikinkite, kad duomenų perdavimo sparta nustatyta į 9600, įjunkite vietinį aidą ir nustatykite raktų emuliaciją į CR. Dabar „CoolTerm“galima prijungti prie „XBee“.

Įveskite „+++“į pagrindinį langą, kad įjungtumėte „XBee“į komandų režimą. Nespauskite grįžimo. Tai leis jį sukonfigūruoti naudojant AT komandas. Jei tai pavyko, po labai trumpos pauzės pranešimo atsakymas turėtų būti „Gerai“. Jei iki kitos eilutės vėluojama daugiau nei 30 sekundžių, komandų režimas išeis ir tai reikės pakartoti. Norint nustatyti PAN ID, MY ID, paskirties ID ir išsaugoti pakeitimus, reikia įvesti daugybę AT komandų. „Return“reikia paspausti po kiekvienos iš šių komandų ir jas galima pamatyti aukščiau esančioje lentelėje. Kai tai buvo atlikta kompiuteriui „XBee“, jį reikia atjungti ir tą patį procesą reikia atlikti su „XBee“striuke.

Galite patikrinti naujus „XBee“nustatymus įvesdami kiekvieną AT komandą be vertės pabaigoje. Pvz., Jei įvedate „ATID“ir paspausite „Return“, „1234“turėtų būti pakartotas.

„XBees“testavimas

Šiuo metu siūkite „LilyPad XBee“ant striukės šalia „LilyPad Arduino“. Laidingu sriegiu reikia atlikti šias jungtis:

  • 3.3V „LilyPad XBee“iki „+“„LilyPad“
  • Įžeminkite „LilyPad XBee“į žemę „LilyPad“
  • RX per „LilyPad XBee“iki TX „LilyPad“
  • TX iš „LilyPad XBee“į „RX“naudojant „LilyPad“

Dabar prietaisą galima išbandyti, kad įsitikintumėte, jog „XBees“veikė tinkamai. Žemiau esantį kodą „Wireless_Test_Mega“reikia įkelti į „Arduino Mega“, o jo pagrindinis tikslas yra gauti MIDI pranešimus iš paprasto anksčiau sukurto „Pure Data“pleistro ir perduoti skirtingas vertes per „XBee“. Jei bus gautas MIDI užrašas, kurio aukštis yra 60, pranešimas „a“bus perduotas. Arba, jei bus gautas užrašas, bus persiųstas „b“.

Be to, į „LilyPad“reikia įkelti žemiau esantį kodą „Wireless_Test_LilyPad“. Tai gauna pranešimus iš „Mega“per „XBees“ir atitinkamai valdo apatinį dešinįjį šviesos diodą. Jei gaunamas pranešimas „a“, tai reiškia, kad „Mega“gavo 60 taškų MIDI užrašą, šviesos diodas įsijungs. Kita vertus, jei „a“nebus gautas, šviesos diodas išsijungs.

Kai kodas bus įkeltas į abi plokštes, įsitikinkite, kad skydas vėl įdėtas į „Mega“ir ar jis prijungtas prie kompiuterio abiem kabeliais. Įdėkite kompiuterio „XBee“į „Explorer“plokštę. Tada įsitikinkite, kad FTDI Breakout plokštė yra atjungta nuo striukės, ir įdėkite striukę XBee į „LilyPad XBee“. Prijunkite 9 V bateriją ir pabandykite paspausti skirtingus pranešimus „Pure Data“. Striukės apatinis dešinysis šviesos diodas turėtų įsijungti ir išsijungti.

6 žingsnis: paskutiniai prisilietimai

Paskutiniai prisilietimai
Paskutiniai prisilietimai
Paskutiniai prisilietimai
Paskutiniai prisilietimai
Paskutiniai prisilietimai
Paskutiniai prisilietimai

Kodas ir grynas duomenų pleistras

Kai džiaugiatės, kad striukė veikia belaidžiu būdu, įkelkite žemiau esantį „MegaCode“eskizą į „Arduino Mega“ir eskizą „LilyPadCode“į „LilyPad“. Atidarykite „Pure Data“pataisą ir įsitikinkite, kad įjungtas DSP, o garso įvestis nustatyta į įmontuotą kompiuterio mikrofoną. Pabandykite paleisti muziką ir perkelti jungiklį. Jums gali tekti šiek tiek pakoreguoti „Pure Data“slenksčius, atsižvelgiant į tai, kiek ar mažai šviesos diodai reaguoja į garsą.

Naujo pamušalo pridėjimas

Galiausiai, kad striukė taptų estetiškesnė ir patogesnė dėvėti, prie striukės vidinės pusės galima pridėti kitą pamušalą, kad būtų galima uždengti siuvimą ir komponentus. Tai turėtų būti daroma naudojant velcro, kad būtų galima lengvai pasiekti grandinę, jei reikia atlikti bet kokius pakeitimus.

Pirmiausia „kilpines“juosteles (minkštesnę dalį) prisiūkite prie striukės viduje, išilgai viršaus ir apačios iš abiejų pusių. Patartina palikti dugną laisvą, nes tai leis orui patekti į komponentus. Tada nupjaukite tokio paties dydžio audinio gabalėlį ir prie jo prisiūkite velcro kabliuko juosteles viršuje ir apačioje. Be to, toje pačioje pusėje, kurioje yra velcro, ir patogiausioje vietoje, prisiūkite kišenę, į kurią akumuliatorius galės sėdėti. Pavyzdžių rasite aukščiau esančiose nuotraukose.

7 žingsnis: baigta

Jūsų belaidė šviesos šou striukė dabar turėtų būti baigta ir sėkmingai reaguoti į garsą! Vienas nustatymas turėtų sukurti tokį efektą kaip amplitudės juosta, o kitas turėtų turėti atskirus šviesos diodus, mirksinčius pagal muziką, savo spalvomis, priklausomai nuo aukščio. Vaizdo įrašų pavyzdžius rasite aukščiau. Jei jums buvo įdomu, spalva ir tonas yra susiję su „Rosicrucian“ordinu, pagrįstu tik intonacija. Tikiuosi, kad jums patiko šis projektas!

Rekomenduojamas: