Sadržaj:

Light Show jakna koja reagira na muziku: 7 koraka (sa slikama)
Light Show jakna koja reagira na muziku: 7 koraka (sa slikama)

Video: Light Show jakna koja reagira na muziku: 7 koraka (sa slikama)

Video: Light Show jakna koja reagira na muziku: 7 koraka (sa slikama)
Video: BRKIĆ NADJA - TIK TOK 2024, Juli
Anonim
Light Show jakna koja reagira na muziku
Light Show jakna koja reagira na muziku

Ovaj vodič je nastao kao dio mog završnogodišnjeg projekta za moju diplomu muzičke tehnologije i primijenjene elektronike na Univerzitetu u Yorku. Namenjen je muzičarima koji se zanimaju za elektroniku. Gotov proizvod bit će LED matrica na stražnjoj strani jakne koja može proizvesti svjetlosnu predstavu u skladu s muzikom. To će se učiniti analizom audio ulaza koristeći Pure Data i Arduino. Jakna će imati dvije postavke koje se mogu kontrolirati prekidačem. Jedna postavka će kontrolirati LED diode prema amplitudi muzike, a druga će LED diode treperiti jedna po jedna i mijenjati boju prema visini tona.

Kako će to funkcionirati

Ovaj uređaj će se sastojati od dva odvojena kola. Jedan će se bazirati na Arduino Mega -i povezanoj direktno s računarom. Drugi krug će se bazirati na LilyPad Arduinu i bit će potpuno zatvoren u omotu i napajat će se pomoću 9V baterije. Oba ova kola će međusobno komunicirati bežično pomoću XBee modula. Zvučni signali će biti primljeni od kompjutera ugrađenog mikrofona i analizirani u Pure Data da bi se dobili podaci o amplitudi i frekvenciji. Ove informacije će se prenijeti na Arduino Mega pomoću MIDI ulaznog kola, a zatim će se putem XBees -a prenijeti na LilyPad. LilyPad će tada odrediti kako će LED diode na jakni reagirati.

Šta će vam trebati

Za Mega kolo

  • Arduino Mega 2560
  • XBee Explorer regulirano
  • XBee 1mW antena za praćenje - Serija 1
  • Prototipni štit za Mega
  • USB tip A do B
  • USB na MIDI kabel
  • MIDI utičnica
  • 1 x 220Ω otpornik
  • 1 x 270Ω otpornik
  • 1 x 1N4148 dioda
  • 1 x Optokapler 6N138

Za krug LilyPad

  • Glavna ploča LilyPad Arduino 328
  • LilyPad XBee ploča za razbijanje
  • XBee 1mW antena za praćenje - Serija 1
  • LilyPad FTDI Osnovna ploča za razbijanje
  • 72 x LilyPad LED diode (raspon svih dostupnih boja, uključujući bijelu, plavu, crvenu, žutu, zelenu, ružičastu i ljubičastu)
  • LilyPad klizni prekidač
  • USB 2.0 A-muški na Mini-B kabel
  • 9V baterija
  • 9V kopča za bateriju

Ostalo

  • Jacket
  • Računalo s instaliranim Pure Data i Arduino IDE
  • Oprema za žicu
  • Oprema za lemljenje
  • Rezači žice
  • Strojevi za skidanje žice
  • Igla sa velikim okom
  • Thread
  • Provodni navoj
  • Makaze
  • Traka za mjerenje
  • Ljepilo za tkaninu ili prozirni lak za nokte
  • Kreda ili bijeli ajlajner
  • Tkanina za podstavu ili stara majica
  • Velcro
  • Bušilica (moguće)
  • Standardna LED (za testiranje)
  • Oglasna ploča (za testiranje)
  • Još jedan otpornik od 220 Ω (za testiranje)
  • Multimetar (za testiranje)

Cijena ovog projekta uvelike će ovisiti o tome koliko gore navedene opreme već posjedujete. Međutim, vjerovatno će biti negdje između 150 i 200 funti.

Kratka napomena - LilyPad ploče dizajnirane su za direktno spajanje na tekstil i stoga lemljenje 9V kopče za bateriju može uzrokovati probleme. Veza može biti osjetljiva i lako se može prekinuti. Možete nabaviti posebno dizajnirane LilyPad ploče za AAA ili LiPo baterije koje biste odlučili radije koristiti. Međutim, ipak sam odlučio krenuti putem 9V jer im je vijek trajanja baterije veći od AAA -a, a moje Sveučilište ima ograničenja u korištenju LiPo baterija.

