Talaan ng mga Nilalaman:

Arduino MIDI Controller para sa Aalto: 7 Mga Hakbang
Arduino MIDI Controller para sa Aalto: 7 Mga Hakbang

Video: Arduino MIDI Controller para sa Aalto: 7 Mga Hakbang

Video: Arduino MIDI Controller para sa Aalto: 7 Mga Hakbang
Video: Web Programming - Computer Science for Business Leaders 2016 2024, Hulyo
Anonim
Arduino MIDI Controller para sa Aalto
Arduino MIDI Controller para sa Aalto

Bilang isang amateur na musikero, madalas akong pumunta mula sa Analog Synths hanggang sa VSTs.

Kapag nasa "VST" na kalagayan ako, talagang nasa isang kamangha-manghang instrumento ako: Madronalab's Aalto VST

Ang hindi kapani-paniwala na VST na ito ay napaka-kakayahang umangkop, bumubuo ito ng napakahusay na tunog at madaling gamitin para sa isang makatwirang presyo.

Ang aking limitasyon sa mga VST, gayunpaman, ay hindi ko talaga mahawakan ang mga kontrol at kailangan kong gamitin ang aking mouse / trackpad habang naka-jam ako - hindi ang pinakamahusay. Nagmamay-ari ako ng isang MIDI controller ngunit ang mga knobs ay hindi nagpapakita ng tunay na interface ng Aalto.

Sa kabilang banda, sa modular o semi-modular synths hindi mo talaga mai-save ang iyong mga patch na ginagawang medyo nakakainis sa akin ang buong bagay.

Kaya nais kong lumikha ng isang Custom MIDI controller para sa Aalto na may disenyo na sumasalamin sa interface ng Aalto upang makontrol ang pinaka-kaugnay na mga bagay.

Sundan ako sa Instagram upang makita ang maraming mga video ng proseso: kakaiba

Ako, sa Spotify:

Mga gamit

- 1 Arduino Mega- 14 Potentiometers (Ginamit ko ang mga iyan -> PTV09A-4020F-B103) - Isang breadboard para sa mga prototype - Inirerekumenda ko talaga ang Electro Cookie perfboard na napakahusay para sa paghihinang (ang asul sa imahe) - Plywood - Paghihinang Bakal - Tape ng Copper - Tumalon na mga wire

Hakbang 1: Idisenyo ang Iyong Sarili

Idisenyo ang Iyong Sarili
Idisenyo ang Iyong Sarili
Idisenyo ang Iyong Sarili
Idisenyo ang Iyong Sarili
Idisenyo ang Iyong Sarili
Idisenyo ang Iyong Sarili
Idisenyo ang Iyong Sarili
Idisenyo ang Iyong Sarili

Simula mula sa interface ng aking VST, nais kong i-wireframe ang aking layout ng ilang papel upang makahanap ng perpektong akma.

Pagkatapos ay dinisenyo ko iyon sa isang software, naka-print ito, at nakadikit iyon sa isang prototype ng karton upang makita kung ang layout ay maaaring gumana sa totoong mundo.

Nasa iyo ang hakbang na ito - maaari mo itong idisenyo para sa isang kahon ng lata o isang kahon ng posporo: ang aking rekomendasyon ay ang prototype hangga't makakaya mo.

Ang paggawa ng kaso ng playwud na tumutugma sa mga electronics board at paggamit ng mga perfboard ay hindi ang pinaka tumpak na bagay na kailanman: mas masubukan mo ang mas mahusay.

Hakbang 2: Paghihinang at Mga Kable

Paghihinang at Mga Kable
Paghihinang at Mga Kable
Paghihinang at Mga Kable
Paghihinang at Mga Kable
Paghihinang at Mga Kable
Paghihinang at Mga Kable
Paghihinang at Mga Kable
Paghihinang at Mga Kable

Kapag kumpleto ang iyong disenyo, maaari kang pumunta para sa electronics!

Tandaan: Ipinapalagay ko sa iyo na uri ng alam kung paano gumagana ang mga bagay-bagay upang hindi ko mapunta sa mga detalye ng paghihinang at mga koneksyon.

Sa yugtong ito ginamit ko ang 2 magkakaibang mga butas na butas para sa tatlong magkakahiwalay na mga circuit: ang dilaw-ish ay marahil ang pinaka-karaniwan. Hindi ko gusto ito ng marami ngunit mayroon akong ekstrang isa kaya nais kong gamitin iyon kahit papaano. Ang isang asul-ish ay mas mahusay at inirerekumenda ko na gamitin ang isa sa halip kung ikaw ay isang nagsisimula tulad ko.

Sa dilaw-ish isang butas ay napaka, napakaliit at ang tanso ay nasa isang gilid lamang sa paligid ng bawat solong butas, ang solder ay hindi dumadaloy sa butas.

Upang idisenyo ang mga bakas sa board na ito, nagpasya akong pumunta para sa 5mm copper tape: Pinutol ko ito sa kalahati ngunit ito ay isang kakila-kilabot na ideya. Dahil napakagaan nito ay kakila-kilabot hawakan at ang parehong GND at VCC ay maaaring hindi maipamahagi nang maayos. Ito ay nangangailangan ng maraming pagsubok at pag-aayos at ito ay tumagal ng isang mahabang panahon.

Ngunit hey, mukhang napakahusay sa huli.

Ang paggawa ng mga wire na tumatakbo sa paligid ay medyo masakit: ang pagtatapos ng board na ito ay marahil ang bagay na tumagal ng mas maraming oras.

Ang paggamit ng asul na perfboard (tinatawag na Electro Cookie sa Amazon) ay mas mahusay: ito ay konektado tulad ng isang breadboard, maaari mong maiwasan ang paggamit ng tansong tape dahil ang mga pin at wires ay konektado na kapag na-solder sa parehong bloke.

Gayundin, maaari mo itong mai-snap gamit ang iyong mga kamay sa mas maliit na mga piraso na kung saan ay masidhing mas mahusay.

Ang mga butas ay mas malaki at pinahiran ng tanso na ginagawang napakabilis at malinis ng paghihinang.

Tumagal ng 3-4 na araw upang gawin ang unang dilaw-ish board, ilang oras lamang upang magawa ang iba pang 2.

Tandaan sa potentiometers Tulad ng nakikita mong kinailangan kong yumuko ang mga paa ng palayok - ang mga ito ay sinadya upang magamit sa PBCs at hindi talaga ang pinakamahusay sa kasong ito. Gayunpaman, ang baluktot ng kanilang mga paa sa tamang anggulo ay naging matatag sila.

Hakbang 3: Mula sa Hardware hanggang sa Software

Mula sa Hardware hanggang sa Software
Mula sa Hardware hanggang sa Software

Ngayon ay nakakonekta mo na ang lahat ng iyong mga bagay at sana nagawa mo ang iyong mga pagsusuri upang suriin ang iyong Vcc at GND ay ok.

Ang mga potensyal ay marahil ang pinakamadaling bagay na magsisimula sa Arduino.

Mayroon silang tatlong mga pin: ang isa ay para sa GND, ang isa ay para sa 5V. Ang gitnang pin ay isang uri ng "output" ng potensyomiter. Kung ikinonekta mo ang GND sa kaliwang pin, 5V sa kanang pin at pinihit mo ang palayok nang pakanan, makikita mo ang pagtaas ng halaga sa "output" nito sa pagitan ng 0 hanggang 5V.

Ang gitnang pin ay pupunta sa isa sa mga "analog input" ng Arduino na kung saan ay sample ang halaga at isasalin ito sa isang digital na numero: Isalin ng Arduino Mega 2560 ang mga halaga mula 0 hanggang 1023 (magbibigay ito ng 0 kapag ang palayok ay lahat ang daan patungo sa kaliwa, 1023 kung kailan ang lahat patungo sa kanan, 5V).

Tandaan na tumatanggap ang MIDI ng mga halaga mula 0 hanggang 123 kaya kakailanganin mong hatiin ang halaga ng Arduino ng 8 bago ipadala ang halaga ng integer sa pamamagitan ng serial.

Mukhang napaka-simple (at ito ay) ngunit may ilang mga bagay na dapat tandaan: - madalas na ang mga kaldero ay hindi sobrang tumpak: ang kanilang output ay maaaring random na tumalon sa mga katabing halaga, na nagpapalitaw ng mga hindi kanais-nais na mga utos ng CC- iyong circuit (mabuti, minahan sa kasong ito) ay hindi perpekto: dahil hindi isang PCB maaari kang magkaroon ng mga random na halaga dito at doon kaya, muli, mga random na halaga. kailangan mong maghanap ng solusyon upang maiwasan ito

Ang aking code ay nakasulat upang talakayin ang tatlong mga puntos sa itaas at ginagawa ito ng maayos.

Hakbang 4: Paano Gumagana ang MIDI

Ang MIDI ay isang napakatandang protokol, na dinisenyo at nilikha upang gumana ang mga computer at instrumento.

Mayroong isang komprehensibong paliwanag kung paano gumagana ang MIDI: pagdating sa pagpapadala ng mga tala, maraming tonelada ng mga signal na maaari mong ipadala ngunit sa aming kaso, ang lahat ay napaka-simple.

Gumagawa kami sa Control Change (MIDI) kaya kailangan naming gumamit ng isa sa mga channel na iniulat sa talahanayan na ito:

www.midi.org/specifications-old/item/table…

mula 176 hanggang 191.

Kapag nagpadala ka ng mga halagang MIDI / CC kailangan mong ipadala sa pamamagitan ng serial: - ang status byte (unang haligi ng talahanayan) upang sabihin sa iyong DAW na magpapadala ka ng isang CC- aling kontrol - sa kasong ito, kung saan ang KNOB - ay nagpapadala nito (numero ng integer) - ang halaga ng kontrol

Sa aking kaso mayroon akong 14 na mga knobs kaya ang isang mensahe ay maaaring:

Serial.write (176, 13, 107)

Ang Knob 13 ay nagpapadala ng 107 na halaga sa pamamagitan ng CC.

Tumatanggap ang MIDI ng mga halagang 0 hanggang 123 habang binabasa ng Arduino ang mga halagang analog mula 0 hanggang 1023 - tandaan lamang na hatiin ng 8 bago i-sanding ang halaga.

Hakbang 5: Paano Magpadala ng MIDI Higit sa USB sa Arduino

Mayroon kang 2 pagpipilian upang maipadala ang MIDI sa USB gamit ang Arduino:

  • flashing isang panloob na Arduino USB controller (inirerekumenda sa pinakadulo ng iyong proyekto)
  • umaalis sa stock ng Arduino at gumamit ng isang software sa iyong PC (ang isang ito) SOBRANG Inirerekomenda

Ang Flashing Arduino USB Controller ay hindi ang pinaka maginhawang paraan upang prototype: kapag na-flash mo ang firmware upang maipadala ang MIDI sa USB, hindi makakatanggap ang Arduino ng anumang bagong code upang mai-upload, kaya kung nais mong i-update ang iyong code, kailangan mong i-flash ang firmware sa bersyon ng stock. Kaya, halimbawa, ang iyong Arduino ay stock at i-upload mo ang code. I-flash mo ito upang gumana ang MIDI. I-plug ito. I-plug in ito. Sinubukan mo ang code. Hindi ito gagana.

I-flash mo ito pabalik sa stock. Unplug. Plug-in. Baguhin ang code. Upload. Flash. UnplugPlugin [REPEAT AND CRY]

Ang nag-iisang Pro ng ito ay hindi mo kailangang gumamit ng anumang panlabas na software ngunit inirerekumenda kong gamitin ang pamamaraang ito lamang sa pinakadulo ng iyong proyekto.

Sa kabilang banda ang Hairless ay napakadaling gamitin dahil hindi mo kailangang i-flash ang anumang bagay - kung nasa isang Mac ka gumagana ito nang perpekto sa MIDI Setup at makikilala agad ito ng iyong DAW bilang "walang buhok na midi controller". Marami, magkano mas mabuti.

Hakbang 6: Oras ng Pag-coding

Oras ng Pag-coding!
Oras ng Pag-coding!

Hindi gaanong masasabi dito habang nai-post ang aking code sa Github at nagkomento ako ng code hangga't maaari.

Tandaan lamang ang ilang mga pangunahing bagay:

  1. Pinahahalagahan ng elektrisidad ang aking pagbabagu-bago
  2. hindi mo nais na baha ka ng DAW na may mga hindi kinakailangang CC signal
  3. Hindi mo nais na magpadala ng isang dobleng mensahe sa CC

Sa aking code ang lahat ay ipinaliwanag at maaari mo itong makita dito

Hakbang 7: Pagsamahin ang Iyong Mga Bagay

Pagsama-samahin ang Iyong mga Bagay
Pagsama-samahin ang Iyong mga Bagay
Pagsama-samahin ang Iyong mga Bagay
Pagsama-samahin ang Iyong mga Bagay
Pagsama-samahin ang Iyong mga Bagay
Pagsama-samahin ang Iyong mga Bagay

Ngayon ang iyong code ay gumagana at ang tanging bagay na kailangan mong gawin ay pagsamahin ang iyong mga bagay.

Mangangailangan ito ng ilang mga kasanayan sa kahoy na wala ako (sa kabutihang palad tinulungan ako ng aking asawa sa proseso) kaya't hindi talaga ako makapagbibigay ng mga payo ngunit kung nagpasya kang gumamit ng mga perfboard magkakaroon ka ng napakalinis at walang gulong na trabaho. Ngayon plug ang iyong USB, buksan ang iyong DAW at i-drop ang ilang bass!

Inirerekumendang: