Satura rādītājs:
- 1. solis: materiāli
- 2. darbība: programmatūras instalēšana
- 3. darbība: akselerometra piestiprināšana
- 4. solis: elastīgo sensoru piestiprināšana
- 5. darbība: saskarne ar maks
- 6. darbība. Pārējā maksimālā koda izveide
- 7. solis: burtiski salieciet visu kopā
Video: Valkājama tehnika: balss maiņas cimds: 7 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šķ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
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
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
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
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ā
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:
Valkājama elektroniska nozīmīte: 6 soļi (ar attēliem)
Nēsājama elektroniskā emblēma: šeit ir lielisks projekts, kas jāuzņemas, ja plānojat doties uz aparatūras/Python sanāksmi vai plānojat doties uz vietējo Makerfaire. Izveidojiet valkājamu elektronisku emblēmu, kuras pamatā ir Raspberry Pi Zero un PaPiRus pHAT eInk displejs. Jūs varat sekot
DIY valkājama TDCS ierīce: 4 soļi
DIY valkājama TDCS ierīce: TDCS (transkraniāla līdzstrāvas stimulācija) Šajā pamācībā es: 1. Izskaidrojiet vienkāršas TDCS ierīces izveidi. Izvietojiet teoriju aiz shēmām.2. Ievadiet dažus pētījumus un paskaidrojiet, kāpēc šādu ierīci ir vērts izveidot
[Valkājama pele] Uz Bluetooth balstīts valkājams peles kontrolieris operētājsistēmai Windows 10 un Linux: 5 soļi
[Valkājama pele] Uz Bluetooth balstīts valkājams peles kontrolieris operētājsistēmai Windows 10 un Linux: es izveidoju peles vadāmierīci, kuras pamatā ir Bluetooth un kuru var izmantot, lai kontrolētu peles rādītāju un veiktu ar datoru saistītas darbības, neaizskarot nevienu virsmu. Elektronisko shēmu, kas iestrādāta cimdā, var izmantot, lai izsekotu
Valkājama tehnika bērniem: varoņa aproce: 4 soļi
Valkājama tehnika bērniem: varoņa aproce: šī pamācība aptvers, kā izveidot “varoņa aproci”, kas iedegas, kad valkā. Izmantojot vadošu auduma lenti, vadošu diegu un šujamas gaismas diodes, šī ir lieliska aktivitāte skolas skolēniem, lai apgūtu shēmu pamatus un valkājamas tehnoloģijas. Te
Valkājama tehnika: gaisa bungas: 5 soļi
Valkājama tehnika: gaisa bungas: Mūsu mērķis šim projektam bija izgatavot valkājamu bungu komplektu no dažiem akselerometriem un pjezo diskiem. Ideja bija tāda, ka, saņemot sitienu ar roku, atskanēs lamatas; vai, nospiežot kāju, atskanēs hi-hat vai basa bungas. Kontrolēt