Sisällysluettelo:

Puettava tekniikka: Äänenvaihtava käsine: 7 vaihetta
Puettava tekniikka: Äänenvaihtava käsine: 7 vaihetta

Video: Puettava tekniikka: Äänenvaihtava käsine: 7 vaihetta

Video: Puettava tekniikka: Äänenvaihtava käsine: 7 vaihetta
Video: OnePlus Bullets Wireless unboxing 2024, Marraskuu
Anonim
Puettava tekniikka: ääntä vaihtava käsine
Puettava tekniikka: ääntä vaihtava käsine
Puettava tekniikka: ääntä vaihtava käsine
Puettava tekniikka: ääntä vaihtava käsine

Näyttää siltä, että käsineet, joilla on uskomattomia voimia, ovat nykyään raivoa. Vaikka Thanoksen Infinity Gauntlet on melko voimakas käsine, halusimme tehdä käsineen, joka voisi tehdä jotain vieläkin merkittävämpää: muuttaa käyttäjän ääntä reaaliajassa.

Tämä Instructable tarjoaa kävelytietä siitä, miten suunnittelimme ääntä muuttavan käsineen. Suunnittelumme käytti erilaisia antureita ja käsineessä olevaa mikro -ohjainta havaitsemaan liikkeet, jotka lähetettiin Arduino -koodin kautta Max -laastariin, jossa äänisignaaliamme muutettiin ja vääristettiin hauskoilla tavoilla. Käyttämämme erityiset anturit, liikkeet ja äänimuutokset ovat joustavia eri näkökohdista; tämä on vain yksi tapa luoda ääntä muuttava käsine!

Tämä projekti oli osa yhteisön kumppanuutta Pomona College -opiskelijoiden ja Fremont Academy of Engineering Femineersin välillä. Se on todella hauska yhdistelmä elektronista suunnittelua ja elektronisen musiikin elementtejä!

Vaihe 1: Materiaalit

Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit

Osat:

  • HexWear -mikrokontrolleri (ATmega32U4) (https://hexwear.com/)
  • MMA8451 -kiihtyvyysmittari (https://www.adafruit.com/product/2019)
  • Lyhyet joustavat anturit (x4) (https://www.adafruit.com/product/1070)
  • Kevyt juoksukäsine
  • #2 ruuvia ja aluslevyä (x8)
  • Puristusliittimet; 22-18 mittari (x8) (https://www.elecdirect.com/crimp-wire-terminals/ring-crimp-terminals/pvc-ring-terminals/ring-terminal-pvc-red-22-18-6- 100 kpl)
  • 50 kΩ vastus (x4)
  • Johto (~ 20 gauge)
  • Itsekiinnittyvä turvatappi
  • Huopa tai muu kangas (~ 10 sq. In.)
  • Ompelulanka
  • Zipties
  • Kannettava tietokone
  • USB -mikrofoni

Työkalut

  • Juotosarja
  • Langankuorijat ja langanleikkurit
  • Sähköteippi
  • Kuumailma -ase
  • Ruuvimeisseli
  • Sakset
  • Ompeluneula

Ohjelmisto:

  • Max by Cycling '74 (https://cycling74.com)
  • Arduino -ohjelmisto (https://www.arduino.cc/en/Main/Software)

Vaihe 2: Ohjelmiston asentaminen

Aloitamme siitä, mikä on todella innostavin osa mitä tahansa projektia: kirjastojen asentaminen (ja paljon muuta).

Arduino:

Lataa ja asenna Arduino -ohjelmisto (https://www.arduino.cc/en/Main/Software).

HexWear:

1) (vain Windows, Mac-käyttäjät voivat ohittaa tämän vaiheen) Asenna ohjain osoitteessa https://www.redgerbera.com/pages/hexwear-driver-installation. Lataa ja asenna ohjain (.exe -tiedosto, joka on lueteltu vaiheessa 2 linkitetyn RedGerbera -sivun yläosassa).

2) Asenna Hexwaren tarvittava kirjasto. Avaa Arduino IDE. Valitse "Tiedosto" -kohdasta "Asetukset". Liitä Lisätaulujen hallinnan URL -osoitteet -tilaan

github.com/RedGerbera/Gerbera-Boards/raw/master/package_RedGerbera_index.json.

Napsauta sitten "OK".

Valitse Työkalut -> Hallitus: -> Hallituksen johtaja. Valitse vasemman yläkulman valikosta "Osallistunut".

Etsi ja napsauta sitten Gerbera Boards ja napsauta Asenna. Sulje Arduino IDE ja avaa se uudelleen.

Varmistaaksesi, että kirjasto on asennettu oikein, siirry kohtaan Työkalut -> Hallitus ja vieritä valikon alareunaan. Sinun pitäisi nähdä osio nimeltä "Gerbera-levyt", jonka alla pitäisi olla ainakin HexWear (ellei enemmän tauluja, kuten mini-HexWear).

Kiihtyvyysmittari:

Lataa ja asenna kiihtyvyysmittarikirjasto (https://learn.adafruit.com/adafruit-mma8451-accelerometer-breakout/wiring-and-test)

Vaihe 3: Kiihtyvyysmittarin kiinnittäminen

Kiihtyvyysmittarin kiinnittäminen
Kiihtyvyysmittarin kiinnittäminen
Kiihtyvyysmittarin kiinnittäminen
Kiihtyvyysmittarin kiinnittäminen

Tarvitsemme kahta päätyyppiä antureita voidaksemme olla vuorovaikutuksessa tämän projektin kanssa: kiihtyvyysanturi ja joustavat anturit. Tutkimme näitä yksi kerrallaan, alkaen kiihtyvyysmittarista. Ensinnäkin tarvitsemme laitteistoyhteydet.

Jotta vältät vaurioitumasta kuusiokoloa, suosittelemme asettamaan #2 ruuvin ja aluslevyn haluttujen porttien läpi ja kiinnittämään sitten kaikki liitännät ruuviin. Jotta mitään ei pääse irtoamaan hansikkaalla leikkiessä, liitokset tulee juottaa ja/tai puristaa. Käytä muutaman tuuman johtoa jokaiseen liitäntään ja tee seuraavat liitännät Hexista kiihtyvyysmittariin (katso yllä olevat nastat):

TULOJÄNNITE JÄNNITE GNDSCL/D3 SCLSDA/D2 SDA

Kun kaikki on kytketty, olemme valmiita testaamaan!

Suorita testinä kiihtyvyysmittarin näytekoodi Arduinossa (Tiedosto-> Esimerkit-> Adafruit_MMA8451-> MMA8451demo) varmistaen, että se voi lähettää sarjamonitoriin. Sen pitäisi tuottaa painovoimasta johtuva kiihtyvyys (~ 10 m/s) z -suunnassa, kun se pidetään vaakasuorassa. Kiihtyvyysmittaria kallistamalla tämä kiihtyvyys mitataan x- tai y -suuntaan; käytämme tätä, jotta käyttäjä voi muuttaa ääntä kääntämällä kättään!

Nyt meidän on esitettävä kiihtyvyysmittarin tiedot siten, että ne voidaan liittää Max. Tätä varten meidän on tulostettava x- ja y -arvot, joita on ehkä muutettu vastaamaan haluttua aluetta (katso osa 6). Tässä liitteenä olevassa koodissamme teemme seuraavaa:

// Mittaa x-suunta ja y-suunta. Jaamme ja kerromme, jotta pääsemme oikeille MAX -alueille (alue 1000 x ja alue 40 y) xdir = event.acceleration.x/0.02; ydir = abs (tapahtuma.kiihtyvyys.y)*2; // Tulosta kaikki Maxille luettavassa muodossa - välilyönnit jokaisen numeron välillä Serial.print (xdir); Serial.print ("");

Tämän pitäisi saada heksadesimaali tulostamaan kiihtyvyysmittarin x- ja y -suunnan muokatut arvot jokaiselle riville. Nyt olemme valmiita lisäämään flex -anturit!

Vaihe 4: Flex -anturien kiinnitys

Flex -anturien kiinnitys
Flex -anturien kiinnitys
Flex -anturien kiinnitys
Flex -anturien kiinnitys
Flex -anturien kiinnitys
Flex -anturien kiinnitys

Käyttäjä voi saada paljon mahdollisia ääniohjaimia, jos voimme havaita taipuvat sormet. Flex -anturit tekevät juuri niin. Jokainen joustotunnistin on oleellisesti potentiometri, jossa joustamattoman vastus on ~ 25KΩ, kun taas täysin taivutettuna vastus on ~ 100KΩ. Laitamme jokaisen flex -anturin yksinkertaiseen jännitteenjakajaan, jossa on 50K vastus, kuten ensimmäisessä kuvassa.

Käytä jälleen melko lyhyitä lankoja (muista, että tämä kaikki sopii käsineen takaosaan) ja juota neljä jännitteenjakamoduulia. Neljä moduulia jakavat saman Vinin ja maadoituksen-kierrämme yhteen johtimien riisutut päät, jotta meillä olisi vain yksi johdin juotokseen. Ota lopuksi neljä moduulia ja tee toisessa kuvassa näkyvät liitännät (jos joku tietää, miten tämä tehdään tekemättä kauhistuttavaa sotkua, paljasta salaisuutesi).

Nyt tarvitsemme Arduino -koodin lukemaan jännitteet kustakin anturista. Käsittelimme tarkoituksemme vuoksi flex -antureita kytkiminä; ne olivat joko päällä tai pois päältä. Siten koodimme asettaa yksinkertaisesti jännitteen kynnyksen tämän kynnyksen yläpuolelle, lähetämme sarjaporttiin 1 (eli anturi on taipunut), muuten annamme arvon 0:

// Ota luku

analoginäytteet ja lisää ne jokaiseen Flex -anturiin

while (sample_count <NUM_SAMPLES) {

summa10 += analoginen (A10);

summa9 += analoginen (A9);

summa7 += analoginen (A7);

summa11 += analoginen luku (A11);

näyte_luku ++;

// Lyhyt viive, jotta et ota niitä liian nopeasti

viive (5);

}

// laskea jännite, keskiarvo suhteessa nopeisiin näytteisiin

// käytä 5.0: ta 5.0V ADC: lle

vertailujännite

// 5.015V on kalibroitu

vertailujännite

jännite10 = ((kelluva) summa10 /

(float) NUM_SAMPLES * 5,015) / 1024,0;

jännite9 = ((kelluva) summa9/

(float) NUM_SAMPLES * 5,015) / 1024,0;

jännite7 = ((kelluva) summa7 /

(float) NUM_SAMPLES * 5,015) / 1024,0;

jännite11 = ((kelluva) summa11 /

(float) NUM_SAMPLES * 5,015) / 1024,0;

// Tarkista, ovatko jokainen flex -anturi

on suurempi kuin kynnys (threes) - jos on, aseta numero

// Pinkie sormi

jos (jännite10> piikki)

{

//-5 korottaa

äänen korkeus yhden oktaavin verran

flex10 = -10;

}

muuten flex10 = 0;

//Nimetön sormi

jos (jännite9>

(thresh-0,4)) {

// 5 laskea

äänen korkeus yhden oktaavin verran

flex9 = 5;

}

muuten flex9 = 0;

//Keskisormi

jos (jännite7> heijastus) {

// 1 asettaa

kaiku vaikutus

flex7 = 1;

}

muuten flex7 = 0;

//Etusormi

jos (jännite11> ylin)

{

// 50 asettaa

sykliä 50: een

flex11 = 93;

}

muuten flex11 = 0;

// Nollaa kaikki laskenta

muuttuja 0 seuraavaan silmukkaan

näyte_luku = 0;

summa10 = 0;

summa9 = 0;

summa7 = 0;

summa11 = 0;

Tässä vaiheessa sarjaportin pitäisi näyttää kiihtyvyysmittarin suunnan arvot ja myös se, onko jokainen taipuisa anturi taipunut. Olemme valmiita saamaan Arduino -koodimme puhumaan Maxille!

Vaihe 5: Liitäntä maks

Liitäntä max
Liitäntä max

Nyt kun Hex -koodi sylkee paljon numeroita sarjaportin kautta, tarvitsemme Max -ohjelmiston lukemaan nämä signaalit. Yllä oleva koodilohko tekee juuri tämän! Olet erittäin tervetullut.

Tärkeä huomautus: Kun olet lähettänyt koodin Hex -järjestelmään, sulje kaikki sarjaportti -ikkunat ja vaihda sitten Max -koodin ympyröity kirjain vastaamaan Hex -porttia. Jos et ole varma, mikä kirjain asetetaan, Max -koodin “print” -painikkeen painaminen näyttää kaikki liitetyt portit.

Hex -sarjaportin tulostettu rivi luetaan Max -koodilohkon läpi ja jaetaan sitten välilyönnien perusteella. Max -lohkon lopussa olevan ulostulon avulla voit napata jokaisen numeron erikseen, joten yhdistämme ensimmäisen ulostulotilan siihen kohtaan, johon haluamme kiihtyvyysmittarin x -suunnan menevän, toinen väli on y -suunta jne. nyt vain liitä nämä numerolohkoihin varmistaaksesi, että ne toimivat. Sinun pitäisi pystyä liikuttamaan kiihtyvyysmittaria ja joustotunnistimia ja nähdä, kuinka numerot muuttuvat Max -ohjelmistossa.

Vaihe 6: Muun enimmäiskoodin luominen

Kun otetaan huomioon Max -kielen voima, voit todella antaa mielikuvituksesi valloittaa täällä kaikilla tavoilla, joilla voit muuttaa tulevaa äänisignaalia maagisella voimahansikkaallasi. Silti, jos ideasi loppuvat, yllä on katsaus siitä, mitä Max -koodimme tekee ja miten se toimii.

Jokaiselle parametrille, jota yrität muuttaa, haluat todennäköisesti sekoittaa Arduino -koodista tulevan arvoalueen saadaksesi juuri oikean herkkyyden.

Joitakin muita Max -vianetsintävinkkejä:

  • Jos et kuule ääntä

    • varmista, että Max on asetettu vastaanottamaan ääntä mikrofoniltasi (Asetukset Äänen tilan syöttölaite)
    • varmista, että Max -äänenvoimakkuuden liukusäädin on ylhäällä ja kaikki muut koodissasi olevat äänenvoimakkuuden säätimet
  • Jos koodi ei näytä tekevän mitään

    • varmista, että laastari on lukittu (lukkosymboli vasemmassa alakulmassa)
    • Varmista Max -korjaustiedoston lukemien avulla, että Max -korjaustiedosto saa edelleen tietoja Arduino -sarjaportista. Jos ei, yritä nollata sarjaportti (kuten vaiheessa 5 on kuvattu) ja/tai tarkista fyysiset johdotusliitännät.
  • Outoja leikkausääniä parametreja muutettaessa

    tämä liittyy siihen, miten ~ tapin ja ~ tapout toimivat; erityisesti kun muutat niiden arvoja, ne nollautuvat, mikä aiheuttaa leikkauksen. Koska meillä on vain vähän tietoa ohjelmasta, olemme lähes varmoja, että Maxissa on parempi tapa tehdä tämä ja poistaa ongelma …

Vaihe 7: Kirjaimellisesti kaiken yhdistäminen

Kirjaimellisesti kokoaminen yhteen
Kirjaimellisesti kokoaminen yhteen
Kirjaimellisesti kokoaminen yhteen
Kirjaimellisesti kokoaminen yhteen
Kirjaimellisesti kokoaminen yhteen
Kirjaimellisesti kokoaminen yhteen
Kirjaimellisesti kokoaminen yhteen
Kirjaimellisesti kokoaminen yhteen

Nyt ei ole muuta kuin liittää piirimme käsineeseemme. Ota lisäkangas ja leikkaa nauhat hieman suuremmiksi kuin flex -anturit. Ompele lisäkangas käsineen sormelle, jossa rystys taipuu, jättäen eräänlaisen holkin flex -anturin istumaan (emme voi vain liimata flex -antureita suoraan käsineeseen, koska käsinekangas venyy sormien taipuessa). Kun hiha on pääosin ommeltu, työnnä joustotunnistin sisään ja ompele johtimet varovasti käsineeseen kiinnittäen taipuisa anturi paikalleen. Toista tämä jokaiselle flex -anturille.

Käytä seuraavaksi itseliimautuvaa tappia kiinnittääksesi kuusikulmaisen käsineen takapuolelle (saatat haluta laittaa kuumaa liimaa tappiin varmistaaksesi, ettei se irtoa kulumisen aikana). Ompele kiihtyvyysmittari käsineen ranteeseen. Käytä lopuksi vetoketjujen taikaa puhdistaaksesi kauniit johdot kauniisti.

Olet valmis testaamaan lopullisen lauluvoimahansikkaasi! (Suosittelemme lämpimästi Daft Punkin”Harder Better Faster Stronger” -tapahtumaa, jotta voit näyttää äänesi muuttavat ominaisuudet täysin)

Suositeltava: