Talaan ng mga Nilalaman:
- Hakbang 1: Mga Kagamitan
- Hakbang 2: Disenyo
- Hakbang 3: Konstruksiyon at Mga Kable
- Hakbang 4: Programming
- Hakbang 5: Pag-setup
Video: Arduino Uno Midi Fighter: 5 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Ang itinuturo na ito ay nilikha bilang pagtupad sa kinakailangan ng proyekto ng Makecourse sa University of South Florida (www.makecourse.com)
Batay sa sikat na MidiFighter ng DJ Techtools, ang lutong bahay na Arduino na pinapatakbo ng Musical Instrument Digital Interface (MIDI) na controller ay maaaring magamit bilang isang aparato ng MIDI sa anumang software ng Digital Audio Workstation (DAW). Ang isang MIDI controller ay maaaring magpadala at tumanggap ng mga mensahe ng MIDI mula sa isang computer at maaaring magamit upang direktang makontrol ang alinmang software ang ginagamit. Bilang karagdagan, ang mga kontrol sa isang MIDI controller ay ganap na napapasadyang - nangangahulugang ang bawat indibidwal na pindutan, slider at knob ay maaaring ma-map sa anumang pagpapaandar sa isang DAW. Halimbawa, ang pagpindot sa isang pindutan ay maaaring maglaro ng isang tukoy na tala o mai-program upang i-toggle ang tempo ng iyong proyekto sa audio.
github.com/jdtar/Arduino-Midi-Controller
Hakbang 1: Mga Kagamitan
Nasa ibaba ang isang listahan ng mga materyales at tool na ginamit sa proyektong ito.
Arduino Uno
Breadboard
4051/4067 Multiplexer
Jumper wires
Dagdag na Wire
2x 10k ohm linear slide potentiometers
16x mga pindutan ng Sanwa 24mm
Heat Shrink
Panghinang
Pang-ahit
4.7 kΩ risistor
Acrylic Sheet (para sa talukap ng mata)
Pabahay para sa mga pindutan at Arduino
3d printer
Laser Cutter
Hakbang 2: Disenyo
Naibigay na sa akin ang pabahay para sa aking MIDI controller bago simulan ang proyekto, kaya't kinutya ko ang isang sketch para sa takip upang mailarawan kung saan ilalagay ang lahat. Alam kong nais ko ng hindi bababa sa 16 na mga pindutan at isang pares ng potensyal bilang isang tampok kaya sinubukan kong i-out ang mga bahagi nang pantay-pantay hangga't maaari.
Matapos iguhit ang layout para sa talukap ng mata, na-export ang file bilang isang 1: 1 PDF at ipinadala ito sa isang laser cutter upang gupitin ang isang sheet ng acrylic. Para sa mga butas ng tornilyo, minarkahan ko kung saan ko nais ang mga butas na kasama ng marker at natunaw ang acrylic na may isang mainit na filament.
Nakalakip ang 1: 1 PDF na maaaring mai-print bilang isang 1: 1 at gupitin ng mga tool sa kuryente kung ang isang laser cutter ay hindi magagamit.
Hakbang 3: Konstruksiyon at Mga Kable
Matapos i-cut ang pagputol ng acrylic, nalaman ko na ang acrylic ay masyadong manipis upang sapat na suportahan ang lahat ng mga bahagi. Pagkatapos ay pinutol ko ang isa pang sheet at idinikit ang mga ito kung saan nangyari na ganap na gumana.
Ang mga kable ng mga sangkap ay tumagal ng ilang pagsubok at error ngunit nagresulta sa Fritzing sketch na nakakabit. Una kong nag-wire ang mga ground wires at ang 4.7kΩ resistor, nahinang at pinaliit ng init ang mga koneksyon sa mga pindutan. Ang pag-mount ng dalawang slide potentiometers ay nangangailangan ng mga butas sa pagtunaw para sa mga turnilyo sa acrylic. Matapos ang dalawang potentiometers ay na-screwed, sila ay naka-wire hanggang sa A0 at A1 analog pin. Matapos makumpleto ang mga kable, naalala ko na walang mga cap ng knob para sa aking fader kaya sa halip na bilhin ang mga ito, nag-print ako ng ilang mga cap ng knob gamit ang isang 3-D na printer sa pamamagitan ng pag-sketch nito sa Autodesk Fusion 360 at pag-export sa isang STL file. De
Ang Arduino Uno ay mayroon lamang 12 magagamit na mga digital input pin ngunit 16 na mga pindutan ang dapat i-wire up. Upang mabayaran ito, nag-wire ako ng isang 74HC4051 Multiplexer sa isang breadboard na gumagamit ng 4 digital input pin at nagbibigay-daan sa maraming signal upang magamit ang isang nakabahaging linya na nagreresulta sa 8 magagamit na mga digital input pin para sa isang kabuuang 16 mga digital na pin na magagamit para magamit.
Ang pag-kable ng mga pindutan sa tamang mga pin ay simpleng isang bagay ng paglikha ng isang 4x4 matrix at ginagamit iyon sa code. Gayunpaman, ang nakakalito na bahagi ay ang tukoy na binili ng multiplexer ay may isang tukoy na layout ng pin na tinulungan ng datasheet at mayroon din akong isang natukoy na layout ng tala sa pag-wire ng mga pindutan na natapos na mukhang medyo ganito:
TANDAANG MATRIX
[C2] [C # 2] [D2] [D # 2]
[G # 2] [A1] [A # 2] [B1]
[E1] [F1] [F # 1] [G1]
[C2] [C # 2] [D2] [D # 2]
PIN MATRIX (M = MUX INPUT)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Hakbang 4: Programming
Kapag natapos na ang pagpupulong, ang pag-program ng Arduino ay natitira na. Ang naka-attach na script ay nakasulat sa isang paraan na madali itong napapasadya.
Kasama sa simula ng script ang MIDI.h library at isang library ng panghihiram na hiniram mula sa blog ng Mga Tala at Volts na parehong kasama sa zip file para sa code. Gamit ang library ng controller, ang mga bagay para sa mga pindutan, potentiometers at multiplexed na mga pindutan ay maaaring malikha na naglalaman ng mga halaga ng data na kasama ang numero ng tala, mga halaga ng kontrol, bilis ng tala, numero ng channel ng MIDI, atbp. Ang MIDI.h library ay nagbibigay-daan sa mga komunikasyon ng MIDI I / O sa Ang mga serial port ng Arduino na kung saan ay kukuha ng data mula sa mga object ng controller, pinapalit ito sa mga mensahe ng MIDI at ipinapadala ang mga mensahe sa alinmang koneksyon ng midi na nakakonekta.
Ang walang bisa na pag-setup na bahagi ng script ay pinapasimulan ang lahat ng mga channel bilang naka-off at nagsisimula din ng isang serial na koneksyon sa 115200 baud, isang rate na mas mabilis kaysa sa mga signal ng MIDI na ipinagpapalit.
Mahalagang kinukuha ng pangunahing loop ang mga arrays ng mga pindutan at multiplexed na mga pindutan at nagpapatakbo ng isang para sa loop na suriin kung ang pindutan ay pinindot o inilabas at nagpapadala ng kaukulang mga byte ng data sa interface ng midi. Sinusuri ng loop ng potentiometer ang posisyon ng potentiometer at ipinapadala ang kaukulang mga pagbabago sa boltahe pabalik sa interface ng midi.
Hakbang 5: Pag-setup
Kapag na-load ang script sa Arduino, ang susunod na hakbang ay ang plug and play. Mayroong ilang mga hakbang, gayunpaman, bago ito magamit.
Sa OSX, isinama ng Apple ang isang tampok upang lumikha ng mga virtual midi device na maaaring ma-access sa pamamagitan ng application ng Audio Midi Setup sa mga mac. Sa sandaling nalikha ang bagong aparato, ang Hairless MIDI ay maaaring magamit upang lumikha ng isang serial na koneksyon sa pagitan ng Arduino at ng bagong virtual midi device. Ang serial na koneksyon mula sa Arduino sa pamamagitan ng Hairless MIDI ay nagpapatakbo sa rate ng baud na tinukoy sa walang bisa na pag-setup na bahagi ng script at dapat itakda na katumbas sa mga setting ng kagustuhan ng Hairless MIDI.
Para sa mga layuning pagsubok ay ginamit ko ang Midi Monitor upang suriin kung ang tamang data ay ipinapadala naisip ang koneksyon sa serial-MIDI. Sa sandaling natukoy ko na ang lahat ng bawat pindutan na ipinadala sa tamang data sa pamamagitan ng mga tamang channel, itinakda ko ang signal ng MIDI upang mag-ruta sa Ableton Live 9 bilang isang MIDI Input. Sa Ableton nagawa kong i-map ang mga hiniwang audio sample sa bawat pindutan at i-play ang bawat sample.
Inirerekumendang:
Bumuo ng isang Arduino MIDI Controller: 5 Hakbang (na may Mga Larawan)
Bumuo ng isang Arduino MIDI Controller: Kumusta ang lahat! Sa itinuturo na ito ay ipapakita ko sa iyo kung paano bumuo ng iyong sariling Arduino pinalakas na MIDI controller. Ang MIDI ay nangangahulugang Musical Instrument Digital Interface at ito ay isang protokol na nagpapahintulot sa mga computer, instrumentong pangmusika at iba pang hardware na makipagkita
Arduino Uno Fish Feeder sa 6 Murang at Madaling Mga Hakbang !: 6 Mga Hakbang
Arduino Uno Fish Feeder sa 6 Murang at Madaling Mga Hakbang !: Kaya't kakailanganin ng kaunting backstory para sa proyektong ito. Ang mga taong may alagang hayop ay malamang na nailahad ng parehong problema sa akin: mga bakasyon at pagkalimot. Patuloy kong nakalimutan na pakainin ang aking isda at palaging nag-agawan na gawin ito bago ito mapunta sa
Ang Mas Napakapangyarihang Arduino-UNO, Massduino-UNO: 9 Hakbang
Ang Mas Malakas na Arduino-UNO, Massduino-UNO: Ano ang Massduino? Ang Massduino ay isang bagong linya ng produkto, na pinagsasama ang platform ng Arduino peripheral -rich, maginhawa at mabilis na pag-unlad, murang gastos at madaling makagawa ng malakihang kalamangan sa produksyon. Halos lahat ng code ng Arduino ay maaaring
Batay sa Arduino MIDI Fighter (Touch Sensitive): 7 Mga Hakbang (na may Mga Larawan)
Batay sa Arduino MIDI Fighter (Touch Sensitive): Ang MIDI ay nangangahulugang Musical Instrument Digital Interface. Dito, gumagawa kami ng touch touch MIDI fighter. Mayroon itong 16 pad. ang mga ito ay maaaring dagdagan o bawasan. Dito nagamit ko ang 16 dahil sa limitadong mga arduino pin. Gayundin gumamit ako ng mga analog input pin
MIDI 5V LED Strip Light Controller para sa Spielatron o Iba Pang MIDI Synth: 7 Hakbang (na may Mga Larawan)
MIDI 5V LED Strip Light Controller para sa Spielatron o Iba pang MIDI Synth: Ang controller na ito ay nag-flash ng tri-color LED strip lights para sa 50mS bawat tala. Blue para sa G5 hanggang D # 6, pula para sa E6 hanggang B6 at berde para sa C7 hanggang G7. Ang controller ay isang aparato na ALSA MIDI kaya ang MIDI software ay maaaring output sa mga LED nang sabay-sabay bilang isang MIDI synth device