Përmbajtje:
- Ky udhëzues u botua fillimisht në blogun tim më 28 qershor 2020
- Hapi 1: Pulsim i LED-it të integruar
- Hapi 2: Pulsimi i LED në hyrjen manuale
- Hapi 3: Instalimi i Bibliotekës MIDIUSB
- Hapi 4: Dërgimi i një Mesazhi MIDI
- Hapi 5: Dërgimi i një mesazhi MIDI nga çdo buton
- Hapi 6: Vendosja e kanaleve ose bankave (opsionale)
- Hapi 7: Rasti
- Hapi 8: Kuvendi
- Hapi 9: Përdorimi i kontrolluesit MIDI
Video: Ndërtimi i një kontrolluesi Arduino MIDI: 9 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Ky udhëzues u botua fillimisht në blogun tim më 28 qershor 2020
Më pëlqen të ndërtoj gjëra që përfshijnë elektronikë dhe gjithmonë kam dashur të ndërtoj diçka duke përdorur Arduino.
Një nga pajisjet më të zakonshme për fillestarët që gjeta ishte një kontrollues MIDI. Një kontrollues MIDI është çdo pajisje që dërgon të dhëna MIDI (Ndërfaqe dixhitale e instrumentit muzikor) në një pajisje për të shkaktuar tinguj dhe për të bërë muzikë.
Kam gjetur se shumë zbatime janë të ndërlikuara, madje edhe ato që janë për fillestarët. Ishte shumë zhgënjyese të gjesh se kam nevojë të përdor qindra rreshta të kodit të palexueshëm. Ose që kam nevojë të lidh një rezistencë në disa raste, midis shembujve të tjerë.
Projekti
Duke ndërtuar kontrolluesin tim Arduino MIDI, qëllimi im ishte të bëja një projekt të këndshëm, duke e mbajtur zhurmën në nivelin më të ulët. Diçka që çdo fillestar mund të ndjekë. Për ta arritur këtë, unë përdor MIDI Fighter 3D si një frymëzim bazë dhe hoqa çdo veçori jo thelbësore.
Kostoja totale e projektit tim ishte nën 30 dollarë, dhe lista e materialeve ishte vërtet e shkurtër (lidhjet e filialeve):
- Arduino Leonardo (ose klon): midis $ 10 dhe $ 20.
- 16 x butona Sanwa 24mm (ose klon): midis $ 1 dhe $ 2.50 për buton.
- Makine per ngjitjen e metalit
- 22 Tela Elektrike AWG
Bordi Arduino
Kur fillova këtë projekt, gjeta se kishte një mori modelesh të reja Arduino (pa përfshirë qindra tabela të pajtueshme). Dhe të gjithë ofrojnë aftësi paksa të ndryshme.
Më duhej të dërgoja sinjale MIDI në një kompjuter dhe mënyra më e thjeshtë për ta bërë këtë është përmes USB. Çdo bord Arduino i bazuar në mikrokontrolluesin ATmega32u4 ka një komunikim USB të integruar.
Pllakat zyrtare të Arduino me mbështetje amtare USB janë Arduino Due, Arduino Zero, Arduino Leonardo, Arduino Micro. Këto borde kanë mbështetje të integruar USB që do të thotë se ato mund të veprojnë si një pajisje MIDI USB.
Vendosa të shkoj me një klon të Arduino Leonardo. Ka hyrje të mjaftueshme për këtë projekt dhe përfshin gjithashtu tituj, gjë që e bën më të lehtë lidhjen/shkëputjen e telave.
Hapat e parë
Edhe pse unë do të shpjegoj hap pas hapi se si e zbatova kodin për këtë projekt, ju mund të shkarkoni versionin përfundimtar.
Për të ngarkuar kodin në tabelë duhet të përdorni Arduino IDE. Ata gjithashtu kanë një redaktues në internet që është shumë i dobishëm, por ata kanë një kuotë të kufizuar në oraret në ditë që mund të përpiloni kodin.
Hapi 1: Pulsim i LED-it të integruar
Funnyshtë qesharake se si "Hello World" në botën e pajisjeve po ndez një LED.
Ishte një surprizë e bukur për mua të zbuloja se Arduino Leonardo ka një LED të integruar të cilin mund ta blini për të provuar kodin tuaj. Në atë mënyrë nuk keni nevojë të ndërtoni një qark të jashtëm në një tabelë me një LED dhe një rezistencë.
Kodi:
Hapi 2: Pulsimi i LED në hyrjen manuale
Hapi tjetër logjik ishte të ndezja të njëjtën LED sa herë që dërgoja një sinjal. Hoqa mbulesën plastike të njërit skaj të 2 telave Dupont dhe lidhi skajin tjetër me tabelën:
- Numri i pinit 2: Një nga hyrjet dixhitale (pozitive). Mund të jetë çdo kunj dixhital.
- Pin GND: Çdo kunj terreni (negativ).
Tani, sa herë që bashkohem me skajet e ekspozuara të telave, unë po mbyll qarkun dhe kështu mund të ekzekutoj kodin si pasojë
Secila nga 20 kunjat dixhitale në Leonardo ka një rezistencë të brendshme (e shkëputur si parazgjedhje) që mund të aktivizohet duke përdorur INPUT_PULLUP. Mbani në mend se një hyrje tërheqëse do të thotë që gjendja e butonit është e përmbysur:
- LART HIGH kur qarku është i hapur (butoni NUK shtypet).
- LOW kur qarku është i mbyllur (butoni shtypet).
Kodi:
Hapi 3: Instalimi i Bibliotekës MIDIUSB
Kjo bibliotekë lejon që një bord Arduino me aftësi USB të veprojë si një instrument MIDI përmes USB. Kontrolloni dokumentacionin zyrtar për më shumë informacion.
Duke përdorur Arduino IDE, mund të instaloni Biblioteka shtesë Arduino duke përdorur Menaxherin e Bibliotekës:
- Hapni IDE dhe klikoni në menunë "Skicë", pastaj "Përfshi Bibliotekën", pastaj "Menaxhoni Bibliotekat".
- Kërkoni për MIDIUSB dhe klikoni Instalo.
- Pasi të ketë mbaruar, një etiketë e instaluar duhet të shfaqet pranë bibliotekës MIDIUSB.
- Mbyllni Menaxherin e Bibliotekës.
Tani Leonardo mund të dërgojë mesazhe MIDI përmes USB! Por së pari, nevojitet një pasqyrë se si funksionon MIDI.
Si funksionon MIDI
"MIDI (Ndërfaqja dixhitale e instrumentit muzikor) është një protokoll standard komunikimi që lidh instrumentet muzikore elektronike, kompjuterët dhe pajisjet audio të lidhura për të luajtur muzikë." - Wikipedia
Ai trajton mesazhet e ngjarjeve me të dhëna për lartësinë dhe shpejtësinë e notës së luajtur, mes udhëzimeve të tjera
Në këtë projekt specifik, hyrja nga 16 butonat dërgon mesazhe të ndryshme përmes USB. Këto mesazhe mund të konvertohen në zë në një kompjuter duke përdorur çdo softuer të përshtatshëm si GarageBand ose Ableton Live.
Anatomia e një mesazhi MIDI
Për të dërguar një mesazh MIDI, kam përdorur metodën sendMIDI () nga Biblioteka MIDIUSB që kam instaluar në hapin 3.
Kjo metodë mund të marrë 4 parametra:
- Lloji i ngjarjes: Mund të jetë 0x09 për shënimin Aktiv (luaj shënim) ose 0x08 për shënim Jo (ndalo së luajturi shënim).
- Shënim Aktiv/Fikur: Lloji i ngjarjes i kombinuar me kanalin MIDI (1-16). Unë përdor vetëm kanalin 1 kështu që është ose 0x90 për shënimin On ose 0x80 për shënimin Off.
- Numri i shënimit: Çdo shënim ka një hap numerik të lidhur (shkalla e frekuencës).
- Shpejtësia: Nga 0 (pa shpejtësi) në 127 (më e shpejta).
Hapi 4: Dërgimi i një Mesazhi MIDI
Unë përfshiva Bibliotekën MIDIUSB dhe në vend që të ndriçoja LED-in e integruar, dërgova një shënim.
Kodi:
Ant E rëndësishme: Nga ky hap e tutje Arduino kthehet në një kontrollues MIDI USB dhe ndalon marrjen e kodit përmes USB.
Kur të ngeceni në një pozicion ku Arduino nuk mund të programohet më, ndiqni këto hapa:
- Mbani të shtypur butonin e rrumbullakosur të rivendosjes në tabelën Arduino.
- Klikoni Ngarko në ID Arduino.
- Lëshoni butonin e rivendosjes.
- Kodi i përditësuar do të ngarkohet në tabelë.
Hapi 5: Dërgimi i një mesazhi MIDI nga çdo buton
Hapi i fundit ishte hartimi i çdo pike në një buton. Për 16 butonat, unë përcaktova një shkallë nga C2 në E3b, të cilat janë fushat nga 36 në 51 në një sekuencë nga poshtë lart dhe nga e majta në të djathtë. Shikoni këtë skedar nga Arduino Tutorials për të parë se cila lartësi korrespondon me secilën shënim.
Kam përdorur kunja dixhitale nga 2 në 12 dhe kunja analoge (duke i përdorur ato si numra dixhitalë) nga A0 në A4.
Dhe kështu duket kodi përfundimtar
Hapi 6: Vendosja e kanaleve ose bankave (opsionale)
Në rast se doni të shtoni më shumë butona me aftësinë për të ndërruar kanale ose banka, si në MIDI Fighter 3D (shiko imazhin), Arduino Leonardo ka edhe katër kunja të tjera që mund të përdorni. Arduino Leonardo ka 20 kunja hyrëse/dalëse dixhitale, nga të cilat vetëm 16 janë në përdorim për të luajtur shënime.
Ju mund t'i përdorni ato butona shtesë për të azhurnuar një ndryshore në kod dhe për të dërguar vlerën e saj si një parametër në metodën MidiUSB.sendMIDI:
gist.github.com/lean8086/ec8da7486ec3621f9f0b90542a06fcea
Hapi 7: Rasti
Për ta mbajtur këtë projekt të thjeshtë, unë isha jashtëzakonisht përzgjedhës në zgjedhjen e veçorive që përfshijnë.
- Vetëm butona: 16 butona arcade të ngjashëm me Sanwa, në një rrjet 4x4. Pa çelësa, pa rrëshqitës, pa zbehje ose ndonjë hyrje tjetër analoge.
- Rast unibody: Mos përdorni vida, arra, bulona ose ngjitës për rrethimin ose për të mbajtur bordin Arduino.
- Mjetet e përditshme: Për shembull, unë bashkova telat në vend që të blija një prerës të veçantë teli për butonat e arkadës.
Dizajni i Unibody
Një nga sfidat me të cilat u ballafaqua ishte dizajnimi i një kasete mjaft të thjeshtë sa të mos kishte nevojë për montim dhe mund të printohej në 3D në një afat të vetëm.
Për të shmangur përdorimin e vidhave ose zamit, më duhej të krijoja një mbyllje që siguron aksesin më të vogël në pajisje elektronike. Frymëzimi im më i madh për mbylljen ishte Mac Mini, i cili ka një vrimë në formë rrethi në pjesën e poshtme. Unë gjithashtu doja të krijoja një kapak të vidhosshëm për këtë, por vendosa ta lija të hapur për të ekspozuar pajisjet elektronike.
Shkarkoni kutinë 3D të printueshme (322 KB). Cilësimet e rekomanduara: PLA, shtresa 0.15mm, mbushje 20%, zbatues mbështetës të paktën për vrimën e poshtme të rrumbullakosur, mbajtëset Arduino dhe mikro USB.
Mbajtja e një Arduino pa vida
Leonardo ka 4 vrima për të vidhosur dërrasën në çdo kuti të përshtatshme, por ideja ime ishte ta bëja të lehtë shtimin dhe heqjen e tabelës nga kutia.
Gjetja e një mbajtëse klipi për Arduino në Thingiverse ishte e lehtë, dhe më janë dashur 5 përsëritje për ta integruar atë mbajtësin në dëshirën e unibody. Pjesa më e vështirë ishte bërja e këmbëve për të shmangur vrimat për butonat dhe për të bërë që mikro USB të rreshtohej në qendër me kutinë.
Hapi 8: Kuvendi
Pasi futa të gjithë butonat në vend, bashkova tela të shkurtër të zinj duke bashkuar të gjitha këmbët negative të butonave midis tyre.
Pastaj bashkova tela të gjatë të kuq nga secila këmbë pozitive për t'u lidhur direkt me tabelën.
Për të lidhur telat me Arduino, kam prerë dhe ngjitur disa skaje të Dupont dhe i kam mbuluar me tuba që zvogëlojnë nxehtësinë.
I lidha telat me tabelën sipas të njëjtit rend si në MIDI Fighter. Nga poshtë lart dhe nga e majta në të djathtë
Hapi 9: Përdorimi i kontrolluesit MIDI
Çdo softuer muzikor (ose pajisje e përshtatshme) mund të përdoret për të marrë MIDI dhe për të bërë muzikë. Ato më të rekomanduarat janë Garage Band, Ableton Live, dhe unë e di që ka një mori aplikacionesh për tu instaluar në një telefon.
Të gjitha ato mjete janë të dobishme për ngarkimin e tingujve të paracaktuar për baterimin e gishtërinjve, por ato janë bërë për qëllime më të mëdha. Këto mjete mund të jenë të vështira për t'u krijuar për fillestarët.
MIDI në shfletuesin e uebit
Për të bërë diçka më të përshtatur me këtë projekt dhe thjeshtësinë e tij, unë ndërtova një vegël Web të fokusuar plotësisht në kontrolluesit MIDI.
Punchy: Zbatimi i WebMIDI dhe WebAudio për kontrolluesit MIDI.
Mund të lexojë mesazhe MIDI në çdo shfletues që mbështet WebMIDI JavaScript API. Pastaj luan tinguj në një sintetizues (duke përdorur API WebAudio) ose në një mostër, duke ngarkuar tinguj me porosi nga çdo paketë zëri.
Konfiguroni Ableton Live
Për ta bërë kontrolluesin MIDI të punojë me Ableton Live, ndiqni këto hapa të thjeshtë nga dokumentacioni i tyre zyrtar.
Shkoni te Preferencat → Lidhni MIDI dhe sigurohuni që "Input" të ketë "Track" dhe "Remote" ON dhe dalja të ketë "Remote" ON, siç përmendet në udhëzues:
Recommended:
Kontrolluesi i lojërave të bazuara në Arduino - Kontrolluesi i lojërave Arduino PS2 - Duke luajtur Tekken Me DIY Arduino Gamepad: 7 hapa
Kontrolluesi i lojërave të bazuara në Arduino | Kontrolluesi i lojërave Arduino PS2 | Luajtja e Tekken Me DIY Arduino Gamepad: Përshëndetje djema, të luani lojëra është gjithmonë argëtuese, por të luani me Kontrolluesin tuaj të personalizuar të lojës DIY është më argëtuese. Pra, ne do të bëjmë një Kontrollues të lojës duke përdorur arduino pro micro në këtë udhëzues
Ndërtimi i një makine saldimi në vend nga një transformator i furrës me mikrovalë: 7 hapa (me fotografi)
Ndërtimi i një makinerie të saldimit në vend nga një transformator i furrës me mikrovalë: Në këtë projekt unë jam duke bërë një makinë saldimi me njolla DIY që do të përdoret për ndërtimin e paketave të baterive me 18650 qeliza jon litiumi. Unë gjithashtu kam një saldator profesional, modelin Sunkko 737G, i cili kushton rreth 100 dollarë, por me kënaqësi mund të them që saldatori im me vend DIY
Ndërtimi i një Arduino DIY në një PCB dhe disa këshilla për fillestarët: 17 hapa (me fotografi)
Ndërtimi i një Arduino DIY në një PCB dhe Disa Këshilla për Fillestarët: Kjo do të thotë si një udhëzues për këdo që bashkon Arduino -n e tij nga një çantë, e cila mund të blihet nga A2D Electronics. Ai përmban shumë këshilla dhe truqe për ta ndërtuar atë me sukses. Ju gjithashtu do të mësoni për atë që të gjithë përbërësit e ndryshëm d
Ndërtimi i një Studio në Shtëpi me një Mega Buxhet: 8 hapa (me fotografi)
Ndërtimi i një Studio në Shtëpi me një Buxhet Mega: Me epokën dixhitale që vazhdon të na tregojë se si teknologjia ka zvogëluar nevojën për shërbime profesionale, po bëhet më e lehtë për të marrë rezultate të mira në format e artit siç është regjistrimi audio. Qëllimi im është të demonstroj mënyrën më me kosto efektive të
Kontrolluesi i dritës MIDI 5V LED Strip për Spielatron ose MIDI Synth tjetër: 7 hapa (me fotografi)
Kontrolluesi i dritës MIDI 5V LED për Spielatron ose MIDI Synth tjetër: Ky kontrollues ndez dritat me tre ngjyra LED për 50mS për shënim. Blu për G5 në D#6, e kuqe për E6 në B6 dhe jeshile për C7 në G7. Kontrolluesi është një pajisje ALSA MIDI kështu që programi MIDI mund të dalë në LED në të njëjtën kohë si një pajisje sintetike MIDI