Sisällysluettelo:

Light Show -takki, joka reagoi musiikkiin: 7 vaihetta (kuvilla)
Light Show -takki, joka reagoi musiikkiin: 7 vaihetta (kuvilla)

Video: Light Show -takki, joka reagoi musiikkiin: 7 vaihetta (kuvilla)

Video: Light Show -takki, joka reagoi musiikkiin: 7 vaihetta (kuvilla)
Video: Poliisi niputtaa laitosjonnen 2024, Heinäkuu
Anonim
Light Show -takki, joka reagoi musiikkiin
Light Show -takki, joka reagoi musiikkiin

Tämä opetusohjelma on tuotettu osana viimeisen vuoden projektiani musiikkitekniikan ja sovelletun elektroniikan tutkinnolle Yorkin yliopistossa. Se on suunnattu elektroniikasta kiinnostuneille muusikoille. Valmis tuote on LED -matriisi takin takana, joka voi tuottaa valon esityksen musiikin mukaisesti. Tämä tehdään analysoimalla äänitulot käyttämällä Pure Dataa ja Arduinoa. Takissa on kaksi asetusta, joita voidaan ohjata kytkimellä. Yhdellä asetuksella ohjataan LED -valoja musiikin amplitudin mukaan ja toisella LED -valot vilkkuvat yksi kerrallaan ja vaihtavat väriä sävelkorkeuden mukaan.

Kuinka se toimii

Tämä laite koostuu kahdesta erillisestä piiristä. Yksi perustuu Arduino Megaan, joka on kytketty suoraan tietokoneeseen. Toinen piiri perustuu LilyPad Arduinon ympärille, ja se on täysin vaipan sisällä ja se saa virtansa 9 V: n paristosta. Molemmat piirit kommunikoivat keskenään langattomasti XBee -moduulien avulla. Tietokoneen sisäänrakennettu mikrofoni vastaanottaa audiosignaalit ja analysoi ne Pure Data -toiminnolla amplitudi- ja taajuustietojen saamiseksi. Nämä tiedot siirretään Arduino Megalle käyttäen MIDI -tulopiiriä, ja tämä välitetään sitten LilyPadille XBeesin avulla. LilyPad määrittää sitten, miten takin LED -valot reagoivat.

Mitä tarvitset

Mega Circuitille

  • Arduino Mega 2560
  • XBee Explorer säännelty
  • XBee 1mW jäljitysantenni - Sarja 1
  • Prototyyppinen kilpi Megalle
  • USB -tyyppi A - B
  • USB -MIDI -kaapeli
  • MIDI -liitäntä
  • 1 x 220Ω vastus
  • 1 x 270Ω vastus
  • 1 x 1N4148 diodi
  • 1 x 6N138 Optocoupler

LilyPad -piirille

  • LilyPad Arduino 328 emolevy
  • LilyPad XBee Breakout Board
  • XBee 1mW jäljitysantenni - Sarja 1
  • LilyPad FTDI Basic Breakout Board
  • 72 x LilyPad -LEDiä (valikoima kaikkia värejä, mukaan lukien valkoinen, sininen, punainen, keltainen, vihreä, vaaleanpunainen ja violetti)
  • LilyPad -liukukytkin
  • USB 2.0 A-uros-Mini-B-kaapeli
  • 9V akku
  • 9V akun pidike

Muut

  • Takki
  • Tietokone, johon on asennettu Pure Data ja Arduino IDE
  • Laitteen johto
  • Juotoslaitteet
  • Lankaleikkurit
  • Langanpoistimet
  • Neula suurella silmällä
  • Lanka
  • Johtava lanka
  • Sakset
  • Mittanauha
  • Kangasliima tai kirkas kynsilakka
  • Liitu tai valkoinen eyeliner
  • Kangas vuorelle tai vanhaan t-paitaan
  • Velcro
  • Poraa (mahdollisesti)
  • Vakio -LED (testausta varten)
  • Leipälauta (testausta varten)
  • Toinen 220Ω vastus (testausta varten)
  • Yleismittari (testausta varten)

Tämän projektin kustannukset riippuvat suuresti siitä, kuinka paljon edellä mainituista laitteista jo omistat. Se on kuitenkin todennäköisesti 150–200 puntaa.

Pikahuomautus - LilyPad -levyt on suunniteltu ommeltaviksi suoraan tekstiileihin, ja siksi 9 V: n akunpidikkeen juottaminen yhteen voi aiheuttaa ongelmia. Yhteys voi olla herkkä ja helposti katkeava. Voit hankkia erityisesti suunnitellut LilyPad -levyt AAA- tai LiPo -paristoille, joita voit käyttää mieluummin. Päätin kuitenkin jatkaa 9V -reittiä, koska niiden akunkesto on pidempi kuin AAA -akut ja yliopistollani on rajoituksia LiPo -akkujen käytölle.

Vaihe 1: MIDI -syöttöpiirin luominen

MIDI -syöttöpiirin luominen
MIDI -syöttöpiirin luominen
MIDI -syöttöpiirin luominen
MIDI -syöttöpiirin luominen
MIDI -syöttöpiirin luominen
MIDI -syöttöpiirin luominen

Tarkastellaan ensin MIDI -tulopiiriä. Tämä on rakennettava prototyyppikortille, joka liitetään Arduino Megaan. Tätä käytetään lähettämään MIDI -viestejä Pure Data -laastarista Megalle sen COMMUNICATION RX0 -tapin kautta. Katso yllä piirikaavio ja valokuva. Prototyyppikortistasi riippuen asettelu saattaa olla hieman erilainen, mutta päätin sijoittaa MIDI-liitännän vasempaan alakulmaan. Tässä on ehkä käytettävä poraa, jotta kilven reiät saadaan suuremmiksi pistorasian sovittamiseksi. Kuvan punaiset johdot on kytketty 5 V: iin, ruskeat maadoitukseen, musta johto on kytketty 6N138: n nastaan 3, sininen johto on kytketty 6N138: n nastaan 2 ja keltaiset johdot on kytketty RX0: een tappi. Prototyyppikortin oikealle puolelle jätetään tilaa, jotta XBeelle voidaan antaa tilaa myöhemmin. Taukoja on todennäköisesti tehtävä levyn raidoissa. Tässä esimerkissä ne oli tehtävä 6N138: n nastojen väliin.

MIDI -tulopiirin testaus

Testaa piiri lataamalla alla oleva koodi Arduino Megaan USB -tyypin A - B -kaapelilla. Varmista, että suojus ei ole paikallaan, kun teet tämän, koska koodia ei voi ladata, jos mitään on kytketty RX- tai TX -nastoihin. Koodi sisältää myös MIDI.h -kirjaston, jonka saatat joutua lataamaan ja joka on saatavana alla olevasta linkistä.

MIDI.h

Aseta sitten suojus megaan ja liitä se toiseen tietokoneen USB -porttiin MIDI -USB -kaapelilla. Käyttämäsi MIDI -pääte merkitään "ulos". Luo yksinkertainen piiri leipälevyn liitäntätapille 2 220Ω: n vastukseen ja liitä se sitten tavallisen LED -valon anodiin. Kytke LED -katodi maahan.

Luo sitten yksinkertainen Pure Data -korjaus, jossa on [60 100] -viesti ja [0 0] -viesti, jotka molemmat on liitetty huomautusobjektiin sen vasemman tuloliitännän kautta. Varmista, että tämä korjaustiedosto on kytketty MIDI -tulopiiriin avaamalla MIDI -asetukset ja vaihtamalla tulostuslaite. Jos tämä ei ole käytettävissä, varmista, että olet liittänyt MIDI -piirin tietokoneeseesi ennen Pure Data -sovelluksen avaamista. Jos piiri on oikea, LED -valon pitäisi syttyä, kun [60 100] -viestiä painetaan, ja sen pitäisi sammua, kun [0 0] -viestiä painetaan.

Vaihe 2: LED -matriisin suunnittelu

LED -matriisin suunnittelu
LED -matriisin suunnittelu
LED -matriisin suunnittelu
LED -matriisin suunnittelu
LED -matriisin suunnittelu
LED -matriisin suunnittelu

Seuraavaksi on otettava huomioon takin takaosan LED -matriisi. Tämä liitetään suoraan LilyPad -pääkorttiin. Normaalisti LEDien ohjaamiseksi mikrokontrollerilla ne määritetään kukin omille yksittäisille nastoilleen. Kuitenkin vain yhdellä Arduino LilyPadilla tämä olisi hyvin rajoittavaa. LilyPadissa on yhteensä 12 digitaalista nastaa ja 6 analogista, joten mahdollisesti 18 ulostuloa. Kuitenkin, koska yhtä näistä nastoista käytetään myöhemmin liukukytkimen ohjaamiseen, tämä jättää vain 17 jäljellä.

Tässä tilanteessa voidaan käyttää tekniikkaa, jota kutsutaan multipleksoimiseksi, jotta LilyPadin ohjaustappien potentiaali voidaan maksimoida. Tässä hyödynnetään kahta faktaa:

  • LEDit ovat diodeja ja sallivat virran kulkea vain yhteen suuntaan.
  • Ihmisen silmät ja aivot käsittelevät kuvia paljon hitaammin kuin valo voi kulkea, joten jos LED -valot vilkkuvat riittävän nopeasti, emme huomaa. Tämä on käsite, joka tunnetaan nimellä "Näön pysyvyys".

Tätä tekniikkaa käyttämällä ohjattavien LEDien määrä on (n/2) x (n- (n/2)), missä n on käytettävissä olevien ohjaustappien määrä. Siksi, kun käytettävissä on 17 nastaa, 72 LED: n pitäisi olla mahdollista ohjata 9x8 -matriisissa.

Kaavio LED -valojen asettelusta 9x8 -matriisissa on nähtävissä edellä, mukaan lukien ehdotukset nastoista, joihin jokainen rivi ja sarake on liitettävä. On tärkeää huomata, että rivit ja sarakkeet eivät saa koskettaa toisiaan. Myöskään vastuksia ei tarvita, koska jokaisella LEDillä on oma sisäänrakennettu vastus 100Ω.

Ennen ompelun aloittamista sinun tulee suunnitella piirin asettelu takkiin. Hyvä paikka aloittaa tästä on merkitä takkiin, mihin LEDit menevät, pienillä pisteillä. Mittanauhalla varmistetaan, että ne sijaitsevat tasaisesti. Mustalle nahkatakille valkoinen eyeliner toimii erittäin hyvin ja voidaan helposti pyyhkiä pois, jos tehdään virhe. Muut väliaineet, kuten liitu, voivat kuitenkin toimia myös takin materiaalin ja värin mukaan. Käyttämäni LED -värien järjestely näkyy yllä, mikä toimii myöhemmin annetun koodin kanssa. Voit käyttää eri asettelua, vaikka sitä on muutettava koodissa.

Seuraavaksi on mietittävä, mihin LilyPad, LilyPad XBee ja virtalähde menevät. Käyttämälläni takissa järkevin ja huomaamaton paikka näytti olevan takin takana, alaosassa ja sisävuorella. Tämä johtuu siitä, että on epätodennäköistä, että käyttäjän käsivarret törmäisivät tähän ja se pääsee helposti LED -matriisiin. Lisäksi, koska käyttämäni takki oli löysä alhaalta, se oli silti mukava.

Vaihe 3: LED -matriisin ompelu

LED -matriisin ompelu
LED -matriisin ompelu
LED -matriisin ompelu
LED -matriisin ompelu
LED -matriisin ompelu
LED -matriisin ompelu

Tässä vaiheessa voit aloittaa ompelun. Johtavan langan käsittely voi olla hankalaa, joten tässä on muutamia hyödyllisiä vinkkejä:

  • Komponentin liimaaminen paikalleen kangasliimalla helpottaa ompelua.
  • Eri tyyppisillä ompeleilla on erilaisia esteettisiä ja toiminnallisia ominaisuuksia, joten kannattaa tutustua niihin ennen kuin aloitat. Perusjuoksun pitäisi kuitenkin sopia tähän projektiin.
  • Solmuilla on taipumus irrota melko helposti johtavalla langalla, koska se on "jousellisempaa" kuin normaalisti. Ratkaisu tähän on käyttää pieni määrä kirkasta kynsilakkaa tai kangasliimaa niiden tiivistämiseen. Anna heidän kuivua ennen kuin leikkaat hännän.
  • Kun muodostat kytkentöjä piirikomponentteihin tai liität yhteen kaksi johtavaa lankaa, on hyvä ommella nämä useita kertoja varmistaaksesi, että mekaaniset ja sähköiset liitännät on tehty hyvin.
  • Varmista, että neula on terävä ja sillä on suuri silmä. Takin läpi pääseminen voi olla vaikeaa ja johtava lanka on normaalia paksumpi.
  • Varo löysiä karvoja langassa. Nämä voivat aiheuttaa oikosulkuja piiriin, jos ne koskettavat muita ompelulinjoja. Jos näistä tulee suuri ongelma, kaikki linjat voidaan sulkea kirkkaalla kynsilakalla tai kangasliimalla, kun testaus on suoritettu ja kaikki toimii varmasti oikein.

Hyvä paikka aloittaa ompelu on rivit. Jotta ne olisivat mahdollisimman suoria, voit piirtää heikkoja viivoja ompelemalla viivoitinta. Kun olet ommellut nämä, siirry sarakkeisiin. On oltava erittäin varovainen joka kerta, kun rivi saavutetaan, koska on välttämätöntä, että nämä kaksi eivät risteä. Tämä voidaan saavuttaa luomalla ommel pylvään sisäpuolelle tätä risteystä varten, kuten yllä olevassa kuvassa näkyy. Kun olet täyttänyt kaikki rivit ja sarakkeet, yleismittarilla voidaan tarkistaa, ettei oikosulkuja ole.

Kun olet tyytyväinen, aloita ompelemalla takin oikeassa reunassa olevan sarakkeen LED -valot. Varmista, että jokainen anodi on kiinnitetty omalle rivilleen ja jokainen katodi on kiinnitetty vasemmalla olevaan sarakkeeseen. Aseta sitten LilyPad Arduino paikalleen kangasliimalla jonnekin suunnilleen tämän sarakkeen alapuolelle varmistaen, että FTDI -murtokortin tapit ovat alaspäin. Ompele LilyPadin nasta 11 riville 1, nasta 12 riville 2 ja niin edelleen, kunnes nasta A5 on ommeltu riville 9. Ompele sitten tappi 10 oikeanpuoleiseen sarakkeeseen. Voit testata tämän ensimmäisen sarakkeen käyttämällä alla olevaa koodia. Lataa koodi ja kytke virta LilyPadiin liittämällä se tietokoneeseen FTDI-murtokortilla ja USB 2.0 A-Male-Mini-B -kaapelilla.

Jos oikea portti ei ole käytettävissä, kun liität LilyPad -laitteen, sinun on ehkä asennettava FTDI -ohjain, joka on saatavana alla olevasta linkistä.

FTDI -ohjaimen asennus

Kun ensimmäinen LED -sarake syttyy, on aika ommella loput takkiin. Tämä on melko aikaa vievä prosessi, joten se on luultavasti parasta sijoittaa muutaman päivän välein. Muista testata jokaista saraketta kulkiessasi. Voit tehdä tämän muokkaamalla yllä olevaa koodia niin, että testattavan sarakkeen nasta ilmoitetaan lähtönä asetuksissa ja asetetaan sitten LOW silmukkaan. Varmista, että muut pylväsnastat on asetettu HIGH -asentoon, koska ne varmistavat, että ne ovat pois päältä.

Vaihe 4: Kytkimen lisääminen

Kytkimen lisääminen
Kytkimen lisääminen

Seuraavaksi voit lisätä kytkimen, jota käytetään takin asetusten muuttamiseen. Se on ommeltava takin sisäpuolelle LilyPad Arduino -levyn alle. Käyttämällä johtavaa kierretä, pää, jossa on merkintä "off", on liitettävä maahan ja pää on merkitty "on" liittimeen.

Voit testata kytkimen alla olevan koodin avulla. Tämä on hyvin yksinkertaista ja sytyttää oikean alakulman LED-valon, jos kytkin on auki, ja sammuttaa sen, jos kytkin on kiinni.

Vaihe 5: Tee laitteesta langaton

Laitteen tekeminen langattomaksi
Laitteen tekeminen langattomaksi
Laitteen tekeminen langattomaksi
Laitteen tekeminen langattomaksi
Laitteen tekeminen langattomaksi
Laitteen tekeminen langattomaksi

LilyPad XBee: n ja XBee Explorerin valmistelu

Valmistele LilyPad XBee kokoonpanoa varten juottamalla 6-nastaiseen suorakulmaiseen urospäähän. Tämän jälkeen se voidaan myöhemmin liittää tietokoneeseen LilyPad FTDI Basic Breakout -kortin ja USB Mini -kaapelin kautta. Liitä myös 9 V: n akun pidike LilyPad XBee -laitteeseen siten, että punainen johto menee "+" -tappiin ja musta johto "-" -nastaan.

Liitä Explorer -levy Arduino Megan prototyyppikilpeen. 5V ja maadoitus Explorer -kortilla tarvitsevat yhteyden Mega -laitteen 5V- ja maadoitusliittimiin, Explorerin ulostulonapin on liitettävä Mega RX1 -laitteeseen ja Explorer -tulon on liitettävä Mega -laitteen TX1 -liittimeen.

XBeesin määrittäminen

Seuraavaksi XBees on määritettävä. Ensinnäkin sinun on asennettava ilmainen CoolTerm -ohjelmisto, joka on saatavana alla olevasta linkistä.

CoolTerm -ohjelmisto

Varmista, että erotat kaksi XBeeä toisistaan jollain tavalla, koska on tärkeää, ettet sekoita niitä.

Määritä ensin XBee tietokoneelle. Aseta se LilyPad XBee Breakout -korttiin ja liitä se tietokoneeseen FTDI -peruskatkaisukortilla ja USB Mini -kaapelilla. Avaa CoolTerm ja valitse Asetuksista oikea sarjaportti. Jos et näe sitä, paina 'Skannaa sarjaportit uudelleen'. Varmista sitten, että siirtonopeudeksi on asetettu 9600, kytke Local Echo päälle ja aseta Key Emulation -asetukseksi CR. CoolTerm voidaan nyt yhdistää XBee -laitteeseen.

Kirjoita pääikkunaan "+++", jotta XBee siirtyy komentotilaan. Älä paina paluuta. Tämä mahdollistaa sen määrittämisen AT -komennoilla. Jos tämä on onnistunut, hyvin lyhyen tauon jälkeen pitäisi tulla "OK" -viestivastaus. Jos seuraavan rivin viive on yli 30 sekuntia, komentotila poistuu ja tämä on toistettava. Lukuisat AT -komennot on annettava PAN -tunnuksen, MY -tunnuksen, kohdetunnuksen asettamiseksi ja muutosten tallentamiseksi. Palautus täytyy osua jokaisen näiden komentojen jälkeen, ja ne näkyvät yllä olevassa taulukossa. Kun tämä on suoritettu tietokoneelle XBee, se on irrotettava ja sama prosessi on suoritettava takki XBee: lle.

Voit tarkistaa uudet XBee -asetukset kirjoittamalla jokaisen AT -komennon ilman arvoa lopussa. Jos esimerkiksi kirjoitat "ATID" ja painat return, "1234" pitäisi toistaa takaisin.

XBeesin testaaminen

Ompele tässä vaiheessa LilyPad XBee LilyPad Arduinon vieressä olevaan takkiin. Seuraavat liitännät on tehtävä johtavalla kierteellä:

  • 3.3 V LilyPad XBee -laitteesta LilyPad -laitteen+-merkkiin
  • Maadoita LilyPad XBee -laitteesta maahan LilyPad -alustalla
  • RX LilyPad XBee -laitteella TX LilyPad -laitteella
  • Lähetys LilyPad XBee: llä RX: lle LilyPadilla

Nyt laite voidaan testata sen varmistamiseksi, että XBee -laitteet toimivat oikein. Alla oleva koodi nimeltä "Wireless_Test_Mega" on ladattava Arduino Megaan, ja sen päätarkoitus on vastaanottaa MIDI -viestejä aiemmin luodusta yksinkertaisesta Pure Data -korjauksesta ja lähettää eri arvot XBeen kautta. Jos vastaanotetaan MIDI -muistiinpano, jonka sävelkorkeus on 60, viesti "a" lähetetään. Vaihtoehtoisesti, jos vastaanotetaan huomautusviesti, "b" lähetetään.

Tämän lisäksi alla oleva koodi 'Wireless_Test_LilyPad' on ladattava LilyPadiin. Tämä vastaanottaa viestit Megasta XBeesin kautta ja ohjaa oikeaa alakulmaa vastaavasti. Jos viesti "a" vastaanotetaan, eli Mega on vastaanottanut 60 -askeleen MIDI -muistiinpanon, LED -valo syttyy. Toisaalta, jos "a" ei tule, LED sammuu.

Kun koodi on ladattu molemmille levyille, varmista, että suoja on asetettu takaisin Megaan ja että se on kytketty tietokoneeseen molempien kaapeleiden kautta. Aseta tietokoneen XBee Explorer -korttiin. Varmista sitten, että FTDI Breakout -kortti on irrotettu vaipasta, ja aseta takki XBee LilyPad XBee -laitteeseen. Kytke 9 V: n akku ja yritä painaa Pure Datan eri viestejä. Takin oikean alakulman LED-valon pitäisi syttyä ja sammua.

Vaihe 6: Viimeiset kosketukset

Viimeiset kosketukset
Viimeiset kosketukset
Viimeiset kosketukset
Viimeiset kosketukset
Viimeiset kosketukset
Viimeiset kosketukset

Koodi ja Pure Data Patch

Kun olet tyytyväinen, että takki toimii langattomasti, lataa alla oleva 'MegaCode' -luonnos Arduino Megaan ja 'LilyPadCode' -luonnos LilyPadiin. Avaa Pure Data -päivitys ja varmista, että DSP on päällä ja äänitulo on asetettu tietokoneen sisäänrakennettuun mikrofoniin. Yritä toistaa musiikkia ja siirtää kytkintä. Saatat joutua säätämään Pure Data -kynnyksiä hieman sen mukaan, kuinka paljon tai vähän LEDit reagoivat ääneen.

Uuden vuoren lisääminen

Lopuksi, jotta takista tulisi esteettisesti miellyttävämpi ja mukavampi käyttää, takin sisäpuolelle voidaan lisätä toinen vuori ompelun ja sen osien peittämiseksi. Tämä on tehtävä tarranauhalla, jotta piiriin pääsee helposti käsiksi, jos muutoksia on tehtävä.

Ompele ensin silmukkaliuskat (pehmeämpi osa) takkiin sisäpuolelta, ylhäältä ja alas molemmin puolin. Pohja on hyvä jättää vapaaksi, koska näin ilma pääsee komponentteihin. Leikkaa sitten saman kokoinen kangaspala ja ompele tähän tarranauhan "koukku" nauhat ylä- ja alaspäin molemmin puolin. Ompele myös tasku tarranauhan kanssa ja sopivimmassa paikassa tasku, johon akku mahtuu. Katso esimerkkejä yllä olevista kuvista.

Vaihe 7: Olet valmis

Langattoman Light Show -takkisi pitäisi nyt olla valmis ja reagoida äänentoistoon onnistuneesti! Toisen asetuksen pitäisi luoda vaikutus, kuten amplitudipalkki, ja toisessa pitäisi olla yksittäisiä LED -valoja, jotka vilkkuvat musiikin väreillä sävelkorkeuden mukaan. Katso videoesimerkkejä yllä. Jos mietit, väri ja sävy liittyvät toisiinsa ruusuristiläisen järjestyksen kautta, joka perustuu vain intonaatioon. Toivottavasti pidit tästä projektista!

Suositeltava: