Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Konsepto
- Hakbang 2: Ihanda ang Accelerometer
- Hakbang 3: Buuin ang Glove
- Hakbang 4: Bumuo sa Ableton
- Hakbang 5: Simulang Paggamit ng Firmata
- Hakbang 6: Subukan ang Firmata
- Hakbang 7: Maimpluwensyahan ang Musika Sa Iyong Mga Pagkilos ng Kamay
- Hakbang 8: Ang Klase ng Subaybayan (bonus!)
- Hakbang 9: Subaybayan ang Haba, Beats, at Higit Pa (bonus!)
Video: Dance Glove: 9 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Sa tutorial na ito, lalakasan kita sa pagdidisenyo ng guwantes na hahayaan kang makipag-ugnay sa musika sa pamamagitan ng sayaw. Bumubuo ka ng isang gwantes na pinapagana ng accelerometer, magdisenyo ng isang komposisyon sa Ableton, at pagkatapos ay ikonekta ang dalawa sa kumplikado o simpleng isang paraan na nais mo!
Mga gamit
- Ableton (o libreng pagsubok)
- Isang Arduino
- Mga kable ng jumper
- Panghinang
- Karton
- Mainit na glue GUN
- Maraming imahinasyon
Hakbang 1: Konsepto
Ang proyektong ito ay idinisenyo upang maging masaya. Kung ang paraan ng halimbawa ng proyekto sa tutorial na ito ay hindi masaya para sa iyo, muling idisenyo ito!
Inirerekumenda kong ilagay ang ilan sa iyong mga paboritong kanta, ililipat ang iyong mga kamay sa kanila, at makita kung anong nangyayari. Igagalaw mo ba ang iyong mga kamay pataas-at-pababa? Magkatabi? Mabagal o mabilis? Anong mga aspeto ng musika ang nais mong ilipat ang iyong mga kamay? Kung mayroon kang isang listahan ng mga nakasulat na ito, marahil maaari mong malaman ang ilang mga paraan upang isama ang mga galaw na nasisiyahan ka sa iyong mga huling algorithm.
Narito ang mga galaw na ginamit ko:
- Ang isang mabilis na paggalaw na pataas at pababa ay nagpapalitaw ng pagsisimula ng kanta, tambol, o bass. (Nangyayari ang mga ito sa iba't ibang mga punto ng kanta, hindi kinakailangan nang sabay-sabay!)
- Ang isang mabagal, tilty side-to-side na paggalaw ay nagpapalitaw ng isang mas echoey, mataas na tunog na tunog.
- Sa isang partikular na seksyon ng kanta, ang pagdantay sa aking kamay paitaas ay ginagawang tahimik ang musika - kaya't "nahuli" ko ito sa saradong kamao.
Gumamit ng mga ito o gumawa ng sarili!
(Mangyaring tandaan: ang tutorial na ito ay hindi sumasaklaw kung paano makalikha ng musika o mga melodies na nakatira sa Ableton! Kung mananatili ka sa mga tagubiling ito, magagawa mong dagdagan / bawasan ang dami ng mga track o ang application ng mga audio effects.)
Hakbang 2: Ihanda ang Accelerometer
Una, alamin kung anong uri ng accelerometer ang mayroon ka. Ginamit ko ang isang ito; Magagawa ang anumang three-axis accelerometer. (O subukan ang isa pang uri ng sensor kung nais mong mag-wild.) Tiyaking alam mo kung paano basahin ang data ng accelerometer mula sa Arduino. Maaaring kailanganin mong mag-download ng isang silid-aklatan para sa iyong accelerometer kung gumagamit ito ng anumang mas kumplikado kaysa sa input ng analog.
Matapos masubukan ito sa isang breadboard, maghinang ng maikling mga naka-code na kulay na mga wire sa mga pin ng iyong accelerometer. Maglagay ng isang pulang kawad sa power pin, isang itim na kawad sa ground pin, at anumang iba pang kinakailangang mga wire para sa komunikasyon ng accelerometer. (Kung mayroon kang isang accelerator ng I2C, ito ang magiging mga pin ng SCL at SDA. Kung mayroon kang isang analog accelerometer, malamang na may isang pin para sa bawat x, y, at z output.) Siguraduhin na ang iyong solder ay solid at na ang mga kuwintas ay hindi nagsasapawan sa pagitan ng mga katabing mga pin.
Hakbang 3: Buuin ang Glove
Gupitin ang isang piraso ng manipis na karton o makapal na papel sa isang rektanggulo na bahagyang mas malaki kaysa sa iyong accelerometer. Idikit ang accelerometer sa karton, tiyakin na inilalagay mo ang pandikit sa ilalim. Pagkatapos, kola ang naka-back up na karton na accelerometer sa likuran ng iyong guwantes. Tahiin ang bawat kawad sa pulso ng guwantes upang mapawi ang pag-igting sa accelerometer, at pagkatapos ay handa na ang iyong guwantes. Ikonekta ito sa mas matagal na mga wire upang magkaroon ng sapat na puwang upang ilipat ang iyong kamay kapag naka-plug in ito.
Hakbang 4: Bumuo sa Ableton
Ngayon ay oras na upang bumuo ng kanta sa wakas ay gagamitin mo ang gwantes upang makontrol. Inirerekumenda ko ang mga loop ng Ableton na lahat ay mahusay na magkakasama, ngunit maaaring magamit upang bumuo ng unti: subukan ang himig, kuwerdas, bass, at pagtambulin. Magagamit mo ang iyong gwantes upang makontrol kapag nagpatugtog ang bawat loop o hindi.
Kung maaari mong maiisip ang anumang mga kagiliw-giliw na uri ng tunog upang paminsan-minsang isasama sa isang kanta, tulad ng isang kakatwang epekto ng tunog o hindi kinaugalian na instrumento, subukang idagdag sa isa o dalawa din sa mga iyon! Maaari mong itali ang mga ito sa hindi gaanong kilos ng mga galaw ng kamay upang magdala ng isang bagay na kawili-wili sa bawat paminsan-minsan.
Narito ang isang link sa aking komposisyon na tumutugma sa Arduino, kung sakaling ayaw mong sumulat ng isa sa iyong sarili:
(Sa kasamaang palad, ang pagtuturo sa iyo ng Ableton ay wala sa saklaw ng tutorial. Gayunpaman, maraming magagandang how-to na mga video doon, at ang Ableton ay mayroong 90 araw na libreng pagsubok! Inirerekumenda ko ang video na ito.)
Hakbang 5: Simulang Paggamit ng Firmata
Upang paganahin ang iyong Arduino na makipag-usap kay Ableton, kakailanganin mong gumamit ng isang silid-aklatan na tinatawag na Firmata. Kakailanganin mo ring i-download ang Connection Kit para sa Ableton.
Sa Ableton, i-click ang Mga Pack> Connection Kit> Mga Device sa menu sa kaliwang tuktok, at pagkatapos ay i-double click sa unang aparato (Arduino) upang idagdag ito. Tiyaking naaalala mo kung aling Ableton track ang naidagdag mo sa iyong aparato!
Hakbang 6: Subukan ang Firmata
Una, susubukan namin at tiyakin na ang iyong Arduino ay nakikipag-usap kay Ableton. I-upload ang code na ito sa iyong Arduino at patakbuhin ito:
# isama ang walang bisa analogWriteCallback (byte pin, int halaga) {kung (IS_PIN_PWM (pin)) {pinMode (PIN_TO_DIGITAL (pin), OUTPUT); analogWrite (PIN_TO_PWM (pin), halaga); }} void setup () {Firmata.setFirmwareVersion (FIRMATA_FIRMWARE_MAJOR_VERSION, FIRMATA_FIRMWARE_MINOR_VERSION); Firmata.attach (ANALOG_MESSAGE, analogWriteCallback); Firmata.begin (57600);} void loop () {Firmata.sendAnalog (0, 800);}
Ito ang hubad na minimum na kinakailangan upang makipag-usap sa Firmata. Patuloy itong nagpapadala ng isang output ng 800 (out of 1024) sa port 0 ng Firmata device sa Ableton. Kung na-upload mo ang code na ito sa iyong Arduino habang mayroon kang isang bukas na aparato ng Firmata sa Ableton, dapat magmukhang ang imahe sa itaas. (Mapa port 0 sa anumang bagay sa Ableton upang makita ang mga halaga.)
Maaari mong i-click ang pindutan ng Mapa at pagkatapos ay ang anumang aparatong katugma sa Firmata sa Ableton upang magdagdag ng isang pagmamapa sa pagitan ng input na natanggap sa port na iyon at ang halaga ng aparatong Ableton na iyon. Madaling mga halimbawa isama ang dami ng anumang track o anumang dial sa loob ng isang audio effect. Galugarin at tingnan kung ano ang maaari mong makita upang mapa!
Hakbang 7: Maimpluwensyahan ang Musika Sa Iyong Mga Pagkilos ng Kamay
Sa oras na ito, dapat ay mayroon kang ilang musika sa Ableton, isang Firmata script sa iyong Arduino, at isang nakakabit na guwantes ng accelerometer. Gumawa tayo ng musika!
Mga mapa ng mapa ng Arduino aparato sa Ableton sa iba't ibang mga bagay (iminumungkahi ko ang dami ng track), at pagkatapos ay magdagdag ng mga linya ng code upang magpadala ng data sa bawat port mula sa Arduino.
Firmata.sendAnalog (port, volumeLevel);
Gumamit ng code na tulad nito para sa bawat port ng Firmata.
Kung nais mong gumawa ng isang bagay na simple, maaari mong ipadala ang mga halaga ng accelerometer na hindi naproseso sa mga port ng Ableton at i-map ang mga ito mula doon. Para sa isang mas sopistikadong karanasan, maaari kang magpasya: anong mga halaga ng accelerometer ang dapat magpalitaw ng mga tunog, paano, at kailan?
Pagkatapos i-play ang lahat ng iyong mga loop ng Ableton, patakbuhin ang iyong Arduino code, at sumayaw!
(Pagwawaksi: kung nagpaplano kang lumikha ng anumang uri ng kumplikadong algorithm para sa iyong kanta, maaaring tumagal ng maraming oras upang maiayos. Ang "Sayaw palayo" ay maaaring mas tumpak kaysa sa inaasahang.)
Hakbang 8: Ang Klase ng Subaybayan (bonus!)
Kung hindi mo alintana ang paglabas ng dami o magkaroon ng ibang paraan upang mapagaan ito, laktawan ang hakbang na ito. Kung hindi man, basahin pa!
Napansin ko na ang paglipat ng lakas ng tunog mula sa naka-mute hanggang sa ganap na sabay-sabay ay lumilikha ng ilang mga hindi kasiya-siyang tunog na popping, at masarap na mas mabilis na lumabo sa dami. Gayunpaman, mahirap gawin ito sa kasabay na kapaligiran ng programa ng Arduino. Kaya narito ang ilang code upang mawala ang pag-popping:
klase Subaybayan {publiko: int dami; int volumeGoal; int updateSpeed; Subaybayan () {volume = 0; dami ng Layunin = 0; updateSpeed = 0; } void setVolumeGoal (int layunin) {volumeGoal = layunin; } int getVolumeGoal () {return volumeGoal; } void setUpdateSpeed (int fastness) {updateSpeed = fastness; } int getVolume () {volume ng pagbabalik; } void updateVolume () {if ((volume> volumeGoal) && ((volume - volumeGoal)> = updateSpeed)) {volume - = updateSpeed; } iba pa kung ((dami = updateSpeed)) {volume + = updateSpeed; }} void mute (int fastness) {volumeGoal = 50; updateSpeed = bilis; } walang bisa ang buong (int kabilis) {volumeGoal = 950; updateSpeed = bilis; }};
Ang bawat Track ay may kasalukuyang dami, isang dami ng layunin, at isang bilis kung saan ito gumagalaw patungo sa dami ng layunin. Kung nais mong baguhin ang dami ng isang track, tawagan ang setVolumeGoal (). Sa tuwing pinapatakbo mo ang loop () na pag-andar sa iyong Arduino, tawagan ang updateVolume () sa bawat track, at pagkatapos ay ipadala ang impormasyong iyon sa Firmata gamit ang getVolume (). Baguhin ang bilis ng pag-update para sa mas mabilis o mas unti-unting mga fadeout! Gayundin, iwasang itakda ang dami sa 0 kung maaari; sa halip, itakda ito sa isang napakababang halaga (ang default sa pipi () ay 100).
Hakbang 9: Subaybayan ang Haba, Beats, at Higit Pa (bonus!)
Maaari kang gumawa ng maraming bagay upang mas madaling pakinggan ang tunog na nagreresulta mula sa iyong proyekto. Narito ang ilang mga pagpipilian:
Maaari mong subaybayan kung gaano katagal tumatakbo ang kanta. Upang magawa ito, kakailanganin mong malaman kung kailan nagsimula ang kanta; Inirerekumenda ko ang isang habang loop sa pag-andar ng pag-setup () na kung saan ay naantala ang iyong code mula sa pagtakbo hanggang sa ma-sense ang isang galaw sa kamay. Itabi ang oras ng pagsisimula ng kanta sa isang variable gamit ang millis (), at suriin kung gaano katagal ito sa bawat oras na mag-loop ka (). Maaari mo itong magamit upang paganahin o huwag paganahin ang ilang mga tampok sa ilang mga oras ng kanta.
Kung alam mo kung gaano katagal ang iyong mga loop sa milliseconds, maaari mo ring subaybayan kung gaano karaming mga loop ang napagdaanan mo para sa isang mas nuanced na pag-unawa sa istraktura ng kanta!
Ang isa pang potensyal na isyu na maaari mong makatagpo ay kung kailan magsisimula at itigil ang isang track mula sa pag-play. Nalutas ko ito sa pamamagitan ng pagsubaybay sa kung aling beat ng isang sukat na kasalukuyang nasa kanta. Pagkatapos ay maaari kong i-play ang mga track para sa anumang bilang ng mga beats pagkatapos ng isang kilos, sa halip na putulin agad ito. Ginagawa nitong mas maayos ang pagdaloy ng mga bagay. Narito ang isang halimbawa:
kung (millis () - lastLoop> = 4000) {loop + = 1; lastLoop = millis (); para sa (int j = 0; j <8; j ++) {beatNow [j] = false; }} matalo = (millis () - lastLoop) / 250; kung (beat! = lastBeat) {lastBeat = beat; beatsLeft - = 1; }
Tiyaking nai-update mo ang mga volume nang naaayon sa mga halaga ng beatNow [beat] at / o beatsLeft. Ang halimbawang code na nagsasama ng halos lahat ng bagay sa tutorial na ito, kasama ang ilan, ay nakakabit kung nais mong makita ito sa pagsasanay.
Inirerekumendang:
Somatic - Data Glove para sa Tunay na Mundo: 6 Mga Hakbang (na may Mga Larawan)
Somatic - Data Glove para sa Tunay na Mundo: 4mm-diameter neodymium silindro magnet 4mm-diameter na neodymium silindro na magnet Ito ay puno ng lahat ng mga hardware upang isalin ang mga palatandaan ng kamay at m
DIY Dance Dance Revolution Gamit ang Makey Makey: 6 Hakbang
DIY Dance Dance Revolution Gamit ang Makey Makey: Hoy! Ito ang aking board sa DIY Dance Dance Revolution. Ito ang isa sa aking mga paboritong proyekto na nagtrabaho ako at ito ay tunay na isa sa isang uri. Ang proyektong ito ay ginawa upang makatulong na turuan ang mga bata kung paano gumana ang mga circuit, ginamit ko ang proyektong ito para sa mga STEM night at upang hikayatin
Heated Glove Liners Ver. 2: 8 Mga Hakbang (na may Mga Larawan)
Heated Glove Liners Ver. 2: TANDAAN: Ang pamamaraan ng koneksyon sa wire na inilarawan sa Instructable na ito ay hindi kasinglakas ng kinakailangan nito. Ang isang pinabuting pamamaraan ay matatagpuan dito: Paggawa Sa Carbon Heat RopeIto ang isang binagong bersyon ng aking naunang proyekto. Pinasimple ang konstruksyon
DIY Glove Controller Na May E-Textile Sensors: 14 Mga Hakbang (na may Mga Larawan)
DIY Glove Controller Sa Mga Sensor ng E-Textile: Ang Instructable na ito ay isang sunud-sunod na tutorial sa kung paano gumawa ng isang guwantes ng data sa mga sensor ng eTextile. Ang proyekto ay isang pakikipagtulungan sa pagitan ni Rachel Freire at Artyom Maxim. Si Rachel ay ang tela ng guwantes at taga-disenyo ng sensor ng eTextile at si Arty ang nagdidisenyo ng pabilog
Wizard Glove: isang Arduino Controlled Controller Glove: 4 na Hakbang (na may Mga Larawan)
Wizard Glove: isang Arduino Controlled Controller Glove: The Wizard Glove. Sa aking proyekto gumawa ako ng isang gwantes na maaari mong gamitin upang i-play ang iyong mga paboritong laro na nauugnay sa mahika sa isang cool at nakaka-engganyong paraan gamit lamang ang ilang pangunahing mga assets ng arduino at arduino. maaari kang maglaro ng mga larong bagay tulad ng mga scroll ng matatanda, o ikaw