Sadržaj:
- Korak 1: Materijali
- Korak 2: Instaliranje softvera
- Korak 3: Priključivanje mjerača brzine
- Korak 4: Priključivanje savitljivih senzora
- Korak 5: Povezivanje s Max
- Korak 6: Izgradnja ostatka najvećeg koda
- Korak 7: Doslovno sve spojite
Video: Nosiva tehnika: Rukavica za promjenu glasa: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Pa, čini se da su rukavice s nevjerojatnim moćima danas u modi. Iako je Thanos's Infinity Gauntlet prilično moćna rukavica, htjeli smo napraviti rukavicu koja bi mogla učiniti nešto još izvanrednije: promijeniti glas korisnika u stvarnom vremenu.
Ovaj Instructable pruža uvid u to kako smo osmislili rukavicu za promjenu glasa. Naš dizajn je koristio različite senzore i mikrokontroler u rukavici za detekciju pokreta, koji su putem Arduino koda poslani na Max patch, gdje je naš zvučni signal tada promijenjen i izobličen na zabavan način. Specifični senzori, pokreti i izmjene zvuka koje smo koristili fleksibilni su za različita razmatranja; ovo je samo jedan način za stvaranje rukavice za promjenu glasa!
Ovaj je projekt bio dio partnerstva zajednice između studenata Fakulteta Pomona i Fremont Academy of Engineering Femineers. To je prava zabavna mješavina elektroničkog inženjeringa i elemenata elektroničke glazbe!
Korak 1: Materijali
Dijelovi:
- Mikrokontroler HexWear (ATmega32U4) (https://hexwear.com/)
- MMA8451 Akcelerometar (https://www.adafruit.com/product/2019)
- Kratki savitljivi senzori (x4) (https://www.adafruit.com/product/1070)
- Lagane rukavice za trčanje
- #2 vijci i podloške (x8)
- Priključci stezaljki za stezanje; 22-18 kolosijek (x8) (https://www.elecdirect.com/crimp-wire-terminals/ring-crimp-terminals/pvc-ring-terminals/ring-terminal-pvc-red-22-18-6- 100pk)
- 50kΩ otpornik (x4)
- Žica (mjerač ~ 20)
- Samoljepljiva sigurnosna igla
- Filc ili druga tkanina (~ 10 sq. In.)
- Konac za šivanje
- Zipties
- Prijenosno računalo
- USB mikrofon
Alati
- Komplet za lemljenje
- Skidači žice i rezači žice
- Električna traka
- Pištolj na topli zrak
- Odvijač
- Škare
- Igla za šivanje
Softver:
- Max biciklizmom '74 (https://cycling74.com)
- Arduino softver (https://www.arduino.cc/en/Main/Software)
Korak 2: Instaliranje softvera
Počinjemo s onim što je uistinu najuzbudljiviji dio svakog projekta: instaliranjem knjižnica (i više).
Arduino:
Preuzmite i instalirajte softver Arduino (https://www.arduino.cc/en/Main/Software).
HexWear:
1) (Samo Windows, korisnici Mac računala mogu preskočiti ovaj korak) Instalirajte upravljački program posjetom https://www.redgerbera.com/pages/hexwear-driver-installation. Preuzmite i instalirajte upravljački program (.exe datoteka navedena u 2. koraku na vrhu povezane stranice RedGerbera).
2) Instalirajte potrebnu biblioteku za Hexware. Otvorite Arduino IDE. U odjeljku "Datoteka" odaberite "Postavke". Zalijepite u prostor predviđen za dodatne URL -ove upravitelja ploča
github.com/RedGerbera/Gerbera-Boards/raw/master/package_RedGerbera_index.json.
Zatim kliknite "U redu".
Idite na Alati -> Uprava: -> Upravitelj odbora. Na izborniku u gornjem lijevom kutu odaberite "Doprinos".
Potražite, a zatim kliknite Gerbera Boards i kliknite Install. Zatvorite i ponovno otvorite Arduino IDE.
Kako biste bili sigurni da je knjižnica ispravno instalirana, idite na Alati -> Ploča i pomaknite se do dna izbornika. Trebali biste vidjeti odjeljak pod naslovom "Gerbera ploče", pod kojim bi se trebao pojaviti barem HexWear (ako ne i više ploča poput mini-HexWear-a).
Brzinomjer:
Preuzmite i instalirajte biblioteku akcelerometra (https://learn.adafruit.com/adafruit-mma8451-accelerometer-breakout/wiring-and-test)
Korak 3: Priključivanje mjerača brzine
Za interakciju s ovim projektom potrebne su nam dvije glavne vrste senzora: mjerač ubrzanja i senzori savijanja. Ispitati ćemo ih jedan po jedan, počevši od mjerača ubrzanja. Prvo, potrebne su nam hardverske veze.
Kako ne biste oštetili svoj Hex, preporučujemo da stavite vijak #2 i podlošku kroz željene priključke, a zatim pričvrstite sve veze na taj vijak. Kako se ništa ne bi olabavilo tijekom igre s rukavicom, spojeve treba zalemiti i/ili presaviti. Koristeći nekoliko centimetara žice za svaku vezu, napravite sljedeće veze od šestougaonika do mjerača ubrzanja (za upute pogledajte gornje spojeve):
ULAZNI NAPON VINGROUND GNDSCL/D3 SCLSDA/D2 SDA
Sa svim ožičenim, spremni smo za testiranje!
Kao test, pokrenite uzorak koda akcelerometra u Arduinu (Datoteka-> Primjeri-> Adafruit_MMA8451-> MMA8451demo), pazeći da se može ispisati na serijski monitor. On bi trebao ubrzati uslijed gravitacije (~ 10m/s) u smjeru z kada se drži u ravnini. Naginjanjem mjerača ubrzanja, ovo će se ubrzanje mjeriti u smjeru x ili y; upotrijebit ćemo ovo da korisniku omogućimo promjenu zvuka okretanjem ruke!
Sada moramo podatke akcelerometra prikazati na takav način da se mogu povezati s Maxom. Da bismo to učinili, moramo ispisati vrijednosti x i y, možda modificirane tako da odgovaraju željenom rasponu (vidi dio 6). U našem priloženom kodu radimo sljedeće:
// Izmjerite smjer x i smjer y. Dijelimo i množimo da bismo ušli u prave raspone za MAX (raspon 1000 u x i raspon 40 u y) xdir = event.acceleration.x/0.02; ydir = abs (događaj.ubrzanje.y)*2; // Ispis svega u čitljivom formatu za Max - s razmacima između svakog broja Serial.print (xdir); Serial.print ("");
To bi trebalo imati Hex ispisivanje izmijenjenih vrijednosti smjerova x i y akcelerometra u svakom retku. Sada smo spremni za dodavanje fleks senzora!
Korak 4: Priključivanje savitljivih senzora
Nositelj može dobiti mnogo potencijalnih kontrola zvuka ako možemo otkriti savijene prste. Flex senzori će učiniti upravo to. Svaki senzor savijanja u biti je potenciometar, gdje nesavitljiv ima otpor ~ 25KΩ, dok potpuno savijen ima otpor ~ 100KΩ. Svaki senzor savijanja stavljamo u jednostavan razdjelnik napona s 50K otpornikom, kao što je prikazano na prvoj slici.
Opet koristeći prilično kratke žice (imajte na umu da će sve to stati na stražnju stranu rukavice), lemite četiri modula razdjelnika napona. Četiri modula dijelit će isti Vin i uzemljenje-upleli smo ogoljene krajeve žica kako bismo imali samo jedan kabel za lemljenje. Na kraju, uzmite četiri modula i uspostavite veze prikazane na drugoj slici (ako netko zna kako to učiniti bez stvaranja užasno zamršenog nereda, otkrijte svoje tajne).
Sada nam je potreban Arduino kod za očitavanje napona sa svakog senzora. U naše svrhe, senzore savijanja tretirali smo kao prekidače; bili su ili uključeni ili isključeni. Kao takav, naš kôd jednostavno postavlja prag napona-iznad ovog praga, izlazimo 1 na serijski port (što znači da je senzor savijen), u suprotnom izlazimo 0:
// Uzmi broj
analognih uzoraka i zbrajaju ih za svaki Flex senzor
while (broj_uzoraka <NUM_SAMPLES) {
sum10 += analogRead (A10);
sum9 += analogRead (A9);
zbroj7 += analogno čitanje (A7);
zbroj11 += analogno čitanje (A11);
uzorak_broj ++;
// Kratko kašnjenje kako ih ne biste uzeli prebrzo
kašnjenje (5);
}
// izračunati napon, prosječno za brze uzorke
// koristiti 5.0 za 5.0V ADC
referentni napon
// 5.015V je kalibrirano
referentni napon
napon10 = ((plutajući) zbroj10 /
(plutajuće) NUM_SAMPLES * 5.015) / 1024.0;
napon9 = ((plutajući) zbroj9/
(plutajuće) NUM_SAMPLES * 5.015) / 1024.0;
napon7 = ((plutajući) zbroj7 /
(plutajuće) NUM_SAMPLES * 5.015) / 1024.0;
napon11 = ((plutajući) zbroj11 /
(float) NUM_SAMPLES * 5.015) / 1024.0;
// Provjerite svaki senzor savijanja
je veći od praga (prag) - ako je tako, postavite broj
//Mali prst
ako (napon10> prag)
{
//-5 za podizanje
visina glasa za jednu oktavu
flex10 = -10;
}
else flex10 = 0;
//Prstenjak
ako (napon9>
(prag-0,4)) {
// 5 do niže
visina glasa za jednu oktavu
flex9 = 5;
}
else flex9 = 0;
//Srednji prst
if (voltage7> thresh) {
// 1 za postavljanje
reverb efekt
flex7 = 1;
}
else flex7 = 0;
//Kažiprst
ako (napon11> prag)
{
// 50 za postavljanje
ciklusa do 50
flex11 = 93;
}
else flex11 = 0;
// Poništite sva odbrojavanja
varijabla na 0 za sljedeću petlju
broj_uzoraka = 0;
zbroj10 = 0;
zbroj9 = 0;
zbroj7 = 0;
zbroj11 = 0;
U ovom trenutku serijski priključak trebao bi pokazati vrijednosti za orijentaciju akcelerometra, kao i je li svaki savitljivi senzor savijen. Spremni smo za dobivanje našeg Arduino koda u razgovoru s Maxom!
Korak 5: Povezivanje s Max
Sada kada heksadecimalni kod pljuva mnogo brojeva kroz serijski port, potreban nam je softver Max za čitanje ovih signala. Blok koda na slici gore čini upravo to! Vi ste dobrodošli.
Važna napomena: nakon što učitate kôd na Hex, zatvorite sve prozore serijskog porta, a zatim promijenite zaokruženo slovo u Max kodu tako da odgovara Hex portu. Ako niste sigurni koje slovo postaviti, pritiskom na dio "print" u Max kodu prikazat će se svi povezani priključci.
Ispisani redak iz serijskog porta Hexa čita se kroz blok koda Max, a zatim se dijeli na temelju razdjelnika prostora. Izlaz na kraju Max bloka omogućuje vam hvatanje svakog broja pojedinačno, pa ćemo prvi izlazni prostor spojiti na mjesto na koje želimo da ide smjer x mjerila ubrzanja, drugi razmak bit će smjer y itd. sada, samo ih spojite na numeričke blokove kako biste bili sigurni da rade. Trebali biste moći pomicati mjerače ubrzanja i senzore savijanja te vidjeti promjene u softveru Max.
Korak 6: Izgradnja ostatka najvećeg koda
S obzirom na moć jezika Max, ovdje možete doista pustiti mašti na volju sa svim načinima na koje možete promijeniti dolazni zvučni signal svojom čarobnom rukavicom. Ipak, ako vam ponestane ideja, gore je pregled onoga što naš Max kod radi i kako radi.
Za svaki parametar koji pokušavate promijeniti vjerojatno ćete se htjeti petljati s rasponom vrijednosti koje dolaze iz Arduino koda kako biste dobili upravo odgovarajuću osjetljivost.
Neki drugi Max -ovi savjeti za rješavanje problema:
-
Ako ne čujete zvuk
- provjerite je li Max postavljen za primanje zvuka s vašeg mikrofona (opcije Audio Status Input Device)
- provjerite je li klizač Master Volume u Maxu uključen i sve ostale kontrole glasnoće koje možda imate u kodu
- Ako se čini da kôd ne radi ništa
- provjerite je li vaša zakrpa zaključana (simbol zaključavanja u donjem lijevom kutu)
- osigurajte putem očitanja u zakrpi Max da vaša zakrpa za Max još uvijek prima podatke s Arduino serijskog porta. Ako ne, pokušajte resetirati serijski port (kako je navedeno u koraku 5) i/ili provjerite fizičke veze ožičenja.
- Čudni zvukovi šišanja pri promjeni parametara
ovo ima veze s načinom na koji ~ tapin i ~ tapout rade; konkretno da se, kada promijenite njihove vrijednosti, resetiraju, što uzrokuje izrezivanje. S obzirom na naše ograničeno znanje o programu, gotovo smo sigurni da postoji bolji način za to u Maxu i riješiti problem …
Korak 7: Doslovno sve spojite
Sve što sada preostaje je priključiti naše strujno kolo na rukavicu. Uzmite dodatnu tkaninu i izrežite trake nešto veće od senzora savijanja. Prišite dodatnu tkaninu na prst rukavice gdje se zglob savija, ostavljajući svojevrsni rukav u koji će senzor savijanja sjediti (ne možemo samo zalijepiti senzore savijanja izravno na rukavicu jer se tkanina za rukavice rasteže dok se prsti savijaju). Nakon što je rukav većinom sašiven, gurnite senzor savijanja prema unutra i pažljivo prišijte vodove do rukavice, pričvršćujući senzor savijanja na mjestu. Ponovite ovo za svaki senzor savijanja.
Zatim upotrijebite samoljepljivu sigurnosnu iglu za pričvršćivanje šesterokutnika na stražnju stranu rukavice (možda biste htjeli staviti malo vrućeg ljepila na iglu kako biste bili sigurni da se neće poništiti tijekom nošenja). Prišijte mjerač ubrzanja do zapešća rukavice. Konačno, upotrijebite čaroliju patentnih zatvarača da lijepo očistite sve neugledne žice.
Spremni ste staviti na kušnju svoju vrhunsku pjevačku moć! (Možemo toplo preporučiti "Harder Better Faster Stronger" Daft Punka da u potpunosti pokažete svoje sposobnosti mijenjanja glasa)
Preporučeni:
Nosiva tehnika za djecu: Hero Traka: 4 koraka
Wearable Tech for Kids: Hero Armand: Ova instrukcija će pokriti kako napraviti 'hero traku' koja svijetli kada se nosi. Korištenjem vodljive trake od tkanine, vodljivog konca i LED za šivanje ovo je sjajna aktivnost za učenike da nauče osnove kola i nosive tehnologije. Te
Nosiva tehnika: Zračni bubnjevi: 5 koraka
Wearable Tech: Air Drums: Naš cilj ovog projekta bio je napraviti komplet nosivih bubnjeva od nekih akcelerometra i piezo diskova. Zamisao je bila da će se udarcem ruke zasvirati zvuk zamke; ili, s obzirom na pritisak stopala, zasvirao bi hi-hat ili zvuk bas bubnja. Za kontrolu
Maska za promjenu lica za promjenu lica - Budite bilo što: 14 koraka (sa slikama)
Maska za promjenu lica za promjenu lica - Budite bilo što: Što radite kada ne možete odlučiti što želite biti za Noć vještica? Budi sve. Maska za projekciju sastoji se od bijele 3D tiskane maske, pi od maline, malog projektora i baterije. Sposoban je projicirati sve i svašta
Infigo - (nosiva rukavica s umjetnom inteligencijom): 9 koraka
Infigo - (nosiva rukavica na bazi umjetne inteligencije): Infigo je nosive rukavice na bazi AI (umjetne inteligencije) zasnovane na načelima pomoćne tehnologije (AT) koja će povećati produktivnost oštećenog društva Umjetna inteligencija i strojno učenje ne mogu zamijeniti ljudsku inteligenciju
Čarobnjačka rukavica: Arduino kontrolna rukavica s kontrolerom: 4 koraka (sa slikama)
Wizard Glove: Arduino kontrolisana rukavica: The Wizard Glove. U mom projektu napravio sam rukavicu koju možete koristiti za igranje vaših omiljenih igara vezanih uz magiju na hladan i sveobuhvatan način koristeći samo nekoliko osnovnih arduino i arduino materijala. možete igrati igre poput starijih svitaka ili