Sisukord:
- Samm: materjalid
- Samm: tarkvara installimine
- Samm: kiirendusmõõturi kinnitamine
- Samm: painduvate andurite kinnitamine
- Samm: liidestamine max
- 6. samm: ülejäänud maksimaalse koodi loomine
- Samm 7: sõna otseses mõttes kõik kokku panna
Video: Kantav tehnika: hääle muutmise kinnas: 7 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Tundub, et uskumatute jõududega kindad on tänapäeval moes. Kuigi Thanose Infinity Gauntlet on päris võimas kinnas, tahtsime teha kinda, mis võiks midagi veelgi tähelepanuväärsemat teha: muuta kasutaja häält reaalajas.
See juhendamine annab ülevaate sellest, kuidas me häält muutva kinda kujundasime. Meie disain kasutas liikumiste tuvastamiseks kindas erinevaid andureid ja mikrokontrollerit, mis saadeti Arduino koodi kaudu Max plaastrile, kus meie helisignaali muudeti ja moonutati lõbusalt. Spetsiaalsed andurid, liigutused ja heli muutmised, mida me kasutasime, on kõik erinevatel kaalutlustel paindlikud; see on vaid üks võimalus häält muutva kinda loomiseks!
See projekt oli osa kogukonna partnerlusest Pomona kolledži üliõpilaste ja Fremonti inseneriakadeemia vahel. See on tõeline lõbus segu elektroonikatehnikast ja elektroonilise muusika elementidest!
Samm: materjalid
Osad:
- HexWeari mikrokontroller (ATmega32U4) (https://hexwear.com/)
- Kiirendusmõõtur MMA8451 (https://www.adafruit.com/product/2019)
- Lühikesed painduvad andurid (x4) (https://www.adafruit.com/product/1070)
- Kerge jooksukinnas
- #2 kruvi ja seibi (x8)
- Klambriklemmide pistikud; 22-18 gabariit (x8) (https://www.elecdirect.com/crimp-wire-terminals/ring-crimp-terminals/pvc-ring-terminals/ring-terminal-pvc-red-22-18-6- 100 tk)
- 50 kΩ takisti (x4)
- Traat (~ 20 gabariit)
- Isekleepuv haaknõel
- Vilt või muu kangas (~ 10 ruutmeetrit)
- Õmblusniit
- Tõmblukud
- Sülearvuti
- USB -mikrofon
Tööriistad
- Jootekomplekt
- Traadi eemaldajad ja traadi lõikurid
- Elektriline lint
- Kuuma õhu relv
- Kruvikeeraja
- Käärid
- Õmblusnõel
Tarkvara:
- Max by Cycling '74 (https://cycling74.com)
- Arduino tarkvara (https://www.arduino.cc/en/Main/Software)
Samm: tarkvara installimine
Alustame sellest, mis on tõeliselt kõige põnevam osa projektist: raamatukogude (ja muu) installimine.
Arduino:
Laadige alla ja installige Arduino tarkvara (https://www.arduino.cc/en/Main/Software).
HexWear:
1) (ainult Windows, Maci kasutajad saavad selle sammu vahele jätta) Installige draiver, külastades aadressi https://www.redgerbera.com/pages/hexwear-driver-installation. Laadige alla ja installige draiver (lingitud RedGerbera lehe ülaosas 2. toimingus loetletud.exe -fail).
2) Installige Hexware jaoks vajalik raamatukogu. Avage Arduino IDE. Valige jaotises „Fail” „Eelistused”. Kleepige lisatahvlite halduri URL -ide jaoks ette nähtud ruumi
github.com/RedGerbera/Gerbera-Boards/raw/master/package_RedGerbera_index.json.
Seejärel klõpsake "OK".
Avage Tööriistad -> Juhatus: -> Juhatuse haldur. Valige vasakus ülanurgas asuvast menüüst „Kaasatud”.
Otsige üles ja seejärel klõpsake nuppu Gerbera Boards ja klõpsake Install. Sulgege Arduino IDE ja avage see uuesti.
Teegi nõuetekohase installimise tagamiseks avage Tööriistad -> Tahvel ja kerige menüü alla. Peaksite nägema jaotist pealkirjaga „Gerbera lauad”, mille all peaks olema vähemalt HexWear (kui mitte rohkem tahvleid nagu mini-HexWear).
Kiirendusmõõtur:
Laadige alla ja installige kiirendusmõõturite kogu (https://learn.adafruit.com/adafruit-mma8451-accelerometer-breakout/wiring-and-test)
Samm: kiirendusmõõturi kinnitamine
Selle projektiga suhtlemiseks vajame kahte peamist tüüpi andureid: kiirendusmõõtur ja paindeandurid. Uurime neid ükshaaval, alustades kiirendusmõõturist. Esiteks vajame riistvaraühendusi.
Kuusnurga kahjustamise vältimiseks soovitame kruvid ja seibid nr 2 läbi soovitud pordide panna ja seejärel kõik ühendused selle kruvi külge kinnitada. Et kinnastega mängides midagi lahti ei tuleks, tuleks ühendused jootma ja/või krimpsutada. Kasutades iga ühenduse jaoks mõne tolli traati, tehke Hexist kiirendusmõõturiga järgmised ühendused (vt ülaltoodud pistikuid):
Sisendpinge VINGROUND GNDSCL/D3 SCLSDA/D2 SDA
Kui kõik on ühendatud, oleme testimiseks valmis!
Testina käivitage kiirendusmõõturi proovikood Arduinos (Fail-> Näited-> Adafruit_MMA8451-> MMA8451demo), veendudes, et see saab väljuda jadamonitorile. See peaks andma gravitatsioonist tuleneva kiirenduse (~ 10 m/s) z suunas, kui seda hoitakse tasemel. Kiirendusmõõturit kallutades mõõdetakse seda kiirendust x või y suunas; me kasutame seda, et võimaldada kandjal kätt pöörates heli muuta!
Nüüd peame kiirendusmõõturi andmed esitama nii, et neid saaks liidestada Maxiga. Selleks peame printima x ja y väärtused, võib -olla soovitud vahemikule vastavaks muudetud (vt 6. osa). Siin lisatud koodis teeme järgmist.
// Mõõtke x-suund ja y-suund. Jagame ja korrutame, et jõuda MAX -i õigesse vahemikku (vahemik 1000 x ja vahemik 40 y) xdir = event.acceleration.x/0.02; ydir = abs (sündmus.kiirendus.y)*2; // Printige kõik Maxi jaoks loetavas vormingus - tühikutega iga numbri vahel Serial.print (xdir); Serial.print ("");
Sel juhul peaks Hex prindima kiirendusmõõturi x ja y suuna muudetud väärtused igale reale. Nüüd oleme valmis paindeandureid lisama!
Samm: painduvate andurite kinnitamine
Kui suudame sõrmede painutamist tuvastada, saab kandja saada palju potentsiaalseid helikontrolli. Painduvad andurid teevad just seda. Iga paindeandur on sisuliselt potentsiomeeter, kus paindumatu takistus on ~ 25KΩ, täielikult painutatuna aga takistus ~ 100KΩ. Panime iga paindeanduri lihtsasse 50K takisti pingejaotajasse, nagu on näidatud esimesel pildil.
Jällegi, kasutades üsna lühikest traati (pidage meeles, et see kõik sobib kinda tagaküljele), jootke neli pingejaotusmoodulit. Neljal moodulil on sama Vin ja maandus-keerasime juhtmete kooritud otsad kokku, nii et meil oleks jootmiseks vaid üks juhe. Lõpuks võtke neli moodulit ja ühendage teisel pildil näidatud ühendused (kui keegi teab, kuidas seda teha ilma kohutavalt sassis segadust tekitamata, paljastage palun oma saladused).
Nüüd vajame iga anduri pingete lugemiseks Arduino koodi. Meie jaoks käsitlesime paindeandureid lülititena; need olid sisse või välja lülitatud. Sellisena määrab meie kood lihtsalt pingeläve sellest künnisest kõrgemale, väljastame jadaporti 1 (see tähendab, et andur on painutatud), vastasel juhul väljastame 0:
// Võtke hulk
analoogproove ja lisage need iga Flex -anduri kohta
samas (proovi_arv <NUM_SAMPLES) {
summa10 += analoogLoe (A10);
summa9 += analoogLoe (A9);
summa7 += analoogLoe (A7);
summa11 += analoogLoe (A11);
proovi_arv ++;
// Lühike viivitus, et mitte neid liiga kiiresti võtta
viivitus (5);
}
// arvutage pinge, kiirete proovide keskmine
// 5,0 V ADC jaoks kasutage 5.0
võrdluspinge
// 5.015V on kalibreeritud
võrdluspinge
pinge10 = ((ujuk) summa10 /
(hõljuk) NUM_SAMPLES * 5,015) / 1024,0;
pinge9 = ((ujuk) summa9/
(hõljuk) NUM_SAMPLES * 5,015) / 1024,0;
pinge7 = ((ujuk) summa7 /
(hõljuk) NUM_SAMPLES * 5,015) / 1024,0;
pinge11 = ((ujuk) summa11 /
(hõljuk) NUM_SAMPLES * 5,015) / 1024,0;
// Kontrollige, kas iga paindeandur
on suurem kui künnis (künnis) - kui jah, siis määrake number
// Pinkie sõrm
kui (pinge10> künnis)
{
//-5 tõsta
häälheli ühe oktaavi võrra
flex10 = -10;
}
muidu flex10 = 0;
//Sõrmusesõrm
kui (pinge9>
(threes-0,4)) {
// 5 alla
häälheli ühe oktaavi võrra
flex9 = 5;
}
muidu flex9 = 0;
//Keskmine sõrm
if (pinge7> künnis) {
// 1 määrata
reverbi efekt
flex7 = 1;
}
muidu flex7 = 0;
// Nimetissõrm
kui (pinge11> künnis)
{
// 50 seada
tsüklit kuni 50
flex11 = 93;
}
muidu flex11 = 0;
// Lähtesta kogu loendus
muutuja kuni 0 järgmise silmuse jaoks
proovi_arv = 0;
summa10 = 0;
summa9 = 0;
summa7 = 0;
summa11 = 0;
Siinkohal peaks jadaport näitama kiirendusmõõturi orientatsiooni väärtusi ja ka seda, kas iga paindeandur on painutatud. Oleme valmis oma Arduino koodi Maxiga rääkima!
Samm: liidestamine max
Nüüd, kui Hex -kood sülitab palju numbreid läbi jadapordi, vajame nende signaalide lugemiseks tarkvara Max. Ülaltoodud koodiplokk teeb just seda! Olete väga teretulnud.
Oluline märkus: pärast koodi Hex -i üleslaadimist sulgege kõik jadapordi aknad ja muutke Max -koodi ringikujuline täht Hex -porti sobivaks. Kui te pole kindel, millist tähte määrata, kuvatakse Max -koodi printimisosa vajutades kõik ühendatud pordid.
Hexi jadapordist prinditud rida loetakse Max -koodiploki kaudu ja jagatakse seejärel tühikutega. Väljund Max ploki lõpus võimaldab teil haarata iga numbri eraldi, nii et me ühendame esimese väljundruumi sinna, kuhu soovime kiirendusmõõturi x -suunda minna, teine tühik on y -suund jne. Nüüd ühendage need lihtsalt numbriplokkidega, et tagada nende toimimine. Teil peaks olema võimalik kiirendusmõõturit ja paindeandureid liigutada ning näha, kuidas numbrid Max tarkvaras muutuvad.
6. samm: ülejäänud maksimaalse koodi loomine
Arvestades Maxi keele võimsust, võite siin tõesti oma fantaasial lennata lasta kõigil viisidel, kuidas oma maagilise jõukindaga sissetulevat helisignaali muuta. Kui aga ideed otsa saavad, on ülaltoodud ülevaade sellest, mida meie Max -kood teeb ja kuidas see toimib.
Iga parameetri puhul, mida proovite muuta, soovite tõenäoliselt paraja tundlikkuse saamiseks segi ajada Arduino koodist tulenevate väärtuste vahemikuga.
Mõned muud Maxi tõrkeotsingu näpunäited:
-
Kui te ei kuule heli
- veenduge, et Max on seadistatud heli vastu võtma teie mikrofonilt (valikud Audio oleku sisendseade)
- veenduge, et Maxi helitugevuse liugur on üles keeratud ja kõik muud helitugevuse juhtnupud, mis teie koodis võivad olla
-
Kui tundub, et kood ei tee midagi
- veenduge, et plaaster oleks lukustatud (lukusümbol vasakus alanurgas)
- veenduge Maxi plaastri näitude kaudu, et teie Max -plaaster saab endiselt andmeid Arduino jadaportist. Kui ei, proovige jadaport lähtestada (nagu kirjeldatud 5. toimingus) ja/või kontrollige oma füüsilisi juhtmestiku ühendusi.
-
Kummalised lõikamishelid parameetrite muutmisel
see on midagi seotud sellega, kuidas ~ tapin ja ~ tapout töötavad; täpsemalt, et nende väärtuste muutmisel lähtestatakse need, mis põhjustab lõikamise. Arvestades meie piiratud teadmisi programmist, oleme peaaegu kindlad, et Maxis on selleks parem viis ja probleem kõrvaldatakse …
Samm 7: sõna otseses mõttes kõik kokku panna
Nüüd jääb üle vaid kinnitada oma skeem kinda külge. Võtke oma täiendav kangas ja lõigake ribad välja veidi suuremad kui paindeandurid. Õmble lisakangas kinda sõrmele, kus sõrm paindub, jättes painduvale andurile istumiseks mingi varruka (me ei saa paindeandureid lihtsalt kinnasesse liimida, sest kindakangas venib sõrmede paindumisel). Kui varrukas on enamasti õmmeldud, libistage paindeandur sisse ja õmble juhtmed ettevaatlikult kinda külge, kinnitades paindeanduri oma kohale. Korrake seda iga paindeanduri puhul.
Järgmisena kasutage isekleepuvat haaknõela, et kinnitada kuuskant kinnase tagaküljele (võite panna tihvtile kuuma liimi, et veenduda, et see kulumise ajal lahti ei lähe). Õmble kiirendusmõõtur kinda randme külge. Lõpuks kasutage tõmblukkude maagiat, et ilustamata juhtmed ilusti puhastada.
Olete valmis proovile panema oma ülima laulujõukinda! (Soovitame tungivalt Daft Punk'i „Harder Better Faster Stronger”, et näidata oma hääle muutmise võimalusi täielikult)
Soovitan:
Parkinsoni tõvega kantav tehnika: 4 sammu
Parkinsoni tõvega kantav tehnika: üle 10 miljoni inimese kogu maailmas elab Parkinsoni tõvega (PD). Progressiivne närvisüsteemi häire, mis põhjustab jäikust ja mõjutab patsiendi liikumist. Lihtsamalt öeldes kannatasid paljud inimesed Parkinsoni tõve all, kuid
[Kantav hiir] Bluetooth-põhine kantav hiirekontroller Windows 10 ja Linuxi jaoks: 5 sammu
[Kantav hiir] Bluetooth-põhine kantav hiirekontroller Windows 10 ja Linuxi jaoks: tegin Bluetooth-põhise hiirekontrolleri, mida saab kasutada hiirekursori juhtimiseks ja arvutihiirega seotud toimingute tegemiseks lennult, puudutamata ühtki pinda. Kinda külge kinnitatud elektroonilist vooluringi saab kasutada h
Lastele kantav tehnika: kangelasrihm: 4 sammu
Lastele kantav tehnika: kangelase käepael: see juhend annab ülevaate sellest, kuidas teha kangelasrihma, mis süttib kandmisel. Juhtivat kangast linti, juhtivat niiti ja õmmeldavaid LED -e kasutades on see suurepärane tegevus kooliõpilastele ahelate ja kantavate tehnoloogiate põhitõdede õppimiseks. Sina
Kantav tehnika: õhutrumlid: 5 sammu
Kantav tehnika: õhutrumlid: Meie eesmärk selle projekti jaoks oli valmistada mõnest kiirendusmõõturist ja piesokettast kantav trummikomplekt. Mõte oli selles, et kui käega lüüa, mängib lõksumüra; või jala vajutamisega mängiks hi-hat või bassitrummi heli. Juhtima
Infigo - (tehisintellekti jõul kantav kinnas): 9 sammu
Infigo - (tehisintellekti jõul kantav kinnas): Infigo on tehisintellektiga töötav kantav kinnas, mis põhineb abitehnoloogia (AT) põhimõtetel, mis suurendab kahjustatud ühiskonna tootlikkust. Tehisintellekt ja masinõpe ei saa asendada inimeste interaktsiooni