Satura rādītājs:

Valkājama tehnika: balss maiņas cimds: 7 soļi
Valkājama tehnika: balss maiņas cimds: 7 soļi

Video: Valkājama tehnika: balss maiņas cimds: 7 soļi

Video: Valkājama tehnika: balss maiņas cimds: 7 soļi
Video: ЗАМЕРЗ В ЛЕСУ / ЖУТКИЙ ВОЙ ДЕМОНА В ЛЕСУ FROZEN IN THE FOREST / CREEPY DEMON WOWING IN THE FOREST 2024, Novembris
Anonim
Valkājama tehnika: balss maiņas cimds
Valkājama tehnika: balss maiņas cimds
Valkājama tehnika: balss maiņas cimds
Valkājama tehnika: balss maiņas cimds

Šķiet, ka mūsdienās dusmas ir cimdi ar neticamām spējām. Lai gan Thanos Infinity Gauntlet ir diezgan spēcīgs cimds, mēs vēlējāmies izgatavot cimdu, kas varētu darīt kaut ko vēl ievērojamāku: mainīt lietotāja balsi reāllaikā.

Šajā pamācībā ir sniegts pārskats par to, kā mēs izstrādājām balsi mainīgu cimdu. Mūsu dizainā tika izmantoti dažādi sensori un cimdā esošs mikrokontrolleris, lai noteiktu kustības, kuras, izmantojot Arduino kodu, tika nosūtītas uz Max plāksteri, kur pēc tam jautrā veidā tika mainīts un izkropļots mūsu audio signāls. Mūsu izmantotie īpašie sensori, kustības un skaņas izmaiņas ir elastīgas dažādu apsvērumu dēļ; tas ir tikai viens veids, kā izveidot balsi mainīgu cimdu!

Šis projekts bija daļa no kopienas partnerības starp Pomonas koledžas studentiem un Fremonta Inženieru akadēmiju. Tas ir īsts jautrs elektroniskās inženierijas un elektroniskās mūzikas elementu sajaukums!

1. solis: materiāli

Materiāli
Materiāli
Materiāli
Materiāli
Materiāli
Materiāli

Daļas:

  • HexWear mikrokontrolleris (ATmega32U4) (https://hexwear.com/)
  • Akselerometrs MMA8451 (https://www.adafruit.com/product/2019)
  • Īsi elastīgie sensori (x4) (https://www.adafruit.com/product/1070)
  • Viegls skriešanas cimds
  • #2 skrūves un paplāksnes (x8)
  • Gofrētie spaiļu savienotāji; 22-18 izmērs (x8) (https://www.elecdirect.com/crimp-wire-terminals/ring-crimp-terminals/pvc-ring-terminals/ring-terminal-pvc-red-22-18-6- 100 gab.)
  • 50 kΩ rezistors (x4)
  • Vads (~ 20 gab.)
  • Pašlīmējoša drošības tapa
  • Filcs vai cits audums (~ 10 kv. Collas)
  • Šūšanas diegi
  • Zipties
  • Klēpjdators
  • USB mikrofons

Rīki

  • Lodēšanas komplekts
  • Stiepļu noņēmēji un stieples griezēji
  • Elektriskā lente
  • Karstā gaisa pistole
  • Skrūvgriezis
  • Šķēres
  • Šūšanas adata

Programmatūra:

  • Maksimālais velosipēds '74 (https://cycling74.com)
  • Arduino programmatūra (https://www.arduino.cc/en/Main/Software)

2. darbība: programmatūras instalēšana

Mēs sākam ar to, kas patiesi ir visaizraujošākā jebkura projekta daļa: bibliotēku instalēšana (un vairāk).

Arduino:

Lejupielādējiet un instalējiet Arduino programmatūru (https://www.arduino.cc/en/Main/Software).

HexWear:

1) (tikai Windows, Mac lietotāji var izlaist šo darbību) Instalējiet draiveri, apmeklējot vietni https://www.redgerbera.com/pages/hexwear-driver-installation. Lejupielādējiet un instalējiet draiveri (.exe fails, kas norādīts 2. darbībā saistītās RedGerbera lapas augšdaļā).

2) Instalējiet Hexware nepieciešamo bibliotēku. Atveriet Arduino IDE. Sadaļā “Fails” atlasiet “Preferences”. Vietā, kas paredzēta papildu dēļu pārvaldnieka vietrāžiem URL, ielīmējiet

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

Pēc tam noklikšķiniet uz “Labi”.

Dodieties uz Rīki -> Padome: -> Valdes pārvaldnieks. Augšējā kreisā stūra izvēlnē atlasiet “Ieguldīts”.

Atrodiet un pēc tam noklikšķiniet uz Gerbera Boards un noklikšķiniet uz Instalēt. Iziet un vēlreiz atveriet Arduino IDE.

Lai pārliecinātos, ka bibliotēka ir pareizi instalēta, dodieties uz Rīki -> Padome un ritiniet līdz izvēlnes apakšai. Jums vajadzētu redzēt sadaļu ar nosaukumu “Gerbera dēļi”, zem kuras vismaz būtu jāparādās HexWear (ja ne vairāk dēļu, piemēram, mini HexWear).

Akselerometrs:

Lejupielādējiet un instalējiet akselerometra bibliotēku (https://learn.adafruit.com/adafruit-mma8451-accelerometer-breakout/wiring-and-test)

3. darbība: akselerometra piestiprināšana

Akselerometra piestiprināšana
Akselerometra piestiprināšana
Akselerometra piestiprināšana
Akselerometra piestiprināšana

Mums ir nepieciešami divi galvenie sensoru veidi, lai mijiedarbotos ar šo projektu: akselerometrs un elastīgie sensori. Mēs tos pārbaudīsim pa vienam, sākot ar akselerometru. Pirmkārt, mums ir nepieciešami aparatūras savienojumi.

Lai nesabojātu savu Hex, iesakām caur vēlamajām atverēm ievietot #2 skrūvi un paplāksni, pēc tam piestiprināt visus savienojumus pie šīs skrūves. Lai rotaļājoties ar cimdu nekas netiktu vaļīgs, savienojumiem jābūt pielodētiem un/vai gofrētiem. Katram savienojumam izmantojot dažas collas stieples, izveidojiet šādus savienojumus no Hex līdz akselerometram (skatiet iepriekš minētos kontaktus).

IEVADES spriegums VINGROUND GNDSCL/D3 SCLSDA/D2 SDA

Kad viss ir sakārtots, mēs esam gatavi pārbaudīt!

Lai pārbaudītu, palaidiet akselerometra parauga kodu programmā Arduino (Fails-> Piemēri-> Adafruit_MMA8451-> MMA8451demo), pārliecinoties, ka tas var izvadīt sērijas monitoru. Gravitācijas (~ 10m/s) paātrinājumam vajadzētu būt z virzienam, ja tas tiek turēts līmenī. Sasverot akselerometru, šis paātrinājums tiks mērīts x vai y virzienā; mēs to izmantosim, lai ļautu lietotājam mainīt skaņu, pagriežot roku!

Tagad mums ir jāiesniedz akselerometra dati tādā veidā, lai tos varētu savienot ar Max. Lai to izdarītu, mums ir jāizdrukā x un y vērtības, iespējams, pārveidotas, lai tās atbilstu vēlamajam diapazonam (sk. 6. daļu). Šeit pievienotajā kodā mēs rīkojamies šādi:

// Izmēra x-virzienu un y-virzienu. Mēs dalām un reizinām, lai iekļūtu pareizajos MAX diapazonos (diapazons 1000 x un diapazons 40 y) xdir = event.acceleration.x/0.02; ydir = abs (notikums.paātrinājums.y)*2; // Drukājiet visu Max lasāmā formātā - ar atstarpēm starp katru numuru Serial.print (xdir); Serial.print ("");

Tam vajadzētu būt Hex, lai katrā rindā drukātu akselerometra x un y virzienu modificētās vērtības. Tagad mēs esam gatavi pievienot elastīgos sensorus!

4. solis: elastīgo sensoru piestiprināšana

Flex sensoru piestiprināšana
Flex sensoru piestiprināšana
Flex sensoru piestiprināšana
Flex sensoru piestiprināšana
Flex sensoru piestiprināšana
Flex sensoru piestiprināšana

Valkātājs var iegūt daudz potenciālu skaņas vadīklu, ja mēs varam noteikt saliektos pirkstus. Elastīgie sensori to darīs. Katrs elastības sensors būtībā ir potenciometrs, kur bez izliekuma pretestība ir ~ 25KΩ, bet pilnībā saliekta - ~ 100KΩ. Mēs ievietojām katru elastības sensoru vienkāršā sprieguma dalītājā ar 50K rezistoru, kā parādīts pirmajā attēlā.

Atkal, izmantojot diezgan īsu stiepļu garumu (paturiet prātā, ka tas viss būs piemērots cimda aizmugurē), pielodējiet četrus sprieguma dalītāju moduļus. Četriem moduļiem būs viens un tas pats Vin un zemējums-mēs savijām kopā vadu atdalītos galus, lai mums būtu tikai viens vads pie lodēšanas. Visbeidzot, paņemiet četrus moduļus un izveidojiet savienojumus, kas parādīti otrajā attēlā (ja kāds zina, kā to izdarīt, neradot briesmīgi samudžinātu putru, lūdzu, atklājiet savus noslēpumus).

Tagad mums ir nepieciešams Arduino kods, lai nolasītu spriegumus no katra sensora. Mūsu nolūkos elastīgos sensorus mēs uzskatījām par slēdžiem; tie bija ieslēgti vai izslēgti. Tādējādi mūsu kods vienkārši nosaka sprieguma slieksni virs šī sliekšņa, mēs sērijas portam izvadām 1 (tas nozīmē, ka sensors ir saliekts), pretējā gadījumā mēs izvadām 0:

// Paņemiet skaitu

analogos paraugus un pievienojiet tos katram Flex sensoram

kamēr (izlases_skaits <NUM_SAMPLES) {

summa10 += analogRead (A10);

summa9 += analogRead (A9);

summa7 += analogRead (A7);

summa11 += analogRead (A11);

sample_count ++;

// Īsa aizkave, lai tās neņemtu pārāk ātri

kavēšanās (5);

}

// aprēķināt spriegumu, vidējā vērtība salīdzinājumā ar ātrajiem paraugiem

// izmantojiet 5.0 5.0V ADC

atsauces spriegums

// 5.015V ir kalibrēts

atsauces spriegums

spriegums10 = ((pludiņš) summa10 /

(pludiņš) NUM_SAMPLES * 5.015) / 1024,0;

spriegums9 = ((pludiņš) summa9/

(pludiņš) NUM_SAMPLES * 5.015) / 1024,0;

spriegums7 = ((pludiņš) summa7 /

(pludiņš) NUM_SAMPLES * 5.015) / 1024,0;

spriegums11 = ((pludiņš) summa11 /

(pludiņš) NUM_SAMPLES * 5.015) / 1024,0;

// Pārbaudiet, vai katrs elastības sensors

ir lielāks par slieksni (slīpums) - ja jā, iestatiet skaitli

// Pinkie pirksts

ja (spriegums10> slīpums)

{

//-5 paaugstināt

balss augstums par vienu oktāvu

flex10 = -10;

}

cits flex10 = 0;

//Zeltnesis

ja (spriegums9>

(threes-0,4)) {

// 5 uz leju

balss augstums par vienu oktāvu

flex9 = 5;

}

cits flex9 = 0;

//Vidējais pirksts

ja (spriegums7> slīpums) {

// 1, lai iestatītu

reverb efekts

flex7 = 1;

}

cits flex7 = 0;

//Rādītājpirksts

ja (spriegums11> slīpums)

{

// 50, lai iestatītu

cikli līdz 50

flex11 = 93;

}

cits flex11 = 0;

// Atiestatīt visu skaitīšanu

mainīgais līdz 0 nākamajai cilpai

parauga_skaitlis = 0;

summa10 = 0;

summa9 = 0;

summa7 = 0;

summa11 = 0;

Šajā brīdī seriālajā portā jāparāda akselerometra orientācijas vērtības, kā arī tas, vai katrs elastības sensors ir saliekts. Mēs esam gatavi sarunāties ar Arduino kodu ar Maksu!

5. darbība: saskarne ar maks

Saskarne ar maks
Saskarne ar maks

Tagad, kad heksadecimālais kods caur sērijas portu izspiež daudz numuru, mums ir nepieciešama Max programmatūra, lai nolasītu šos signālus. Iepriekš attēlotais koda bloks to dara! Jūs esat ļoti laipni gaidīti.

Svarīga piezīme: pēc koda augšupielādes Hex, aizveriet visus seriālā porta logus, pēc tam mainiet Max koda apzīmēto burtu, lai tas atbilstu Hex portam. Ja neesat pārliecināts, kuru burtu iestatīt, nospiežot Max koda daļu “drukāt”, tiks parādīti visi pievienotie porti.

Drukātā līnija no Hex sērijas porta tiek nolasīta, izmantojot Max koda bloku, un pēc tam tiek sadalīta, pamatojoties uz atstarpju atdalītājiem. Izeja Max bloka beigās ļauj sagrābt katru skaitli atsevišķi, tāpēc mēs savienosim pirmo izvades vietu ar vietu, kur vēlamies, lai akselerometra virziens x iet, otrā atstarpe būs y virziens utt. Tagad vienkārši pievienojiet tos skaitļu blokiem, lai pārliecinātos, ka tie darbojas. Jums vajadzētu būt iespējai pārvietot akselerometru un elastīgos sensorus un redzēt, kā Max programmatūrā mainās skaitļi.

6. darbība. Pārējā maksimālā koda izveide

Ņemot vērā Max valodas spēku, jūs patiešām varat ļaut vaļu savai iztēlei, izmantojot visus veidus, kā mainīt ienākošo skaņas signālu ar savu maģisko spēka cimdu. Tomēr, ja jums pietrūkst ideju, iepriekš ir aprakstīts, ko dara mūsu Max kods un kā tas darbojas.

Katram parametram, kuru mēģināt mainīt, iespējams, vēlēsities sajaukt ar vērtību diapazonu, kas nāk no Arduino koda, lai iegūtu pareizo jutību.

Daži citi Max problēmu novēršanas padomi:

  • Ja jūs nedzirdat skaņu

    • pārliecinieties, vai Max ir iestatīts saņemt audio no jūsu mikrofona (opcijas Audio statusa ievades ierīce)
    • pārliecinieties, vai Max skaļuma slīdnis ir ieslēgts un visas citas skaļuma vadīklas, kas jums var būt kodā
  • Ja šķiet, ka kods neko nedara
    • pārliecinieties, ka plāksteris ir bloķēts (slēdzenes simbols kreisajā apakšējā stūrī)
    • ar Max plākstera rādījumiem pārliecinieties, ka jūsu Max plāksteris joprojām saņem datus no Arduino seriālā porta. Ja nē, mēģiniet atiestatīt seriālo portu (kā aprakstīts 5. darbībā) un/vai pārbaudiet fiziskos vadu savienojumus.
  • Dīvaini griešanas trokšņi, mainot parametrus

    tas ir kaut kas saistīts ar to, kā darbojas ~ tapin un ~ tapout; īpaši, ja maināt to vērtības, tās tiek atiestatītas, kas izraisa apgriešanu. Ņemot vērā mūsu ierobežotās zināšanas par programmu, mēs esam gandrīz pārliecināti, ka ir labāks veids, kā to izdarīt programmā Max un novērst problēmu …

7. solis: burtiski salieciet visu kopā

Burtiski saliekot to visu kopā
Burtiski saliekot to visu kopā
Burtiski saliekot to visu kopā
Burtiski saliekot to visu kopā
Burtiski saliekot to visu kopā
Burtiski saliekot to visu kopā
Burtiski saliekot to visu kopā
Burtiski saliekot to visu kopā

Tagad atliek tikai piestiprināt mūsu ķēdi pie cimda. Paņemiet papildu audumu un izgrieziet sloksnes, kas ir nedaudz lielākas par elastības sensoriem. Šujiet papildu audumu pie cimda pirksta, kur locītava noliecas, atstājot elastīgajam sensoram sēdekli (mēs nevaram tikai pielīmēt elastīgos sensorus tieši pie cimda, jo cimdu audums stiepjas, pirkstiem saliecoties)). Kad uzmava lielākoties ir uzšūta, iebīdiet elastības sensoru un uzmanīgi šujiet vadus pie cimda, nostiprinot elastīgo sensoru vietā. Atkārtojiet to katram elastības sensoram.

Pēc tam izmantojiet pašlīmējošo drošības tapu, lai piestiprinātu sešstūrainu cimda aizmugurē (iespējams, vēlēsities uzlikt kādu karstu līmi uz tapas, lai pārliecinātos, ka tā valkāšanas laikā neatgriežas). Šujiet akselerometru pie cimda plaukstas locītavas. Visbeidzot, izmantojiet rāvējslēdzēju burvību, lai skaisti notīrītu visus neizskatīgos vadus.

Jūs esat gatavs pārbaudīt savu galīgo dziedāšanas spēka cimdu! (Lai mēs varētu pilnībā parādīt savas balss maiņas iespējas, mēs ļoti iesakām Daft Punk “Harder Better Faster Stronger”).

Ieteicams: