Kazalo:
- 1. korak: Materiali
- 2. korak: Namestitev programske opreme
- 3. korak: Pritrditev merilnika pospeška
- 4. korak: Pritrditev upogljivih senzorjev
- 5. korak: Povezovanje z Max
- 6. korak: Ustvarjanje preostale kode Max
- 7. korak: Dobesedno združite vse skupaj
Video: Nosljiva tehnika: Rokavice za spreminjanje glasu: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
No, zdi se, da so te roke danes besne rokavice z neverjetno močjo. Čeprav je Thanos's Infinity Gauntlet precej močna rokavica, smo želeli narediti rokavico, ki bi lahko naredila nekaj še bolj izjemnega: spremenila glas uporabnika v realnem času.
Ta Instructable ponuja sprehod po tem, kako smo oblikovali rokavico za spreminjanje glasu. Naša zasnova je uporabila različne senzorje in mikrokrmilnik v rokavici za zaznavanje gibov, ki so bili poslani prek kode Arduino na obliž Max, kjer je bil naš zvočni signal nato spremenjen in popačen na zabaven način. Posebni senzorji, gibi in zvočne spremembe, ki smo jih uporabili, so prilagodljivi za različne vidike; to je le en način za ustvarjanje rokavic, ki spreminjajo glas!
Ta projekt je bil del skupnostnega partnerstva med študenti Pomona College in Fremont Academy of Engineering Femineers. To je prava zabavna mešanica elektronskega inženiringa in elementov elektronske glasbe!
1. korak: Materiali
Deli:
- Mikrokrmilnik HexWear (ATmega32U4) (https://hexwear.com/)
- Merilnik pospeška MMA8451 (https://www.adafruit.com/product/2019)
- Kratki upogibni senzorji (x4) (https://www.adafruit.com/product/1070)
- Lahka tekaška rokavica
- #2 vijaki in podložke (x8)
- Terminali za stiskanje sponk; 22-18 gauge (x8) (https://www.elecdirect.com/crimp-wire-terminals/ring-crimp-terminals/pvc-ring-terminals/ring-terminal-pvc-red-22-18-6- 100 kosov)
- 50kΩ upor (x4)
- Žica (~ 20 gauge)
- Samolepilni varnostni zatič
- Filc ali druga tkanina (~ 10 sq. In.)
- Šivalna nit
- Zadrge
- Prenosni računalnik
- USB mikrofon
Orodja
- Komplet za spajkanje
- Odstranjevalci in rezalniki žice
- Električni trak
- Pištola z vročim zrakom
- Izvijač
- Škarje
- Šivalna igla
Programska oprema:
- Max s kolesarjenjem '74 (https://cycling74.com)
- Arduino programska oprema (https://www.arduino.cc/en/Main/Software)
2. korak: Namestitev programske opreme
Začnemo z resnično najbolj razburljivim delom vsakega projekta: namestitvijo knjižnic (in še več).
Arduino:
Prenesite in namestite programsko opremo Arduino (https://www.arduino.cc/en/Main/Software).
HexWear:
1) (Samo v sistemu Windows, uporabniki Mac lahko ta korak preskočijo) Namestite gonilnik na spletnem mestu https://www.redgerbera.com/pages/hexwear-driver-installation. Prenesite in namestite gonilnik (datoteka.exe, navedena v 2. koraku na vrhu povezane strani RedGerbera).
2) Namestite potrebno knjižnico za Hexware. Odprite Arduino IDE. Pri »Datoteka« izberite »Nastavitve«. Prilepite v prostor za URL -je Dodatnih upraviteljev plošč
github.com/RedGerbera/Gerbera-Boards/raw/master/package_RedGerbera_index.json.
Nato kliknite »V redu«.
Pojdite v Orodja -> Upravni odbor: -> Upravitelj odbora. V zgornjem levem kotu izberite »Prispevek«.
Poiščite in kliknite Gerbera Boards ter kliknite Install. Zaprite in znova odprite Arduino IDE.
Če želite zagotoviti, da je knjižnica pravilno nameščena, pojdite na Orodja -> Plošča in se pomaknite do dna menija. Videti bi morali razdelek z naslovom "Gerbera Boards", pod katerim bi se moral pojaviti vsaj HexWear (če ne več plošč, kot je mini-HexWear).
Merilnik pospeška:
Prenesite in namestite knjižnico merilnika pospeška (https://learn.adafruit.com/adafruit-mma8451-accelerometer-breakout/wiring-and-test)
3. korak: Pritrditev merilnika pospeška
Za interakcijo s tem projektom potrebujemo dve glavni vrsti senzorjev: merilnik pospeška in senzor upogibanja. Te bomo pregledali naenkrat, začenši z merilnikom pospeška. Najprej potrebujemo povezave strojne opreme.
Da se izognete poškodbam šesterokotnika, priporočamo, da skozi željena vrata vstavite vijak #2 in podložko, nato pa pritrdite vse povezave na ta vijak. Da se pri igranju z rokavico nič ne bi ohlapilo, je treba spoje spajkati in/ali stisniti. Z nekaj centimetri žice za vsako povezavo naredite naslednje povezave od šestkotnika do merilnika pospeška (za referenco glejte zgornje odtise):
VHODNA NAPETOST VINGROUND GNDSCL/D3 SCLSDA/D2 SDA
Ko je vse povezano, smo pripravljeni na preizkus!
Kot test zaženite vzorčno kodo merilnika pospeška v Arduinu (Datoteka-> Primeri-> Adafruit_MMA8451-> MMA8451demo) in se prepričajte, da se lahko odda na serijski monitor. Pospešek zaradi gravitacije (~ 10m/s) mora v smeri z oddajati v ravnini. Z nagibom merilnika pospeška se bo ta pospešek meril v smeri x ali y; to bomo uporabili, da uporabniku omogočimo spreminjanje zvoka z vrtenjem roke!
Zdaj moramo podatke merilnika pospeška predstaviti tako, da jih je mogoče povezati z Max. Če želite to narediti, moramo natisniti vrednosti x in y, morda spremenjene tako, da ustrezajo želenemu obsegu (glej 6. del). V naši priloženi kodi naredimo naslednje:
// Izmerite smer x in y. Delimo in množimo, da pridemo v prava območja za MAX (razpon 1000 v x in 40 v y) xdir = event.acceleration.x/0,02; ydir = abs (event.acceleration.y)*2; // Natisni vse v berljivi obliki za Max - s presledki med vsako številko Serial.print (xdir); Serial.print ("");
To bi moralo imeti šestkotno tiskanje spremenjenih vrednosti smeri x in y merilnika pospeška v vsaki vrstici. Zdaj smo pripravljeni dodati senzorje upogibanja!
4. korak: Pritrditev upogljivih senzorjev
Uporabnik lahko dobi veliko potencialnih kontrol zvoka, če zaznamo upogibne prste. Senzorji flex bodo naredili prav to. Vsak upogljivi senzor je v bistvu potenciometer, kjer ima upognjen upor ~ 25KΩ, medtem ko ima popolnoma upognjen upor ~ 100KΩ. Vsak senzor upogiba postavimo v preprost razdelilnik napetosti z uporom 50K, kot je prikazano na prvi sliki.
Spet z uporabo dokaj kratkih žic (ne pozabite, da bo vse to pritrjeno na zadnjo stran rokavice), spajkajte štiri napetostne delilne module. Štirje moduli bodo imeli isti Vin in ozemljitev, ki smo jih zvili skupaj s slečenih koncev žic, tako da bi imeli le eno žico za spajkanje. Nazadnje vzemite štiri module in vzpostavite povezave, prikazane na drugi sliki (če kdo ve, kako to storiti, ne da bi naredil grozno zapleteno zmešnjavo, naj razkrije svoje skrivnosti).
Zdaj potrebujemo kodo Arduino za branje napetosti vsakega senzorja. Za naše namene smo senzorje upogibnosti obravnavali kot stikala; so bili vključeni ali izključeni. Kot taka naša koda preprosto nastavi prag napetosti nad tem pragom, na zaporedna vrata oddamo 1 (kar pomeni, da je senzor upognjen), sicer pa iznesemo 0:
// Vzemite nekaj
analognih vzorcev in jih seštejte za vsak senzor Flex
while (vzorec_štev <NUM_SAMPLES) {
sum10 += analogRead (A10);
sum9 += analogRead (A9);
sum7 += analogRead (A7);
sum11 += analogRead (A11);
vzorec_štetje ++;
// Kratek zamik, da jih ne vzamemo prehitro
zamuda (5);
}
// izračunamo napetost, povprečenje za hitre vzorce
// za 5.0V ADC uporabite 5.0
referenčna napetost
// 5,015V je umerjeno
referenčna napetost
napetost10 = ((plavajoča) vsota10 /
(plavajoče) NUM_SAMPLES * 5.015) / 1024.0;
napetost9 = ((plavajoča) vsota9/
(plavajoče) NUM_SAMPLES * 5.015) / 1024.0;
napetost7 = ((plavajoča) vsota7 /
(plavajoče) NUM_SAMPLES * 5.015) / 1024.0;
napetost11 = ((plavajoča) vsota11 /
(plavajoče) NUM_SAMPLES * 5.015) / 1024.0;
// Preverite, ali je vsak senzor upogibanja
je večji od praga (prag) - če je tako, nastavite številko
// Pinkie prst
če (napetost10> prag)
{
//-5 za dvig
glas za eno oktavo
flex10 = -10;
}
else flex10 = 0;
//Prstanec
če (napetost9>
(prag-0,4)) {
// 5 za znižanje
glas za eno oktavo
flex9 = 5;
}
else flex9 = 0;
//Sredinec
če (napetost7> prag) {
// 1 za nastavitev
odmevni učinek
flex7 = 1;
}
else flex7 = 0;
//Kazalec
če (napetost11> prag)
{
// 50 za nastavitev
ciklov do 50
flex11 = 93;
}
else flex11 = 0;
// Ponastavi vse štetje
spremenljivko na 0 za naslednjo zanko
število vzorcev = 0;
vsota10 = 0;
vsota9 = 0;
vsota7 = 0;
vsota11 = 0;
Na tem mestu bi morala serijska vrata prikazati vrednosti za usmerjenost merilnika pospeška in tudi, ali je vsak senzor upogiba upognjen. Pripravljeni smo, da se naša koda Arduino pogovarja z Maksom!
5. korak: Povezovanje z Max
Zdaj, ko šestnajstiška koda pljuva veliko številk skozi serijska vrata, potrebujemo programsko opremo Max za branje teh signalov. Zgornji blok kode počne ravno to! Ste zelo dobrodošli.
Pomembno opozorilo: ko naložite kodo v Hex, zaprite vsa okna zaporednih vrat in nato spremenite obkroženo črko v kodi Max tako, da se ujema s šestnajstimi vrati. Če niste prepričani, katero črko naj nastavite, s pritiskom na del »tiskanje« kode Max označite vsa povezana vrata.
Natisnjena vrstica iz serijskih vrat Hex se prebere skozi blok kode Max in nato razdeli na podlagi ločilnikov prostora. Izhod na koncu bloka Max vam omogoča, da vzamete vsako številko posebej, zato bomo prvi izhodni prostor povezali tja, kamor želimo, da gre smer x merilnika pospeška, drugi prostor bo smer y itd. zdaj jih le povežite s številskimi bloki, da zagotovite njihovo delovanje. Morali bi premakniti merilnike pospeška in senzorje upogibanja ter videti spremembe v programski opremi Max.
6. korak: Ustvarjanje preostale kode Max
Glede na moč jezika Max lahko tukaj resnično pustite domišljijo z vsemi načini, kako lahko spremenite dohodni zvočni signal s svojo čarobno rokavico. Če pa vam zmanjka idej, je zgoraj povzetek, kaj naša Max koda počne in kako deluje.
Za vsak parameter, ki ga poskušate spremeniti, se boste verjetno želeli poigravati z obsegom vrednosti, ki prihajajo iz kode Arduino, da boste dobili ravno pravo občutljivost.
Nekaj drugih nasvetov za odpravljanje težav Max:
- Če ne slišite zvoka
- prepričajte se, da je Max nastavljen za sprejemanje zvoka iz vašega mikrofona (možnosti avdio vhodna naprava)
- Prepričajte se, da je drsnik Master Volume v Maxu privzet in kateri koli drugi gumbi za glasnost, ki jih imate v kodi
-
Če se zdi, da koda ne počne ničesar
- Poskrbite, da je vaš obliž zaklenjen (simbol ključavnice v spodnjem levem kotu)
- z odčitki v popravku Max zagotovite, da vaš popravek Max še vedno prejema podatke iz serijskih vrat Arduino. Če ne, poskusite ponastaviti serijska vrata (kot je opisano v 5. koraku) in/ali preverite fizične povezave ožičenja.
-
Nenavaden izrezovalni zvok pri spreminjanju parametrov
to je povezano s tem, kako delujeta ~ tapin in ~ tapout; natančneje, da ko spremenite njihove vrednosti, se ponastavijo, kar povzroči odrezovanje. Glede na omejeno znanje o programu smo skoraj prepričani, da je v Maxu to boljši način in odpraviti težavo …
7. korak: Dobesedno združite vse skupaj
Zdaj ostane le, da naše vezje pritrdimo na rokavico. Vzemite dodatno tkanino in izrežite trakove, nekoliko večje od senzorjev upogibanja. Dodatno tkanino prišite na prst rokavice, kjer se upogne člen, pri čemer pustite nekakšen rokav, v katerem lahko sedi senzor upogiba (senzorjev upogiba ne moremo le prilepiti neposredno na rokavico, ker se tkanina rokavic raztegne, ko se prsti upognejo)). Ko je rokav večinoma prišit, potisnite senzor upogibanja in previdno prišite vodila do rokavice ter pritrdite senzor upogiba. To ponovite za vsak senzor upogibanja.
Nato uporabite samolepilni varnostni zatič, da pritrdite šesterokotnik na zadnjo stran rokavice (na zatič boste morda želeli nanesti nekaj vročega lepila, da se prepričate, da se med obrabo ne razveže). Merilnik pospeška prišite na zapestje rokavice. Nazadnje, uporabite čarovnijo zadrge, da lepo očistite vse grde žice.
Pripravljeni ste preizkusiti svojo vrhunsko pevsko rokavico! (Močno priporočamo, da Daft Punk "Harder Better Faster Stronger" v celoti pokaže svoje sposobnosti spreminjanja glasu)
Priporočena:
Nosljiva tehnika Parkinsonove bolezni: 4 koraki
Nosljiva tehnologija za Parkinsonovo bolezen: Več kot 10 milijonov ljudi po vsem svetu živi s Parkinsonovo boleznijo (PD). Progresivna motnja živčnega sistema, ki povzroča togost in vpliva na bolnikovo gibanje. Preprosteje povedano, veliko ljudi je trpelo za Parkinsonovo boleznijo, vendar
Voicetron - Igrača za snemanje glasu: 40 korakov (s slikami)
Voicetron - Igrača za snemanje glasu: Ta naprava je bila ustvarjena za užitek in navdih za vse, ki bi radi naredili preprost snemalnik zvoka za svoje otroke ali kot okras ali uporabo v Geocachingu ali v sobah za pobeg. Možnosti je veliko. Pa pojdimo na to
Nosljiva tehnika za otroke: Hero Trak: 4 koraki
Wearable Tech for Kids: Hero Armband: Ta navodila bodo obravnavala, kako narediti "hero trak", ki zasveti, ko ga nosite. Z uporabo prevodnega traku iz tkanine, prevodnega navoja in LED za šivanje je to odlična aktivnost za učence, da se naučijo osnov vezja in nosljive tehnologije. Te
Ustvarite svoj IR zvok, oddajnik glasu: 6 korakov
Ustvarite lasten IR zvok, oddajnik glasu: Osnovno načelo uporabe mojega projekta je zvok, ki ga povzroča infrardeča (laserska) vibracija, ki nato prejme infrardeči vibracijski signal na infrardeči sprejemni diodi sprejemnega vezja, signal pa se demodulira na doseči slabšanje zvoka
Nosljiva tehnika: zračni bobni: 5 korakov
Wearable Tech: Air Drums: Naš cilj tega projekta je bil izdelati komplet nosljivih bobnov iz nekaterih merilnikov pospeška in piezo diskov. Zamisel je bila, da bi ob udarcu roke zaigral hrup zanke; ali pa bi se ob pritisku stopala predvajal zvok hi-hat ali bas bobna. Nadzorovati