Cov txheej txheem:
- Cov lus qhia no tau luam tawm thawj zaug ntawm kuv blog thaum Lub Rau Hli 28, 2020
- Kauj Ruam 1: Tsiv Lub Teeb Ua-nyob rau hauv LED
- Kauj Ruam 2: Tsiv lub LED ntawm Kev Nkag Mus Los
- Kauj Ruam 3: Txhim Kho Lub Tsev Qiv Ntawv MIDIUSB
- Kauj Ruam 4: Xa Ntawv MIDI
- Kauj Ruam 5: Xa Ntawv MIDI Los Ntawm Txhua Khawm
- Kauj Ruam 6: Teeb tsa Cov Chaw lossis Ntug Dej (xaiv tau)
- Kauj Ruam 7: Rooj plaub
- Kauj Ruam 8: Rooj Sib Tham
- Kauj Ruam 9: Siv MIDI Tus Tswj
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:24
Cov lus qhia no tau luam tawm thawj zaug ntawm kuv blog thaum Lub Rau Hli 28, 2020
Kuv nyiam tsim cov khoom uas suav nrog khoom siv hluav taws xob, thiab kuv ib txwm xav tsim qee yam siv Arduino.
Ib qho ntawm qhov ua tau zoo tshaj plaws rau cov pib kuv pom yog MIDI maub los. MIDI maub los yog ib qho khoom siv uas xa MIDI cov ntaub ntawv (Suab paj nruas Ntsuas Digital Interface) mus rau lub cuab yeej kom ua suab nrov thiab ua suab paj nruag.
Kuv pom tias ntau qhov kev siv yog qhov nyuaj, txawm tias yog rau cov pib tshiab. Nws nyuaj siab heev pom tias kuv xav tau siv ntau pua kab ntawm cov lej uas nyeem tsis tau. Los yog tias kuv yuav tsum tau siv cov tshuaj tiv thaiv kab mob hauv qee kis, ntawm lwm qhov piv txwv.
Txoj Haujlwm
Los ntawm kev tsim kuv tus kheej Arduino MIDI maub los, kuv lub hom phiaj yog ua kom muaj txoj haujlwm zoo, khaws lub suab nrov qis tshaj. Ib yam dab tsi txhua tus pib tuaj yeem ua raws. Txhawm rau ua tiav qhov ntawd, Kuv siv MIDI Fighter 3D ua lub hauv paus kev tshoov siab thiab tshem tawm txhua qhov tsis tseem ceeb.
Tus nqi tag nrho ntawm kuv txoj haujlwm yog qis dua $ 30, thiab cov npe ntawm cov ntaub ntawv tau luv heev (koom nrog txuas):
- Arduino Leonardo (lossis clone): ntawm $ 10 txog $ 20.
- 16 x Sanwa cov nyees khawm 24mm (lossis clone): nruab nrab ntawm $ 1 txog $ 2.50 ib lub pob.
- Soldering Hlau
- 22 AWG Hluav Taws Xob Hlau
Pawg Arduino
Thaum kuv pib qhov haujlwm no kuv pom muaj cov pawg ntawm Arduino tus qauv tshiab (tsis suav nrog ntau pua ntawm cov laug cam sib xws). Thiab txhua tus ntawm lawv muaj peev xwm sib txawv me ntsis.
Kuv xav tau kom xa MIDI cov cim rau lub khoos phis tawj thiab txoj hauv kev yooj yim tshaj plaws uas yog los ntawm USB. Ib qho Arduino pawg thawj coj raws ATmega32u4 microcontroller tau teeb tsa hauv USB kev sib txuas lus.
Cov nom Arduino cov laug cam nrog kev txhawb nqa USB ib txwm yog Arduino Due, Arduino Zero, Arduino Leonardo, Arduino Micro. Cov laug cam no suav nrog kev txhawb nqa USB uas txhais tau tias lawv tuaj yeem ua haujlwm li USB MIDI ntaus ntawv.
Kuv txiav txim siab mus nrog clone ntawm Arduino Leonardo. Nws muaj cov tswv yim txaus rau txoj haujlwm no thiab nws tseem suav nrog lub taub hau, uas ua rau nws yooj yim rau ntsaws/tshem tawm cov xov hlau.
Thawj kauj ruam
Txawm hais tias kuv yuav piav qhia ib qib zuj zus tias kuv siv cov cai rau txoj haujlwm no li cas, koj tuaj yeem rub tawm qhov kawg.
Txhawm rau upload cov cai rau pawg thawj coj koj yuav tsum siv Arduino IDE. Lawv kuj muaj Web editor uas muaj txiaj ntsig zoo tab sis lawv muaj qhov txwv qis ib zaug hauv ib hnub uas koj tuaj yeem sau cov cai.
Kauj Ruam 1: Tsiv Lub Teeb Ua-nyob rau hauv LED
Nws yog qhov txaus luag li cas "Nyob Zoo Ntiaj Teb" hauv ntiaj teb cov khoom siv tau ntsais muag LED.
Nws yog qhov kev xav tsis zoo rau kuv kom pom tias Arduino Leonardo muaj lub teeb tsa LED uas koj tuaj yeem ntsais muag los ntsuas koj tus lej. Txoj kev ntawd koj tsis tas yuav tsim ib qho kev sib txuas sab nraud ntawm lub khob cij nrog LED thiab tus tiv thaiv.
Code:
Kauj Ruam 2: Tsiv lub LED ntawm Kev Nkag Mus Los
Cov kauj ruam tom ntej yog kom ntsais tib lub LED thaum twg kuv xa lub teeb liab. Kuv tshem cov yas npog ntawm ib kawg ntawm 2 Dupont xov hlau, thiab txuas lwm qhov kawg rau pawg thawj coj:
- Tus lej tus lej 2: Ib qho ntawm cov khoom siv digital (zoo). Nws tuaj yeem yog ib tus lej digital.
- Pin GND: Txhua tus pin hauv av (tsis zoo).
Tam sim no, txhua lub sijhawm kuv koom nrog qhov kawg ntawm cov xov hlau kuv kaw lub Circuit thiab yog li kuv tuaj yeem ua tus lej raws li qhov tsim nyog
Txhua ntawm 20 tus lej digital ntawm Leonardo muaj tus tiv thaiv sab hauv (txiav tawm los ntawm lub neej ntawd) uas tuaj yeem qhib siv INPUT_PULLUP. Nco ntsoov tias qhov rub tawm nkag txhais tau tias lub xeev khawm rov qab:
- HIGH thaum qhib lub Circuit Court (tsis khawm).
- LOW thaum lub kaw lus kaw (khawm raug nias).
Code:
Kauj Ruam 3: Txhim Kho Lub Tsev Qiv Ntawv MIDIUSB
Lub tsev qiv ntawv no tso cai rau Arduino board nrog USB muaj peev xwm los ua lub cuab yeej MIDI hla USB. Txheeb xyuas cov ntaub ntawv raug cai rau cov ntaub ntawv ntxiv.
Siv Arduino IDE, koj tuaj yeem teeb tsa Arduino Libraries ntxiv uas siv Tus Thawj Saib Xyuas Tsev Qiv Ntawv:
- Qhib IDE thiab nyem rau ntawm "Sketch" ntawv qhia zaub mov, tom qab ntawd "suav nrog Lub Tsev Qiv Ntawv", tom qab ntawd "Tswj Cov Tsev Qiv Ntawv".
- Nrhiav MIDIUSB thiab nyem Nruab.
- Thaum nws tau ua tiav, Cov cim npe uas tau teeb tsa yuav tsum tshwm ntawm ib sab ntawm MIDIUSB lub tsev qiv ntawv.
- Kaw Tus Thawj Saib Xyuas Tsev Qiv Ntawv.
Tam sim no Leonardo tuaj yeem xa xov MIDI ntawm USB! Tab sis ua ntej, qee qhov kev nkag siab txog yuav ua li cas MIDI ua haujlwm xav tau.
Yuav ua li cas MIDI Ua Haujlwm
"MIDI (Cov Khoom Siv Suab Nkauj Digital Interface) yog txheej txheem kev sib txuas lus uas txuas cov twj paj nruas hluav taws xob, khoos phis tawj, thiab lwm yam khoom siv suab rau ua suab paj nruag." - Wikipedia
Nws ua haujlwm cov lus tshwm sim nrog cov ntaub ntawv ntawm lub suab thiab nrawm ntawm daim ntawv ua si, ntawm lwm cov lus qhia
Hauv qhov haujlwm tshwj xeeb no, cov tswv yim los ntawm 16 cov nyees khawm xa cov lus sib txawv ntawm USB. Cov lus no tuaj yeem hloov pauv mus ua suab hauv computer siv cov software tsim nyog xws li GarageBand lossis Ableton Live.
Anatomy ntawm MIDI lus
Txhawm rau xa MIDI cov lus, Kuv tau siv sendMIDI () txoj hauv kev los ntawm MIDIUSB Library Kuv tau teeb tsa ntawm theem 3.
Txoj kev no tuaj yeem tau txais 4 qhov ntsuas:
- Hom xwm txheej: Nws tuaj yeem yog 0x09 rau kev ceeb toom Rau (ua si nco) lossis 0x08 rau kev ceeb toom Tawm (nres ua si nco).
- Nco tseg On/Off: Hom kev tshwm sim ua ke nrog MIDI channel (1-16). Kuv tsuas siv channel 1 yog li nws yog 0x90 rau kev ceeb toom On lossis 0x80 rau ceeb toom tawm.
- Nco tseg tus lej: Txhua daim ntawv muaj qhov cuam tshuam tus lej (zaus ntsuas).
- Tshaj tawm: Los ntawm 0 (tsis muaj nrawm) mus rau 127 (nrawm tshaj).
Kauj Ruam 4: Xa Ntawv MIDI
Kuv suav nrog MIDIUSB Lub Tsev Qiv Ntawv thiab tsis txhob ntsais lub teeb tsa hauv, kuv tau xa daim ntawv ceeb toom.
Code:
⚠ Tseem ceeb: Los ntawm cov kauj ruam no mus Arduino hloov mus rau MIDI USB Controller, thiab nws tsis tau txais cov cai ntawm USB.
Thaum koj tau nyam hauv txoj haujlwm uas Arduino tsis tuaj yeem ua haujlwm ntxiv, ua raws cov theem no:
- Tuav khawm khawm rov pib dua ntawm Arduino board.
- Nyem Upload rau Arduino IDE.
- Tso lub khawm pib dua.
- Cov cai hloov tshiab yuav muab tso rau hauv pawg thawj coj saib.
Kauj Ruam 5: Xa Ntawv MIDI Los Ntawm Txhua Khawm
Kauj ruam kawg yog ua daim duab qhia txhua lub suab rau lub pob. Rau 16 cov nyees khawm, Kuv tau teev cov nplai los ntawm C2 txog E3b, uas yog cov suab los ntawm 36 txog 51 hauv ib ntu los ntawm hauv qab mus rau saum thiab ntawm sab laug mus rau sab xis. Txheeb tawm cov ntawv no los ntawm Arduino Tutorials kom pom lub suab sib haum rau txhua daim ntawv.
Kuv siv cov koob digital los ntawm 2 txog 12 thiab tus pin zoo sib xws (siv lawv li digitals) los ntawm A0 txog A4.
Thiab qhov no yog li cas tus lej kawg zoo li https://gist.github.com/lean8086/7de896c3b8f29d15e …
Kauj Ruam 6: Teeb tsa Cov Chaw lossis Ntug Dej (xaiv tau)
Yog tias koj xav ntxiv cov nyees khawm ntxiv nrog lub peev xwm hloov pauv cov channel lossis txhab nyiaj, zoo li hauv MIDI Fighter 3D (saib duab), Arduino Leonardo muaj plaub tus lej ntxiv koj tuaj yeem siv. Arduino Leonardo muaj 20 tus lej digital input/output pins, uas tsuas yog 16 tus siv los ua si sau ntawv.
Koj tuaj yeem siv cov nyees khawm ntxiv no txhawm rau hloov pauv qhov sib txawv hauv cov cai, thiab xa nws tus nqi raws li qhov ntsuas mus rau MidiUSB.sendMIDI txoj hauv kev:
gist.github.com/lean8086/ec8da7486ec3621f9f0b90542a06fcea
Kauj Ruam 7: Rooj plaub
Txhawm rau ua txoj haujlwm no yooj yim, Kuv tau xaiv ntau heev txog kev xaiv cov yam ntxwv twg suav nrog.
- Khawm nkaus xwb: 16 Sanwa zoo li cov nyees khawm arcade, hauv 4x4 daim phiaj. Tsis muaj pob qhov rooj, tsis muaj sliders, tsis muaj faders, lossis lwm yam analog input.
- Unibody case: Siv tsis muaj cov ntsia hlau, txiv ntseej, ntsia liaj qhov rooj, lossis kua nplaum rau lub thawv lossis tuav lub Rooj Tswjhwm Saib Arduino.
- Cov cuab yeej niaj hnub: Piv txwv li, Kuv tau siv cov xaim hluav taws xob es tsis txhob yuav cov xaim hluav taws xob tshwj xeeb rau cov khawm arcade.
Unibody Tsim
Ib qho ntawm cov teeb meem kuv tau ntsib yog tsim cov ntaub ntawv yooj yim txaus uas nws tsis xav tau sib dhos thiab tuaj yeem luam tawm 3d hauv ib zaug.
Txhawm rau zam kev siv cov ntsia hlau lossis cov kua nplaum, kuv xav tau los tsim lub thawv ntawv uas muab cov khoom siv hluav taws xob tsawg tshaj plaws. Kuv qhov kev tshoov siab loj tshaj plaws rau lub thawv yog Mac Mini, uas muaj lub voj voog zoo li lub qhov nyob hauv qab. Kuv kuj xav tsim lub hau ntswj rau qhov ntawd, tab sis kuv txiav txim siab tso nws qhib kom nthuav tawm cov khoom siv hluav taws xob.
Rub tawm cov ntaub ntawv luam tawm 3d (322 KB). Pom zoo teeb tsa: PLA, 0.15mm txheej, 20% ntxiv, txhawb cov neeg ua haujlwm tsawg kawg rau qhov sib npaug hauv qab, cov tuav Arduino, thiab micro USB.
Tuav tus Arduino uas tsis muaj cov ntsia hlau
Leonardo muaj 4 lub qhov los ntsia lub rooj tsavxwm rau hauv txhua rooj plaub uas tsim nyog, tab sis kuv lub tswv yim yog ua kom yooj yim ntxiv thiab tshem lub rooj tsavxwm ntawm rooj plaub.
Kev nrhiav tus tuav lub clip rau Arduino ntawm Thingiverse tau yooj yim, thiab nws coj kuv 5 qhov rov ua dua los ua ke tus tuav rau qhov tsis xav tau ntawm lub cev. Qhov nyuaj tshaj plaws yog ua nws ob txhais ceg kom tsis txhob muaj lub qhov rau cov nyees khawm, thiab ua kom micro USB kom nyob hauv nruab nrab ntawm rooj plaub.
Kauj Ruam 8: Rooj Sib Tham
Tom qab ntxig tag nrho cov nyees khawm rau hauv qhov chaw, Kuv tau siv cov xov dub dub txuas rau txhua qhov tsis zoo ntawm cov nyees khawm ntawm lawv.
Tom qab ntawd kuv tau siv cov xov hlau liab ntev los ntawm txhua ceg zoo los txuas ncaj qha mus rau lub rooj tsavxwm.
Txhawm rau txuas cov xov hlau mus rau Arduino, Kuv tau txiav thiab muag qee qhov Dupont xaus thiab npog lawv nrog cua sov-ntsws tubing.
Kuv txuas cov xov hlau mus rau pawg thawj coj raws li qhov kev txiav txim ib yam li hauv MIDI Fighter. Los ntawm hauv qab mus rau saum thiab los ntawm sab laug mus rau sab xis
Kauj Ruam 9: Siv MIDI Tus Tswj
Ib qho software software (lossis kho vajtse tsim nyog) tuaj yeem siv tau txais MIDI thiab ua suab paj nruag. Cov uas tau pom zoo tshaj plaws yog Garage Band, Ableton Live, thiab kuv paub tias muaj cov pawg app los teeb tsa hauv xov tooj.
Tag nrho cov cuab yeej no muaj txiaj ntsig zoo rau kev rub lub suab ua ntej ua ntej rau kev ntaus nrig, tab sis lawv tau ua rau lub hom phiaj loj dua. Cov cuab yeej no tuaj yeem nyuaj rau cov pib tsim teeb tsa.
MIDI hauv Web browser
Txhawm rau ua qee yam ntxiv ua ke nrog txoj haujlwm no thiab nws qhov yooj yim, Kuv tau tsim Lub Vev Xaib ua kom pom tseeb ntawm MIDI cov tswj hwm.
Punchy: WebMIDI thiab WebAudio siv rau MIDI cov tswj.
Nws tuaj yeem nyeem MIDI cov lus ntawm txhua lub browser uas txhawb nqa WebMIDI JavaScript API. Tom qab ntawd nws ua suab nrov hauv cov khoom sib xyaw (siv WebAudio API) lossis hauv tus qauv, rub cov suab nrov los ntawm ib pob suab.
Teeb tsa Ableton Live
Txhawm rau ua MIDI Tus Tswj Xyuas Haujlwm ua haujlwm nrog Ableton Live, ua raws cov kauj ruam yooj yim no los ntawm lawv cov ntaub ntawv raug cai.
Mus rau Preferences → Txuas MIDI thiab xyuas kom tseeb tias "Cov tswv yim" muaj "Track" thiab "Remote" ON thiab cov zis muaj "Remote" ON raws li tau hais hauv phau ntawv qhia:
Pom zoo:
Tsim Arduino MIDI maub los: 5 Kauj Ruam (nrog Duab)
Tsim Arduino MIDI Controller: Nyob zoo txhua tus! Hauv cov lus qhia no kuv yuav qhia koj yuav tsim koj li Arduino powered MIDI maub los li cas. MIDI sawv rau Cov Cuab Yeej Siv Hluav Taws Xob Digital Interface thiab nws yog cov txheej txheem uas tso cai rau khoos phis tawj, cov twj paj nruas thiab lwm yam kho vajtse los ua ke
MutantC_v2 - Ib qho yooj yim los tsim Raspberry Pi Handheld/UMPC: 8 Cov Kauj Ruam (nrog Duab)
MutantC_v2 - Ib qho yooj yim los tsim Raspberry Pi Handheld/UMPC: Raspberry -pi handheld platform nrog lub keyboard lub cev, Zaub thiab nthuav dav lub taub hau rau cov laug cam (Zoo li Arduino Shield) .mutantC_V2 yog tus ua tiav ntawm mutantC_V1. Txheeb tawm mutantC_V1 los ntawm no.https: //mutantc.gitlab.io/https: //gitlab.com/mutant
Lune - MIDI maub los nrog Arduino (rau DJ lossis tshuab raj): 5 Kauj Ruam (nrog Duab)
Lune - MIDI maub los nrog Arduino (rau DJ lossis Tshuab raj): Nov yog kuv thawj arduino (microcontroller) lub npe project Lune. Kuv xav kawm arduino nrog txoj haujlwm muaj txiaj ntsig thiab muaj txiaj ntsig zoo yog li kuv txiav txim siab los ua tus tswj midi DJ uas muaj txhua lub luag haujlwm xav tau kom nyob ib leeg kom sib xyaw.Qhov txhua yam sensor (muaj zog
MesoTune - Sib Nqus MIDI maub los: 16 Cov Kauj Ruam (nrog Duab)
MesoTune - Sib Nqus MIDI maub los: Nco tseg: Kuv xav muab qhov txiaj ntsig ntawm qhov haujlwm no los ntawm Alex Bluhme. Yog li thov txheeb xyuas nws ntawm no https://vimeo.com/171612791.Koj puas yog koj tus kws sau nkauj, hu nkauj, hu nkauj, lossis ua suab paj nruag uas nyiam tsim lawv tus kheej ntaus, tab sis tau dhuav nrog txhua tus
Oceania Midi maub los (ua kom nrov nrov 0-Ntug Hiav Txwv thiab Lwm Yam Synths): 6 Cov Kauj Ruam (nrog Duab)
Oceania Midi Controller (rau Ua Ntej 0-Ntug Hiav Txwv thiab Lwm Yam Synths): Hauv ob peb xyoos dhau los, cov tuam txhab tsim hluav taws xob tau tso tawm " desktop semi-modular " seev. Lawv feem ntau siv tib daim ntawv foos raws li Eurorack modular synthesizer format thiab feem ntau yog tej zaum yog lub hom phiaj