Korak 1: Kreiranje ulaznog kola MIDI

Kreiranje ulaznog kola MIDI
Kreiranje ulaznog kola MIDI
Kreiranje ulaznog kola MIDI
Kreiranje ulaznog kola MIDI
Kreiranje ulaznog kola MIDI
Kreiranje ulaznog kola MIDI

Prije svega, razmotrimo MIDI ulazni krug. Ovo će morati biti izgrađeno na ploči za izradu prototipa koja će se ugraditi u Arduino Mega. Ovo će se koristiti za slanje MIDI poruka iz zakrpe za čiste podatke u Megu putem njegovog 'COMMUNICATION RX0' pina. Shemu kola i fotografiju pogledajte iznad. Ovisno o vašoj ploči za izradu prototipa, vaš bi se izgled mogao malo razlikovati, ali ja sam odlučio postaviti MIDI utičnicu u donji lijevi kut. Ovdje će možda biti potrebno upotrijebiti bušilicu za povećanje otvora na štitu kako bi se uklopila u utičnicu. Crvene žice na fotografiji spojene su na 5V, smeđe su spojene na masu, crna žica je spojena na pin 3 na 6N138, plava žica je spojena na pin 2 na 6N138, a žute žice su spojene na RX0 pin. Ostavljen je prostor s desne strane ploče za izradu prototipa kako bi se kasnije ostavio prostor za XBee. Vjerovatno će se morati napraviti prekidi u tragovima na tabli. Za ovaj primjer, oni su morali biti postavljeni između pinova na 6N138.

Testiranje ulaznog kola MIDI

Da biste testirali kolo, prenesite donji kod na Arduino Mega pomoću USB kabela tipa A do B. Učinite to tako da štitnik nije umetnut jer se kôd ne može prenijeti ako je bilo što spojeno na RX ili TX pinove. Također, kôd uključuje biblioteku MIDI.h koju ćete možda morati preuzeti, dostupnu na donjoj poveznici.

MIDI.h

Zatim umetnite štit u mega i spojite ga na drugi USB priključak na računaru putem MIDI na USB kabela. MIDI kraj koji ćete morati koristiti bit će označen kao "van". Napravite jednostavno kolo na matičnoj ploči povezujući pin 2 sa otpornikom od 220Ω, a zatim ga spojite na anodu standardne LED diode. Spojite katodu LED dioda na masu.

Zatim stvorite jednostavnu zakrpu čistih podataka s porukom [60 100] i [0 0] koja su spojena na objekt bilješke preko lijevog ulaza. Uvjerite se da je ova zakrpa povezana s ulaznim krugom MIDI otvaranjem MIDI postavki i promjenom izlaznog uređaja. Ako ovo nije dostupno, provjerite jeste li povezali MIDI kolo sa računarom prije nego što ste otvorili Pure Data. Sada, ako je vaš krug ispravan, LED dioda bi trebala zasvijetliti kada se pritisne poruka [60 100] i trebala bi se isključiti kada se pritisne poruka [0 0].

Korak 2: Dizajniranje LED matrice

Dizajniranje LED matrice
Dizajniranje LED matrice
Dizajniranje LED matrice
Dizajniranje LED matrice
Dizajniranje LED matrice
Dizajniranje LED matrice

Zatim, potrebno je razmotriti LED matricu za stražnju stranu jakne. Ovo će biti direktno povezano sa glavnom LilyPad pločom. Uobičajeno, za upravljanje LED diodama pomoću mikrokontrolera, svaki bi bio dodijeljen svojim zasebnim pinovima. Međutim, sa samo jednim Arduino LilyPadom ovo bi bilo vrlo ograničavajuće. Ukupno, LilyPad ima 12 digitalnih pinova i 6 analognih, pa potencijalno 18 izlaznih pinova. Međutim, budući da će se jedan od ovih pinova kasnije koristiti za upravljanje kliznim prekidačem, ostat će samo 17 preostalih.

U ovoj se situaciji može koristiti tehnika koja se naziva multipleksiranje kako bi se povećao potencijal kontrolnih pinova LilyPada. Ovo koristi dvije činjenice:

  • LED diode su diode i dopuštaju da struja teče samo u jednom smjeru.
  • Ljudske oči i mozak obrađuju slike mnogo sporije nego što svjetlost može putovati, pa ako LED diode trepere dovoljno brzo, to nećemo primijetiti. Ovo je koncept poznat kao „Postojanost vizije“.

Ovom tehnikom broj LED dioda koje se mogu kontrolirati je (n/2) x (n- (n/2)) gdje je n broj dostupnih kontrolnih pinova. Stoga bi sa 17 dostupnih pinova trebalo biti moguće kontrolirati 72 LED diode u matrici 9x8.

Dijagram za raspored LED dioda u matrici 9x8 može se vidjeti gore, uključujući prijedloge za pinove na koje treba povezati svaki red i stupac. Važno je napomenuti da se redovi i stupci ne smiju dodirivati. Također, nisu potrebni otpornici jer svaka LED dioda ima svoju ugrađenu otpornost od 100Ω.

Prije nego započnete šivanje, trebate isplanirati izgled kola na jakni. Dobro mjesto za početak je označavanje na omotu mjesta gdje će LED diode ići s malim točkicama, pomoću mjerača trake kako biste osigurali da su ravnomjerno razmaknute. Za crnu kožnu jaknu, bijeli ajlajner vrlo dobro funkcionira i može se lako obrisati ako se napravi greška. Međutim, drugi mediji, poput krede, također mogu djelovati ovisno o materijalu i boji jakne. Raspored LED boja koje sam koristio može se vidjeti iznad, što će raditi s kodom koji je kasnije dat. Možete koristiti drugačiji izgled, iako će to morati biti promijenjeno u kodu.

Sljedeća stvar o kojoj treba razmisliti je gdje će ići LilyPad, LilyPad XBee i napajanje. Za jaknu koju sam koristio, činilo se da je najrazumnije i diskretnije mjesto na stražnjoj strani jakne, pri dnu i na unutarnjoj postavi. To je zato što je malo vjerovatno da će ih ruke tamo nositi i da lako može pristupiti LED matrici. Takođe, kako je jakna koju sam koristio bila labava na dnu, i dalje je bila udobna.

Korak 3: Šivanje LED matrice

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

U ovom trenutku možete započeti šivanje. Rad s vodljivim niti može biti težak za rad, pa evo nekoliko korisnih savjeta:

  • Lijepljenje komponente na mjesto pomoću ljepila za tkanine uvelike će olakšati šivanje.
  • Različite vrste šavova imat će različita estetska i funkcionalna svojstva pa ih vrijedi pogledati prije nego počnete. Osnovni šav za trčanje, međutim, trebao bi biti u redu za ovaj projekt.
  • Čvorovi se često lako olabave s provodljivim navojem jer je „opružniji“nego inače. Rješenje za to je korištenje male količine prozirnog laka za nokte ili ljepila za tkanine da se zapečate. Dajte im vremena da se osuše prije nego im odrežu repove.
  • Prilikom stvaranja veza sa komponentama kola ili spajanja dva voda provodnog navoja, dobra je ideja da ih više puta zašijete kako biste bili sigurni da je napravljena dobra mehanička i električna veza.
  • Uvjerite se da je vaša igla oštra i da ima veliko oko. Probijanje jakne može biti teško, a provodljivi konac deblji je od normalnog.
  • Pazite na rastresite dlačice na niti. Oni mogu stvoriti kratke hlače u strujnom krugu ako se dotaknu drugih linija šivanja. Ako to postane veliki problem, sve linije mogu se zapečatiti prozirnim lakom za nokte ili ljepilom za tkanine nakon što se provede testiranje i sve definitivno radi ispravno.

Dobro mjesto za početak šivanja su redovi. Da biste bili što ravniji, mogli biste povući slabe linije kako biste ih sašili pomoću ravnala. Kad ih sašijete, prijeđite na stupce. Svaki put kada se dođe do reda potrebno je posvetiti veliku pažnju jer je bitno da se ta dva ne ukrštaju. To se može postići stvaranjem uboda za stub na unutrašnjoj strani jakne za ovo spajanje, kao što se vidi na gornjoj fotografiji. Kada dovršite sve retke i stupce, multimetar se može provjeriti da nema kratkih spojeva.

Kad budete zadovoljni, počnite šivati LED diode za stupac krajnje desno od jakne. Uvjerite se da je svaka anoda spojena na svoj red i da je svaka katoda spojena sa stupom lijevo. Zatim postavite LilyPad Arduino na mjesto pomoću ljepila za tkanine negdje otprilike ispod ove kolone, pazeći da igle za FTDI ploču za razbijanje okrenute prema dolje. Prišijte iglu 11 LilyPada u red 1, iglu 12 u red 2 i tako dalje dok iglica A5 ne bude prišivena u red 9. Zatim šivajte iglu 10 u krajnju desnu kolonu. Za testiranje ove prve kolone možete koristiti donji kod. Otpremite kôd i uključite LilyPad tako što ćete ga povezati sa računarom pomoću FTDI ploče za razbijanje i USB 2.0 A-Male kabla za Mini-B.

Ako odgovarajući priključak nije dostupan kada priključite LilyPad, možda ćete morati instalirati FTDI upravljački program dostupan sa donje veze.

Instalacija FTDI upravljačkog programa

Kad se upali ova prva kolona LED dioda, vrijeme je da ostale prišijete na jaknu. Ovo je prilično dugotrajan proces, pa je vjerojatno najbolje rasporediti ga na nekoliko dana. Svakako testirajte svaku kolonu dok idete. To možete učiniti prilagođavanjem gornjeg koda tako da se pin za stupac koji želite testirati deklarira kao izlaz u postavkama, a zatim se u petlji postavlja LOW. Uvjerite se da su drugi pinovi stupaca postavljeni na HIGH jer će to osigurati njihovo isključivanje.

Korak 4: Dodavanje prekidača

Dodavanje prekidača
Dodavanje prekidača

Zatim možete dodati prekidač koji će se koristiti za promjenu postavki na omotu. Potrebno ga je prišiti na unutarnju stranu jakne ispod LilyPad Arduino ploče. Koristeći vodljivi navoj, kraj označen sa "isključeno" treba spojiti na uzemljenje, a kraj označen sa "uključeno" spojiti sa iglom 2.

Prekidač možete testirati pomoću donjeg koda. Ovo je vrlo jednostavno i uključuje donju desnu LED diodu ako je prekidač otvoren te ga isključuje ako je prekidač zatvoren.

Korak 5: Učinite uređaj bežičnim

Učinite uređaj bežičnim
Učinite uređaj bežičnim
Učinite uređaj bežičnim
Učinite uređaj bežičnim
Učinite uređaj bežičnim
Učinite uređaj bežičnim

Priprema LilyPad XBee i XBee Explorera

Pripremite LilyPad XBee za konfiguraciju lemljenjem na 6-polnom pravokutnom muškom zaglavlju. Ovo će kasnije omogućiti njegovo povezivanje s računarom putem LilyPad FTDI Basic Breakout ploče i USB Mini kabela. Takođe, lemite 9V držač za bateriju na LilyPad XBee tako da crvena žica ide do pina “+”, a crna žica do pina “-”.

Spojite ploču Explorer na štit prototipa za Arduino Mega. 5V i uzemljenje na ploči Explorera morat će se spojiti na 5V i uzemljenje na Mega -i, izlazni pin na Exploreru će se morati spojiti na RX1 na Mega -i, a ulaz na Exploreru će se morati spojiti na TX1 na Mega -i.

Konfiguriranje XBeesa

Zatim XBees treba konfigurirati. Prije svega, morat ćete besplatno instalirati softver CoolTerm koji je dostupan sa donje veze.

CoolTerm softver

Na neki način napravite razliku između dva XBeeja jer je važno da ih ne pomiješate.

Prvo konfigurirajte XBee za računalo. Umetnite ga u LilyPad XBee Breakout ploču i povežite ga s računarom pomoću osnovne ploče za izbacivanje FTDI i USB Mini kabela. Otvorite CoolTerm i u opcijama odaberite odgovarajući serijski port. Ako ga ne vidite, pokušajte pritisnuti 'Ponovo skeniraj serijske portove'. Zatim provjerite je li brzina prijenosa postavljena na 9600, uključite Local Echo i postavite Key Emulation na CR. CoolTerm se sada može spojiti na XBee.

Upišite „+++“u glavni prozor da biste XBee prebacili u način naredbe. Ne pritiskajte Return. To će omogućiti da se konfigurira pomoću AT naredbi. Ako je ovo bilo uspješno, nakon vrlo kratke pauze trebao bi se pojaviti odgovor na poruku “OK”. Ako postoji kašnjenje više od 30 sekundi prije sljedećeg retka, naredbeni način će izaći i to će se morati ponoviti. Za postavljanje PAN ID -a, MY ID -a, ID -a odredišta i spremanje promjena potrebno je unijeti brojne AT naredbe. Povratak se mora pritisnuti nakon svake od ovih naredbi, a to se može vidjeti u gornjoj tablici. Nakon što je ovo završeno za računalo XBee, potrebno ga je odspojiti i isti postupak je potrebno izvršiti i za omotač XBee.

Nove postavke XBee možete provjeriti upisivanjem svake AT naredbe bez vrijednosti na kraju. Na primjer, ako upišete „ATID“i pritisnete return, „1234“bi trebalo da se vrati.

Testiranje XBeesa

U ovom trenutku prišite LilyPad XBee na jaknu pored LilyPad Arduina. Sljedeći spojevi moraju biti izvedeni pomoću provodnog navoja:

  • 3.3V na LilyPad XBee do '+' na LilyPadu
  • Uzemljenje na LilyPad XBee uzemljenje na LilyPad
  • RX na LilyPad XBee do TX na LilyPad
  • TX na LilyPad XBee do RX na LilyPad

Sada se uređaj može testirati kako bi se osiguralo da XBees rade ispravno. Kod ispod koji se naziva 'Wireless_Test_Mega' mora se učitati na Arduino Mega, a njegova glavna svrha je primanje MIDI poruka iz jednostavne Pure Data zakrpe stvorene ranije i prijenos različitih vrijednosti putem XBee -a. Ako se primi MIDI nota s visinom od 60, bit će poslana poruka 'a'. Alternativno, ako se primi poruka o bilješci, prenijet će se 'b'.

Osim toga, donji kod pod nazivom 'Wireless_Test_LilyPad' potrebno je učitati na LilyPad. Ovo prima poruke od Mega-e putem XBeesa i u skladu s tim kontrolira donju desnu LED diodu. Ako je primljena poruka 'a', što znači da je Mega primila MIDI notu s visinom od 60, LED će se uključiti. S druge strane, ako se ne primi "a", LED će se isključiti.

Nakon što je kôd postavljen na obje ploče, provjerite je li štit ponovo umetnut u Mega i je li spojen na računar putem oba kabela. Umetnite XBee računara u ploču Explorer. Zatim provjerite je li ploča FTDI Breakout odvojena od omotača i umetnite omot XBee u LilyPad XBee. Priključite 9V bateriju i pokušajte pritisnuti različite poruke u Pure Data. Donja desna LED dioda na jakni trebala bi se uključivati i isključivati.

Korak 6: Završni dodiri

Završni dodiri
Završni dodiri
Završni dodiri
Završni dodiri
Završni dodiri
Završni dodiri

Kôd i čisti zakrpa podataka

Kada ste zadovoljni što jakna radi bežično, prenesite skicu 'MegaCode' ispod na Arduino Mega i skicu 'LilyPadCode' na LilyPad. Otvorite zakrpu Pure Data pazeći da je DSP uključen i da je audio ulaz postavljen na ugrađeni mikrofon računara. Pokušajte pustiti muziku i pomaknite prekidač. Možda ćete morati malo prilagoditi pragove u čistim podacima ovisno o tome koliko ili malo LED diode reagiraju na zvuk.

Dodavanje nove obloge

Konačno, kako bi jakna bila estetski ugodnija i ugodnija za nošenje, u unutrašnjost jakne može se dodati još jedna podstava koja prikriva šivanje i komponente. To bi trebalo biti učinjeno pomoću čičak trake kako bi se omogućio lak pristup strujnom krugu u slučaju da je potrebno izvršiti bilo kakve izmjene.

Prije svega, šavite trake s petljom (mekši dio) na jaknu s unutarnje strane, uz gornju i donju stranu s obje strane. Bilo bi dobro ostaviti dno slobodno jer će to omogućiti zrak da dođe do komponenti. Zatim izrežite komad tkanine iste veličine i na to prišijte trake od čička s 'kukom', uz gornju i donju stranu s obje strane. Takođe, na istoj strani kao čičak i na najpovoljnijem mjestu, prišite džep u koji će baterija moći stati. Primjere pogledajte na gornjim slikama.

Korak 7: Gotovi ste

Vaša bežična Light Show jakna sada bi trebala biti potpuna i uspješno reagirati na zvuk! Jedna postavka trebala bi stvoriti učinak poput amplitudne trake, a druga bi trebala imati pojedinačne LED diode koje trepere uz muziku svojim bojama ovisno o visini tona. Primjere video zapisa pogledajte gore. Ako ste se pitali, boja i visina su povezani preko Rozenkrojcerskog reda koji se zasniva samo na intonaciji. Nadam se da ste uživali u ovom projektu!

Preporučuje se: