Talaan ng mga Nilalaman:

Nakasuot na Tech: Guwantes na Nagbabago ng Boses: 7 Hakbang
Nakasuot na Tech: Guwantes na Nagbabago ng Boses: 7 Hakbang

Video: Nakasuot na Tech: Guwantes na Nagbabago ng Boses: 7 Hakbang

Video: Nakasuot na Tech: Guwantes na Nagbabago ng Boses: 7 Hakbang
Video: Paano Mababasa Ang Isip Ng Isang Tao? (14 PSYCHOLOGICAL TIPS) 2024, Nobyembre
Anonim
Masusuot na Tech: Glove-Changing Glove
Masusuot na Tech: Glove-Changing Glove
Masusuot na Tech: Glove-Changing Glove
Masusuot na Tech: Glove-Changing Glove

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 Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
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

Paglalakip sa Accelerometer
Paglalakip sa Accelerometer
Paglalakip sa Accelerometer
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

Pag-attach ng Flex Sensors
Pag-attach ng Flex Sensors
Pag-attach ng Flex Sensors
Pag-attach ng Flex Sensors
Pag-attach ng Flex Sensors
Pag-attach ng 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

Pag-interface kay Max
Pag-interface kay 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

Literal na Pagsasama-sama sa Lahat ng Ito
Literal na Pagsasama-sama sa Lahat ng Ito
Literal na Pagsasama-sama sa Lahat ng Ito
Literal na Pagsasama-sama sa Lahat ng Ito
Literal na Pagsasama-sama sa Lahat ng Ito
Literal na Pagsasama-sama sa Lahat ng Ito
Literal na Pagsasama-sama sa Lahat ng Ito
Literal na Pagsasama-sama sa Lahat ng Ito

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: