Sisällysluettelo:
- Vaihe 1: Materiaalit
- Vaihe 2: Ohjelmiston asentaminen
- Vaihe 3: Kiihtyvyysmittarin kiinnittäminen
- Vaihe 4: Flex -anturien kiinnitys
- Vaihe 5: Liitäntä maks
- Vaihe 6: Muun enimmäiskoodin luominen
- Vaihe 7: Kirjaimellisesti kaiken yhdistäminen
Video: Puettava tekniikka: Äänenvaihtava käsine: 7 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
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
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
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
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
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
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:
Taser -käsine: 7 vaihetta
Taser Glove: Oletko kyllästynyt tyhmän näköisiin sähkökäsineisiin, joissa on heikko kertakäyttöinen kameran jännite? Vihaatko ihmisiä YouTubessa vain näyttämällä sinulle vain heidän taser -hansikkaidensa ulkopuoli, etkä edes kerro, miten he tekivät sen? Sinulla on hienostunut maku ja haluat, että käsineesi on sekä voima
Ele puheeksi/tekstin muuntaminen käsine: 5 vaihetta
Ele eleksi puheeksi/tekstin muuntaminen käsine: Tämän projektin toteuttamisen idea/työntö oli auttaa ihmisiä, joilla on vaikeuksia kommunikoida puheen avulla ja kommunikoida käden eleillä tai yleisemmin amerikkalaisena viittomakielellä (ASL). Tämä projekti voi olla askel kohti tarjoamista
Puettava tekniikka lapsille: sankarivarsinauha: 4 vaihetta
Wearable Tech for Kids: Hero -käsivarsinauha: Tämä opas kattaa kuinka tehdä `` sankari -käsivarsinauha '', joka syttyy käytettäessä. Käyttämällä johtavaa kangasnauhaa, johtavaa lankaa ja ommeltavia LED -valoja tämä on loistava aktiviteetti koululaisille oppiaksesi piirien perusteet ja puettavat tekniikat. Te
Älykäs käsine tyhmälle: 5 vaihetta
Smart Glove for Dumb: Näemme, että joskus tyhmät ihmiset, jotka elävät, eivät puhu ja kun he menevät sairaalaan ja päästetään sairaalaan, heidän kanssaan pidetään sairaanhoitaja, että aina kun tyhmä haluaa jotain, hän ei ymmärrä sairaanhoitajaa Tämän käsineen olen tehnyt
Infigo - (tekoälykäyttöinen puettava käsine): 9 vaihetta
Infigo - (Artificial Intelligence Powered Wearable Glove): Infigo on AI (Artificial Intelligence) -käyttöinen käsine, joka perustuu avustavan tekniikan (AT) periaatteisiin ja joka parantaa heikentyneen yhteiskunnan tuottavuutta Tekoäly ja koneoppiminen eivät voi korvata ihmisen