Orodha ya maudhui:

Teknolojia inayoweza kuvaliwa: Kinga ya Kubadilisha Sauti: Hatua 7
Teknolojia inayoweza kuvaliwa: Kinga ya Kubadilisha Sauti: Hatua 7

Video: Teknolojia inayoweza kuvaliwa: Kinga ya Kubadilisha Sauti: Hatua 7

Video: Teknolojia inayoweza kuvaliwa: Kinga ya Kubadilisha Sauti: Hatua 7
Video: Сексшоп адаптер ► 1 Прохождение The Legend of Zelda: Tears of the Kingdom 2024, Julai
Anonim
Teknolojia inayoweza kuvaliwa: Kinga ya Kubadilisha Sauti
Teknolojia inayoweza kuvaliwa: Kinga ya Kubadilisha Sauti
Teknolojia inayoweza kuvaliwa: Kinga ya Kubadilisha Sauti
Teknolojia inayoweza kuvaliwa: Kinga ya Kubadilisha Sauti

Kweli, inaonekana kama glavu zilizo na nguvu nzuri ni hasira kila siku. Wakati Thanos 'Infinity Gauntlet ni glavu nzuri sana, tulitaka kutengeneza glavu ambayo inaweza kufanya kitu cha kushangaza zaidi: badilisha sauti ya mvaaji kwa wakati halisi.

Maagizo haya hutoa mwendo wa jinsi tulivyobuni glavu inayobadilisha sauti. Ubunifu wetu ulitumia sensorer anuwai na mdhibiti mdogo kwenye glavu kugundua mwendo, ambao ulitumwa kupitia nambari ya Arduino kwenye kiraka cha Max, ambapo ishara yetu ya sauti ilibadilishwa na kupotoshwa kwa njia za kufurahisha. Sensorer maalum, mwendo, na mabadiliko ya sauti tuliyotumia yote ni rahisi kwa maoni tofauti; hii ni njia moja tu ya kuunda glavu inayobadilisha sauti!

Mradi huu ulikuwa sehemu ya ushirikiano wa jamii kati ya wanafunzi wa Chuo cha Pomona na Chuo cha Fremont cha Uhandisi wa Wanawake. Ni mchanganyiko halisi wa kufurahisha wa uhandisi wa elektroniki na vitu vya muziki vya elektroniki!

Hatua ya 1: Vifaa

Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa

Sehemu:

  • HexWear Microcontroller (ATmega32U4) (https://hexwear.com/)
  • Accelerometer ya MMA8451 (https://www.adafruit.com/product/2019)
  • Sensorer fupi Flex (x4) (https://www.adafruit.com/product/1070)
  • Glavu nyepesi inayoendesha
  • Screws 2 na washers (x8)
  • Viunganisho vya terminal vya Crimp; Upimaji wa 22-18 (x8) (https://www.elecdirect.com/crimp-wire-terminals/ring-crimp-terminals/pvc-ring-terminals/ring-terminal-pvc-red-22-18-6- 100pk)
  • Kinzani 50kΩ (x4)
  • Waya (~ 20 kupima)
  • Bima ya usalama ya kujifunga
  • Felt au kitambaa kingine (~ 10 sq. In.)
  • Thread ya kushona
  • Zipties
  • Laptop
  • Kipaza sauti cha USB

Zana

  • Kitanda cha kutengeneza
  • Vipande vya waya na wakata waya
  • Mkanda wa umeme
  • Moto hewa bunduki
  • Bisibisi
  • Mikasi
  • Sindano ya kushona

Programu:

  • Max kwa Baiskeli '74 (https://cycling74.com)
  • Programu ya Arduino (https://www.arduino.cc/en/Main/Software)

Hatua ya 2: Kufunga Programu

Tunaanza na kile ambacho ni sehemu ya kufurahisha zaidi ya mradi wowote: kusanikisha maktaba (na zaidi).

Arduino:

Pakua chini na usakinishe programu ya Arduino (https://www.arduino.cc/en/Main/Software).

Mavazi ya Hex:

1) (Windows tu, watumiaji wa Mac wanaweza kuruka hatua hii) Sakinisha dereva kwa kutembelea https://www.redgerbera.com/pages/hexwear-driver-installation. Pakua na usakinishe dereva (faili ya.exe iliyoorodheshwa kwenye Hatua ya 2 juu ya ukurasa uliounganishwa wa RedGerbera).

2) Sakinisha maktaba inayohitajika kwa Hexware. Fungua IDE ya Arduino. Chini ya "Faili" chagua "Mapendeleo." Katika nafasi iliyotolewa kwa URL za Meneja wa Bodi za Ziada, weka

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

Kisha bonyeza "OK."

Nenda kwenye Zana -> Bodi: -> Meneja wa Bodi. Kutoka kwenye menyu ya juu kushoto, chagua "Imechangiwa."

Tafuta, na kisha ubofye kwenye Bodi za Gerbera na ubonyeze Sakinisha. Acha na ufungue tena Arduino IDE.

Ili kuhakikisha kuwa maktaba imewekwa vizuri, nenda kwenye Zana -> Bodi, na utembeze chini ya menyu. Unapaswa kuona sehemu inayoitwa "Bodi za Gerbera," ambayo chini yake inapaswa kuonekana HexWear (ikiwa sio bodi zaidi kama mini-HexWear).

Accelerometer:

Pakua na usakinishe maktaba ya accelerometer (https://learn.adafruit.com/adafruit-mma8451-accelerometer-breakout/wiring-and-test)

Hatua ya 3: Kuunganisha Accelerometer

Kuunganisha Accelerometer
Kuunganisha Accelerometer
Kuunganisha Accelerometer
Kuunganisha Accelerometer

Tunahitaji aina kuu mbili za sensorer ili kuweza kuingiliana na mradi huu: accelerometer, na sensorer flex. Tutachunguza hizi moja kwa moja, tukianza na kiharusi. Kwanza, tunahitaji viunganisho vya vifaa ili kufanana.

Ili kuepusha kuharibu Hex yako, tunapendekeza uweke screw # 2 na washer kupitia bandari unazohitaji, kisha unganisha viunganisho vyote kwenye screw hiyo. Ili kuzuia chochote kutoka huru wakati wa kucheza na glavu, viunganisho vinapaswa kuuzwa na / au kubanwa. Kutumia waya chache kwa kila unganisho, fanya unganisho zifuatazo kutoka kwa Hex hadi kwa kipima kasi (tazama viambatisho hapo juu kwa kumbukumbu):

Pembejeo VOLTAGE VINGROUND GNDSCL / D3 SCLSDA / D2 SDA

Pamoja na kila kitu kilichounganishwa, tuko tayari kujaribu!

Kama jaribio, tumia nambari ya sampuli ya kasi katika Arduino (Faili-> Mifano-> Adafruit_MMA8451-> MMA8451demo), ukihakikisha kuwa inaweza kutoa kwa mfuatiliaji wa Serial. Inapaswa kutoa kasi kwa sababu ya mvuto (~ 10m / s) katika mwelekeo wa z wakati unashikiliwa kiwango. Kwa kugeuza kasi, kasi hii itapimwa katika mwelekeo wa x au y; tutatumia hii kuruhusu mvaaji kubadilisha sauti kwa kuzungusha mkono wao!

Sasa, tunahitaji kuwasilisha data ya accelerometer kwa njia ambayo inaweza kuingiliwa na Max. Ili kufanya hivyo, lazima tuchapishe nambari za x na y, labda zimebadilishwa ili zilingane na safu inayotakikana (angalia Sehemu ya 6). Katika nambari yetu iliyoambatanishwa hapa, tunafanya yafuatayo:

// Pima mwelekeo wa thex na mwelekeo wa y. Tunagawanya na kuongezeka ili kuingia katika safu sahihi za MAX (anuwai ya 1000 kwa x na anuwai ya 40 kwa y) xdir = event.acceleration.x / 0.02; ydir = abs (tukio la kuongeza kasi.y) * 2; // Chapisha kila kitu kwa muundo unaoweza kusomeka kwa Max - na nafasi kati ya kila nambari Serial.print (xdir); Serial.print ("");

Hii inapaswa kuwa na Hex kuchapisha maadili yaliyobadilishwa ya mwelekeo wa x na y wa kiharusi kila mstari. Sasa tuko tayari kuongeza sensorer za kubadilika!

Hatua ya 4: Kuunganisha Sensorer za Flex

Kuunganisha Sensorer za Flex
Kuunganisha Sensorer za Flex
Kuunganisha Sensorer za Flex
Kuunganisha Sensorer za Flex
Kuunganisha Sensorer za Flex
Kuunganisha Sensorer za Flex

Mvaaji anaweza kupata udhibiti mwingi wa sauti ikiwa tunaweza kugundua vidole. Sensorer za kubadilika zitafanya hivyo tu. Kila sensa ya kubadilika kimsingi ni potentiometer, ambapo haijabadilika ina upinzani wa ~ 25KΩ, wakati laini kabisa ina upinzani wa ~ 100KΩ. Tunaweka kila sensorer ya ubadilishaji katika mgawanyiko rahisi wa voltage na kontena la 50K, kama inavyoonyeshwa kwenye picha ya kwanza.

Tena kutumia urefu mfupi wa waya (kumbuka hii yote itafaa nyuma ya glavu), unganisha moduli nne za mgawanyiko wa voltage. Moduli nne zitashiriki Vin sawa na ardhi-tulipotosha pamoja ncha zilizofutwa za waya ili tuwe na risasi moja tu kwa solder. Mwishowe, chukua moduli nne na ufanye miunganisho iliyoonyeshwa kwenye picha ya pili (ikiwa kuna mtu anajua jinsi ya kufanya hivyo bila kufanya fujo iliyochanganyikiwa sana, tafadhali fichua siri zako).

Sasa, tunahitaji nambari ya Arduino kusoma kwa voltages kutoka kila sensorer. Kwa madhumuni yetu, tulichukulia sensorer za kubadilika kama swichi; walikuwa aidha juu au mbali. Kwa hivyo, nambari yetu inaweka tu kizingiti cha voltage-juu ya kizingiti hiki, tunatoa 1 kwa bandari ya Serial (ikimaanisha kuwa sensor imeinama), vinginevyo tunatoa 0:

// Chukua idadi ya

sampuli za analog na uziongeze kwa kila sensa ya Flex

wakati (hesabu_ya mfano <NUM_SAMPLES) {

sum10 + = analogSoma (A10);

sum9 + = analogSoma (A9);

sum7 + = analog Soma (A7);

sum11 + = analogSoma (A11);

sampuli_ hesabu ++;

// Kuchelewa kwa muda mfupi kutochukua haraka sana

kuchelewesha (5);

}

// mahesabu ya voltage, wastani juu ya sampuli za haraka

// tumia 5.0 kwa 5.0V ADC

voltage ya kumbukumbu

// 5.015V imewekwa sawa

voltage ya kumbukumbu

voltage10 = ((kuelea) jumla ya 10 /

(kuelea) NUM_SAMPLES * 5.015) / 1024.0;

voltage9 = ((kuelea) jumla9 /

(kuelea) NUM_SAMPLES * 5.015) / 1024.0;

voltage7 = ((kuelea) jumla7 /

(kuelea) NUM_SAMPLES * 5.015) / 1024.0;

voltage11 = ((kuelea) jumla ya 11 /

(kuelea) NUM_SAMPLES * 5.015) / 1024.0;

// Angalia ikiwa kila sensor ya kubadilika

ni kubwa kuliko kizingiti (pura) - ikiwa ni hivyo, weka nambari

// Kidole cha Pinkie

ikiwa (voltage10> pura)

{

// - 5 kuongeza

sauti ya sauti na octave moja

kubadilika10 = -10;

}

mwingine flex10 = 0;

// Kidole cha pete

ikiwa (voltage9>

(thresh-0.4)) {

// 5 hadi chini

sauti ya sauti na octave moja

kubadilika9 = 5;

}

mwingine flex9 = 0;

//Kidole cha kati

ikiwa (voltage7> pura) {

// 1 kuweka

athari ya reverb

kubadilika7 = 1;

}

mwingine flex7 = 0;

//Kidole cha kwanza

ikiwa (voltage11> pura)

{

// 50 kuweka

mizunguko hadi 50

kubadilika11 = 93;

}

mwingine flex11 = 0;

// Rudisha hesabu zote

kutofautiana kwa 0 kwa kitanzi kinachofuata

sampuli_ hesabu = 0;

jumla10 = 0;

jumla9 = 0;

jumla7 = 0;

jumla11 = 0;

Kwa wakati huu, bandari ya Serial inapaswa kuonyesha maadili ya mwelekeo wa accelerometer, na pia ikiwa kila sensor ya laini imeinama. Tuko tayari kupata nambari yetu ya Arduino inazungumza na Max!

Hatua ya 5: Kuingiliana na Max

Kuingiliana na Max
Kuingiliana na Max

Sasa kwa kuwa nambari ya Hex inatema namba nyingi kupitia bandari ya Serial, tunahitaji programu ya Max kusoma ishara hizi. Kizuizi cha nambari iliyoonyeshwa hapo juu hufanya hivyo tu! Unakaribishwa sana.

Ujumbe muhimu: baada ya kupakia nambari kwa Hex, funga nje ya windows zote za bandari za serial, kisha ubadilishe barua iliyozungushwa kwenye nambari ya Max ili ilingane na bandari ya Hex. Ikiwa haujui ni barua ipi ya kuweka, kubonyeza sehemu ya "chapisha" ya nambari ya Max kutaorodhesha bandari zote zilizounganishwa.

Mstari uliochapishwa kutoka kwa bandari ya hex ya Hex inasomwa kupitia kizuizi cha kificho cha Max, na kisha hugawanyika kulingana na watengaji wa nafasi. Pato mwishoni mwa kizuizi cha Max hukuruhusu kunyakua kila nambari moja kwa moja, kwa hivyo tutaunganisha nafasi ya kwanza ya pato mahali tunapotaka mwelekeo wa x wa kasi ya kwenda, nafasi ya pili itakuwa mwelekeo y, nk. sasa, unganisha tu hizi kwa vizuizi vya nambari ili kuhakikisha kuwa zinafanya kazi. Unapaswa kusonga kasi ya kasi na sensorer za kubadilika na uone idadi ikibadilika katika programu ya Max.

Hatua ya 6: Kuunda salio la Msimbo wa Juu

Kwa kuzingatia nguvu ya lugha ya Max, unaweza kuruhusu mawazo yako yatekeleze hapa na njia zote ambazo unaweza kubadilisha ishara ya sauti inayoingia na glavu yako ya nguvu ya kichawi. Bado, ikiwa utaishiwa na maoni, hapo juu kuna mkusanyiko wa kile kanuni yetu ya Max inafanya na jinsi inavyofanya kazi.

Kwa kila parameter unayojaribu kubadilisha, labda utataka kujibadilisha na anuwai ya maadili yanayotokana na nambari ya Arduino ili kupata unyeti mzuri tu.

Vidokezo vingine vya utatuzi wa Max:

  • Ikiwa hausiki sauti

    • hakikisha Max imewekwa kupokea sauti kutoka kwa maikrofoni yako (Chaguzi Kifaa cha Kuingiza Hali ya Sauti)
    • hakikisha kitelezi cha Master Volume katika Max kimeinuliwa, na vidhibiti vingine vyovyote vya sauti ambavyo unaweza kuwa navyo kwenye kificho chako
  • Ikiwa nambari haionekani kuwa haifanyi chochote

    • hakikisha kiraka chako kimefungwa (alama ya kufuli kwenye kona ya chini kushoto)
    • hakikisha kupitia usomaji kwenye kiraka cha Max kwamba kiraka chako cha Max bado kinapata data kutoka bandari ya serial ya Arduino. Ikiwa sivyo, jaribu kuweka upya bandari ya serial (kama ilivyoainishwa katika Hatua ya 5) na / au kuangalia unganisho lako la wiring.
  • Kelele za ajabu za kukatisha wakati wa kubadilisha vigezo

    hii ni jambo la kufanya na jinsi ~ tapin na ~ tapout kazi; haswa kwamba unapobadilisha maadili yao, wanaweka upya, ambayo husababisha kukatwa. Kwa kuzingatia ufahamu wetu mdogo wa programu, karibu tuna hakika kuna njia bora ya kufanya hivi kwa Max na kuondoa suala hilo…

Hatua ya 7: Kuiweka kwa pamoja

Kuiweka Pamoja Pamoja
Kuiweka Pamoja Pamoja
Kuiweka Pamoja Pamoja
Kuiweka Pamoja Pamoja
Kuiweka Pamoja Pamoja
Kuiweka Pamoja Pamoja
Kuiweka Pamoja Pamoja
Kuiweka Pamoja Pamoja

Kilichobaki sasa ni kushikamana na mzunguko wetu kwenye glavu yetu. Chukua kitambaa chako cha ziada na ukate vipande kidogo kuliko sensorer za kubadilika. Shona kitambaa cha ziada kwenye kidole cha glavu ambapo knuckle inainama, na kuacha aina ya sleeve kwa sensor ya kukaa (hatuwezi gundi sensorer za moja kwa moja kwenye glavu kwa sababu kitambaa cha glavu kinanyoosha vidole vinapoinama). Mara tu sleeve imeshonwa zaidi, tembeza sensorer ya ndani, na ushone kwa uangalifu viongozo kwenye glavu, ukitengeneza sensor ya kubadilika mahali. Rudia hii kwa kila sensor ya kubadilika.

Ifuatayo, tumia pini ya usalama ya kujambatanisha kushikamana na Hex nyuma ya glavu (unaweza kutaka kuweka gundi moto kwenye pini ili kuhakikisha haifanyiwi wakati wa kuvaa). Kushona accelerometer kwa mkono wa kinga. Mwishowe, tumia uchawi wa vifungo ili kusafisha vizuri waya yoyote isiyofaa.

Uko tayari kujaribu glavu yako ya mwisho ya nguvu ya kuimba! (Tupendekeze sana Daft Punk's "Harder Better Fast Stronger" kuonyesha kikamilifu uwezo wako wa kubadilisha sauti)

Ilipendekeza: