Talaan ng mga Nilalaman:
- Hakbang 1: Mga Kagamitan
- Hakbang 2: Pag-install ng Software
- Hakbang 3: Paglalakip sa Accelerometer
- Hakbang 4: Pag-attach sa Flex Sensors
- Hakbang 5: Pag-interfacing Sa Max
- Hakbang 6: Pagbuo ng Pahinga ng Max Code
- Hakbang 7: Literal na Pagsasama-sama sa Lahat
Video: Nakasuot na Tech: Guwantes na Nagbabago ng Boses: 7 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Kaya, parang ang mga guwantes na may hindi kapani-paniwala na kapangyarihan ay ang lahat ng galit sa mga araw na ito. Habang ang Thanos 'Infinity Gauntlet ay isang medyo malakas na guwantes, nais naming gumawa ng isang guwantes na maaaring gumawa ng isang bagay na mas kapansin-pansin: palitan ang tinig ng tagapagsuot nang real-time.
Nagbibigay ang Instructable na ito ng isang walkthrough ng kung paano namin dinisenyo ang isang gwanteng nagbabago ng boses. Gumamit ang aming disenyo ng iba't ibang mga sensor at isang microcontroller sa guwantes upang matukoy ang mga paggalaw, na ipinadala sa pamamagitan ng isang Arduino code sa isang Max patch, kung saan ang aming audio signal ay binago at binago sa mga nakakatuwang paraan. Ang mga tukoy na sensor, galaw, at tunog na ginamit namin ay pawang kakayahang umangkop para sa iba't ibang pagsasaalang-alang; ito ay isang paraan lamang upang lumikha ng isang gwanteng nagbabago ng boses!
Ang proyektong ito ay bahagi ng pakikipagtulungan sa pamayanan sa pagitan ng mga mag-aaral ng Pomona College at ng Fremont Academy of Engineering Femineers. Ito ay isang tunay na kasiya-siyang halo ng mga elektronikong engineering at elemento ng elektronikong musika!
Hakbang 1: Mga Kagamitan
Mga Bahagi:
- HexWear Microcontroller (ATmega32U4) (https://hexwear.com/)
- MMA8451 Accelerometer (https://www.adafruit.com/product/2019)
- Short Flex Sensors (x4) (https://www.adafruit.com/product/1070)
- Magaan na guwantes na tumatakbo
- # 2 mga tornilyo at washer (x8)
- Mga konektor ng crimp terminal; 22-18 gauge (x8) (https://www.elecdirect.com/crimp-wire-terminals/ring-crimp-terminals/pvc-ring-terminals/ring-terminal-pvc-red-22-18-6- 100pk)
- 50kΩ risistor (x4)
- Wire (~ 20 gauge)
- Self-adhesive safety pin
- Nadama o iba pang tela (~ 10 sq. In.)
- Sinulid
- Zipties
- Laptop
- USB Mikropono
Mga kasangkapan
- Kit ng panghinang
- Mga striper ng wire at wire cutter
- Electrical tape
- Mainit na baril ng hangin
- Screwdriver
- Gunting
- Karayom sa pananahi
Software:
- Max by Cycling '74 (https://cycling74.com)
- Arduino software (https://www.arduino.cc/en/Main/Software)
Hakbang 2: Pag-install ng Software
Nagsisimula kami sa kung ano ang tunay na pinaka-nakasisiglang bahagi ng anumang proyekto: pag-install ng mga aklatan (at higit pa).
Arduino:
Dowload at i-install ang Arduino software (https://www.arduino.cc/en/Main/Software).
HexWear:
1) (Windows lang, maaaring laktawan ng mga gumagamit ng Mac ang hakbang na ito) I-install ang driver sa pamamagitan ng pagbisita sa https://www.redgerbera.com/pages/hexwear-driver-installation. I-download at i-install ang driver (ang.exe file na nakalista sa Hakbang 2 sa tuktok ng naka-link na pahina ng RedGerbera).
2) I-install ang kinakailangang library para sa Hexware. Buksan ang Arduino IDE. Sa ilalim ng "File" piliin ang "Mga Kagustuhan." Sa puwang na ibinigay para sa Mga Karagdagang Mga Tagapamahala ng URL ng URL, i-paste
github.com/RedGerbera/Gerbera-Boards/raw/master/package_RedGerbera_index.json.
Pagkatapos ay i-click ang "OK."
Pumunta sa Mga Tool -> Lupon: -> Board Manager. Mula sa itaas na kaliwang menu ng sulok, piliin ang "Naiambag."
Maghanap para sa, at pagkatapos ay mag-click sa Gerbera Boards at i-click ang I-install. Tumigil at muling buksan ang Arduino IDE.
Upang matiyak na naka-install nang maayos ang library, pumunta sa Tools -> Board, at mag-scroll sa ilalim ng menu. Dapat mong makita ang isang seksyon na pinamagatang "Gerbera Boards," kung saan dapat na lumitaw kahit isang HexWear (kung hindi mas maraming board tulad ng mini-HexWear).
Accelerometer:
I-download at i-install ang aklatan ng accelerometer (https://learn.adafruit.com/adafruit-mma8451-accelerometer-breakout/wiring-and-test)
Hakbang 3: Paglalakip sa Accelerometer
Kailangan namin ng dalawang pangunahing uri ng mga sensor upang makipag-ugnay sa proyektong ito: isang accelerometer, at mga flex sensor. Susuriin namin ito nang paisa-isa, nagsisimula sa accelerometer. Una, kailangan namin ang mga koneksyon sa hardware upang tumugma.
Upang maiwasan na mapinsala ang iyong Hex, inirerekumenda namin ang paglalagay ng isang # 2 tornilyo at washer sa pamamagitan ng mga nais na port, pagkatapos ay ikabit ang lahat ng mga koneksyon sa tornilyo na iyon. Upang maiwasan ang anumang maging malaya kapag naglalaro ng guwantes, ang mga koneksyon ay dapat na solder at / o crimped. Gamit ang ilang pulgada ng kawad para sa bawat koneksyon, gawin ang mga sumusunod na koneksyon mula sa Hex hanggang sa accelerometer (tingnan ang mga pinout sa itaas para sa sanggunian):
Ipasok ang VOLTAGE VINGROUND GNDSCL / D3 SCLSDA / D2 SDA
Sa lahat ng naka-wire, handa kaming subukan!
Bilang isang pagsubok, patakbuhin ang sample code ng accelerometer sa Arduino (File-> Mga halimbawa-> Adafruit_MMA8451-> MMA8451demo), tinitiyak na maaari itong ma-output sa Serial monitor. Dapat itong output ng acceleration dahil sa gravity (~ 10m / s) sa direksyon ng z kapag hinawakan ang antas. Sa pamamagitan ng Pagkiling ng accelerometer, ang pagpabilis na ito ay susukat sa direksyon ng x o y; gagamitin namin ito upang payagan ang nagsusuot na baguhin ang tunog sa pamamagitan ng pag-ikot ng kanilang kamay!
Ngayon, kailangan naming ipakita ang data ng accelerometer sa paraang maaari itong ma-interfaced kay Max. Upang magawa ito, dapat nating mai-print ang mga halagang x at y, marahil ay binago upang tumugma sa nais na saklaw (tingnan ang Bahagi 6). Sa aming code na nakakabit dito, ginagawa namin ang sumusunod:
// Sukatin ang thex-direction at y-direction. Hinahati at pinarami namin upang makapunta sa tamang saklaw para sa MAX (saklaw na 1000 sa x at saklaw na 40 sa y) xdir = event.acceleration.x / 0.02; ydir = abs (event.acceleration.y) * 2; // I-print ang lahat sa isang nababasa na format para sa Max - na may mga puwang sa pagitan ng bawat bilang Serial.print (xdir); Serial.print ("");
Ito ay dapat na may Hex na nagpi-print ng binagong mga halaga ng x at y mga direksyon ng accelerometer bawat linya. Handa na kaming magdagdag ng mga flex sensor!
Hakbang 4: Pag-attach sa Flex Sensors
Ang nagsusuot ay maaaring makakuha ng maraming mga potensyal na kontrol sa tunog kung maaari naming makita ang baluktot na mga daliri. Gawin iyon ng mga flex sensor. Ang bawat flex sensor ay mahalagang potensyomiter, kung saan ang hindi nabaluktot ay may paglaban ng ~ 25KΩ, habang ang ganap na baluktot ay may paglaban ng ~ 100KΩ. Inilalagay namin ang bawat sensor ng flex sa isang simpleng divider ng boltahe na may 50K risistor, tulad ng ipinakita sa unang imahe.
Muli na gumagamit ng medyo maikling haba ng kawad (tandaan na lahat ito ay umaangkop sa likod ng isang guwantes), maghinang ng apat na boltahe na mga divider module. Ang apat na mga module ay magbabahagi ng parehong Vin at ground-pinilipit namin ang mga naalis na dulo ng mga wire upang magkaroon lamang kami ng isang lead sa solder. Panghuli, kunin ang apat na mga module at gawin ang mga koneksyon na ipinakita sa pangalawang imahe (kung may nakakaalam kung paano gawin ito nang hindi gumagawa ng isang kakila-kilabot na gulo, mangyaring isiwalat ang iyong mga lihim).
Ngayon, kailangan namin ang Arduino code upang mabasa sa mga voltages mula sa bawat sensor. Para sa aming mga layunin, tinatrato namin ang mga flex sensor bilang switch; sila ay alinman sa o off. Tulad ng naturan, nagtatakda lamang ang aming code ng isang boltahe threshold-sa itaas ng threshold na ito, naglalabas kami ng 1 sa Serial port (ibig sabihin ang sensor ay baluktot), kung hindi man ay naglalabas kami ng 0:
// Kumuha ng isang bilang ng
mga sample ng analog at idagdag ang mga ito para sa bawat Flex sensor
habang (sample_count <NUM_SAMPLES) {
sum10 + = analogRead (A10);
sum9 + = analogRead (A9);
sum7 + = analogRead (A7);
sum11 + = analogRead (A11);
sample_count ++;
// Maikling pagkaantala upang hindi mabilis na dalhin ang mga ito
antala (5);
}
// kalkulahin ang boltahe, average sa mabilis na mga sample
// use 5.0 para sa isang 5.0V ADC
sanggunian boltahe
// 5.015V ang naka-calibrate
sanggunian boltahe
voltage10 = ((float) sum10 /
(float) NUM_SAMPLES * 5.015) / 1024.0;
voltage9 = ((float) sum9 /
(float) NUM_SAMPLES * 5.015) / 1024.0;
voltage7 = ((float) sum7 /
(float) NUM_SAMPLES * 5.015) / 1024.0;
boltahe11 = ((float) sum11 /
(float) NUM_SAMPLES * 5.015) / 1024.0;
// Suriin kung ang bawat flex sensor
ay mas malaki kaysa sa threshold (threshold) - kung gayon, itakda ang numero
// Pinkie daliri
kung (voltage10> thresh)
{
// - 5 upang itaas
pitch ng boses sa pamamagitan ng isang oktaba
flex10 = -10;
}
iba pa flex10 = 0;
//Palasingsingan
kung (boltahe9>>
(thresh-0.4)) {
// 5 pababa
pitch ng boses sa pamamagitan ng isang oktaba
flex9 = 5;
}
iba pa flex9 = 0;
//Hinlalato
kung (voltage7> thresh) {
// 1 upang itakda
reverb na epekto
flex7 = 1;
}
iba pa flex7 = 0;
//Hintuturo
kung (voltage11> thresh)
{
// 50 upang maitakda
ikot sa 50
flex11 = 93;
}
iba pa flex11 = 0;
// I-reset ang lahat ng pagbibilang
variable sa 0 para sa susunod na loop
sample_count = 0;
sum10 = 0;
sum9 = 0;
sum7 = 0;
sum11 = 0;
Sa puntong ito, dapat ipakita ng Serial port ang mga halaga para sa oryentasyong accelerometer, at kung alinman sa bawat flex sensor ay baluktot. Handa na kaming makipag-usap sa aming Arduino code kay Max!
Hakbang 5: Pag-interfacing Sa Max
Ngayon na ang Hex code ay naglalaway ng maraming mga numero sa pamamagitan ng Serial port, kailangan namin ang Max software upang mabasa ang mga signal na ito. Ginagawa lang iyon ng bloke ng code na nakalarawan sa itaas! Walang anuman.
Mahalagang tala: pagkatapos mag-upload ng code sa Hex, isara ang lahat ng mga serial port windows, pagkatapos ay baguhin ang bilog na titik sa Max code upang tumugma sa Hex port. Kung hindi ka sigurado sa aling liham ang itatakda, ang pagpindot sa "print" na bahagi ng Max code ay maglilista ng lahat ng mga konektadong port.
Ang naka-print na linya mula sa serial port ng Hex ay binabasa sa pamamagitan ng block ng Max code, at pagkatapos ay nahati batay sa mga delimiter ng espasyo. Ang output sa dulo ng Max block ay nagbibigay-daan sa iyo upang grab bawat numero nang paisa-isa, kaya ikonekta namin ang unang puwang ng output sa kung saan nais naming pumunta ang x direksyon ng accelerometer, ang pangalawang puwang ang magiging direksyon ng y, atbp Para sa ngayon, ikonekta lamang ang mga ito sa mga bloke ng numero upang matiyak na gumagana ang mga ito. Dapat mong ilipat ang accelerometer at ibaluktot ang mga sensor at makita ang pagbabago ng mga numero sa Max software.
Hakbang 6: Pagbuo ng Pahinga ng Max Code
Dahil sa lakas ng Max na wika, maaari mo talagang hayaan ang iyong imahinasyon na tumakbo nang ligaw dito sa lahat ng mga paraan na maaari mong baguhin ang papasok na signal ng tunog sa iyong mahiwagang kapangyarihan na guwantes. Gayunpaman, kung naubusan ka ng mga ideya, sa itaas ay isang rundown ng kung ano ang ginagawa ng aming Max code at kung paano ito gumagana.
Para sa bawat parameter na sinusubukan mong baguhin, malamang na gugustuhin mong magulo kasama ang saklaw ng mga halagang nagmumula sa Arduino code upang makuha ang tamang pagkasensitibo.
Ilang iba pang mga tip sa pagto-troubleshoot ng Max:
-
Kung hindi ka nakakarinig ng tunog
- tiyaking nakatakda ang Max upang makatanggap ng audio mula sa iyong mikropono (Mga Pagpipilian sa Input na Katayuan ng Audio na Mga Opsyon)
- tiyakin na ang Master Volume slider sa Max ay nakabukas, at anumang iba pang mga kontrol sa dami na maaaring mayroon ka sa iyong code
- Kung ang code ay tila walang ginagawa
- tiyaking naka-lock ang iyong patch (simbolo ng lock sa ibabang kaliwang sulok)
- tiyakin sa pamamagitan ng mga pagbabasa sa Max patch na ang iyong Max patch ay nakakakuha pa rin ng data mula sa serial port ng Arduino. Kung hindi, subukang i-reset ang serial port (tulad ng nakabalangkas sa Hakbang 5) at / o suriin ang iyong mga koneksyon sa pisikal na kable.
-
Kakaibang mga ingay sa pag-clipping kapag binabago ang mga parameter
ito ay isang bagay na gagawin sa kung paano gumagana ang ~ tapin at ~ tapout; partikular na kapag binago mo ang kanilang mga halaga, nagre-reset sila, na sanhi ng pag-clipping. Dahil sa aming limitadong kaalaman sa programa, halos sigurado kaming may isang mas mahusay na paraan upang magawa ito sa Max at alisin ang isyu …
Hakbang 7: Literal na Pagsasama-sama sa Lahat
Ang natitira lamang ngayon ay upang ikabit ang aming circuitry sa aming guwantes. Kunin ang iyong karagdagang tela at gupitin ang mga piraso ng bahagyang mas malaki kaysa sa mga flex sensor. Tahiin ang karagdagang tela sa daliri ng guwantes kung saan ang baluktot ng buko, na nag-iiwan ng isang uri ng manggas para sa flex sensor upang makaupo (hindi namin maaaring idikit lamang ang mga flex sensor nang direkta sa guwantes dahil ang tela ng guwantes ay umaabot habang ang mga daliri ay yumuko). Kapag ang manggas ay halos natahi, i-slide ang flex sensor, at maingat na tahiin ang mga lead sa guwantes, inaayos ang flex sensor sa lugar. Ulitin ito para sa bawat flex sensor.
Susunod, gamitin ang self-adhesive safety pin upang ikabit ang Hex sa likod ng guwantes (baka gusto mong maglagay ng mainit na pandikit sa pin upang matiyak na hindi ito mababawi sa panahon ng pagod). Tahiin ang accelerometer sa pulso ng guwantes. Panghuli, gamitin ang mahika ng mga zip-ties upang maganda ang linisin ang anumang hindi magandang tingnan na mga wire.
Handa ka na bang subukan ang iyong pangwakas na guwantes sa pagkanta! (Maaari naming lubos na inirerekumenda ang "Harder Better Faster Stronger" ni Daft Punk upang ganap na maipakita ang iyong mga kakayahan sa pagbabago ng boses)
Inirerekumendang:
Kumikinang na Kulay na Nagbabago ng Kulay: 49 Mga Hakbang (na may Mga Larawan)
Kumikinang na Kulay na Nagbabago ng Kulay: Sa kaharian ng bato at gumulong mahalaga na ihiwalay ang sarili. Sa milyun-milyong mga tao sa mundong ito na maaaring tumugtog ng gitara, ang simpleng pagtugtog ng maayos ay hindi ito puputol. Kailangan mo ng isang dagdag na bagay upang bumangon bilang isang rock god. Isaalang-alang ang gu
[Nakasuot ng Mouse] Nakasuot ng Mouse sa Controller na batay sa Bluetooth para sa Windows 10 at Linux: 5 Hakbang
[Nakasuot ng Mouse] Nakabatay sa Bluetooth na Wearable Mouse Controller para sa Windows 10 at Linux: Gumawa ako ng isang Bluetooth-based mouse controller na maaaring magamit upang makontrol ang mouse pointer at magsagawa ng mga pagpapatakbo na nauugnay sa PC-mouse nang mabilis, nang hindi hinahawakan ang anumang mga ibabaw. Ang electronic circuitry, na naka-embed sa isang guwantes, ay maaaring magamit upang subaybayan ang h
Nakasuot na Pangwakas na Proyekto sa Tech - DJ Helmet: 6 na Hakbang
Nakasuot na Pangwakas na Proyekto sa Tech - DJ Helmet: Ang layunin ng proyektong ito ay upang makagawa ng isang DJ helmet na may mga LED na reaktibo sa musika para sa palabas at wow factor. Gumagamit kami ng isang addressable LED strip mula sa Amazon.com pati na rin isang helmet ng motorsiklo, isang Arduino uno at wire
Pinaliit na Nakasuot na Lock-in Amplifier (at Sonar System para sa Mga Nakasuot, Atbp ..): 7 Mga Hakbang
Miniature Wearable Lock-in Amplifier (at Sonar System para sa Wearables, Etc ..): Bumuo ng isang maliit na maliit na low-cost lock-in amplifier na maaaring mai-embed sa mga frame ng eyeglass at upang lumikha ng isang sonar vision system para sa bulag, o isang simpleng ultrasound makina na patuloy na sinusubaybayan ang iyong puso at gumagamit ng Human-Machine Learning upang balaan ang p
Mga Kinokontrol na Boses ng Boses Mula Sa Kahit Saan Sa Gamit ni Jason: 7 Mga Hakbang
Mga Kinokontrol na Boses ng Boses Mula Sa Kahit Saan Sa Jason: Mga ilaw ng AC na kinokontrol mula sa kahit saan na may koneksyon sa internet gamit ang NodeMCU (ESP8266) at Jason (Android App). Si Jason ay isang kinokontrol na boses na katulong na app na na-code ko para sa mga Android device upang makontrol ang estado ng kuryente ng isang AC appliance, unti