Obsah:
- Tento návod bol pôvodne uverejnený na mojom blogu 28. júna 2020
- Krok 1: Blikanie vstavanej diódy LED
- Krok 2: Blikanie diódy LED na manuálnom vstupe
- Krok 3: Inštalácia knižnice MIDIUSB
- Krok 4: Odoslanie správy MIDI
- Krok 5: Odoslanie MIDI správy z každého tlačidla
- Krok 6: Nastavenie kanálov alebo bánk (voliteľné)
- Krok 7: Prípad
- Krok 8: Zhromaždenie
- Krok 9: Použitie MIDI ovládača
Video: Zostavenie MIDI ovládača Arduino: 9 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
Tento návod bol pôvodne uverejnený na mojom blogu 28. júna 2020
Baví ma stavať veci, ktoré obsahujú elektroniku, a vždy som chcel niečo postaviť pomocou Arduina.
Jednou z najbežnejších zostáv pre začiatočníkov, ktorú som našiel, bol MIDI ovládač. Ovládač MIDI je akýkoľvek hardvér, ktorý odosiela údaje MIDI (digitálne rozhranie hudobných nástrojov) do zariadenia na spúšťanie zvukov a vytváranie hudby.
Zistil som, že mnohé implementácie sú komplikované, dokonca aj tie, ktoré sú pre začiatočníkov. Bolo veľmi frustrujúce zistiť, že potrebujem použiť stovky riadkov nečitateľného kódu. Alebo že okrem iných príkladov musím v niektorých prípadoch spájkovať odpor.
Projekt
Postavením vlastného MIDI ovládača Arduino som mal v úmysle urobiť príjemný projekt a udržať hluk na najnižšej úrovni. Niečo, čo by mohol sledovať každý začiatočník. Aby som to dosiahol, použil som MIDI Fighter 3D ako základnú inšpiráciu a odstránil všetky nepodstatné funkcie.
Celkové náklady na môj projekt boli nižšie ako 30 dolárov a zoznam materiálov bol skutočne krátky (odkazy na pobočky):
- Arduino Leonardo (alebo klon): od 10 do 20 dolárov.
- 16 x tlačidiel Sanwa 24 mm (alebo klon): od 1 do 2,50 dolára za tlačidlo.
- Spájkovačka
- Elektrický vodič 22 AWG
Doska Arduino
Keď som začal s týmto projektom, zistil som, že existuje veľa nových modelov Arduino (bez stoviek kompatibilných dosiek). A všetky ponúkajú mierne odlišné možnosti.
Potreboval som odoslať MIDI signály do počítača a najjednoduchšie to bolo cez USB. Akákoľvek doska Arduino založená na mikrokontroléri ATmega32u4 má vstavanú komunikáciu USB.
Oficiálnymi doskami Arduino s natívnou podporou USB sú Arduino Due, Arduino Zero, Arduino Leonardo, Arduino Micro. Tieto dosky majú integrovanú podporu USB, čo znamená, že môžu fungovať ako zariadenie USB MIDI.
Rozhodol som sa ísť s klonom Arduina Leonarda. Má dostatok vstupov pre tento projekt a obsahuje aj hlavičky, ktoré uľahčujú zapojenie/odpojenie káblov.
Prvé kroky
Napriek tomu, že krok za krokom vysvetlím, ako som implementoval kód pre tento projekt, konečnú verziu si môžete stiahnuť.
Na nahranie kódu na dosku musíte použiť Arduino IDE. Majú tiež webový editor, ktorý je veľmi užitočný, ale majú obmedzenú kvótu na denné kompilácie kódu.
Krok 1: Blikanie vstavanej diódy LED
Je zábavné, ako „Hello World“vo svete hardvéru bliká diódou LED.
Bolo pre mňa milým prekvapením, keď som zistil, že Arduino Leonardo má vstavanú diódu LED, na ktorú môžete mrknutím otestovať svoj kód. Vďaka tomu nebudete musieť stavať externý obvod na doske s LED diódou a odporom.
Kód:
Krok 2: Blikanie diódy LED na manuálnom vstupe
Ďalším logickým krokom bolo blikanie tej istej LED diódy vždy, keď pošlem signál. Odstránil som plastový kryt jedného konca 2 vodičov Dupont a druhý koniec som pripojil k doske:
- Pin číslo 2: Jeden z digitálnych vstupov (kladný). Môže to byť akýkoľvek digitálny pin.
- Pin GND: Akýkoľvek uzemňovací kolík (negatívny).
Teraz, zakaždým, keď sa spojím s odkrytými koncami drôtov, zatvorím obvod, a tak môžem v dôsledku toho spustiť kód
Každý z 20 digitálnych pinov na zariadení Leonardo má vnútorný odpor (predvolene odpojený), ktorý je možné povoliť pomocou INPUT_PULLUP. Majte na pamäti, že vyťahovací vstup znamená, že stav tlačidla je obrátený:
- VYSOKÉ, keď je obvod otvorený (tlačidlo NIE JE stlačené).
- LOW, keď je obvod uzavretý (tlačidlo je stlačené).
Kód:
Krok 3: Inštalácia knižnice MIDIUSB
Táto knižnica umožňuje doske Arduino s možnosťami USB fungovať ako MIDI nástroj cez USB. Viac informácií nájdete v oficiálnej dokumentácii.
Pomocou Arduino IDE môžete nainštalovať ďalšie knižnice Arduino pomocou Správcu knižníc:
- Otvorte IDE a kliknite na ponuku „Skica“, potom „Zahrnúť knižnicu“a potom „Spravovať knižnice“.
- Vyhľadajte MIDIUSB a kliknite na Inštalovať.
- Po dokončení by sa vedľa knižnice MIDIUSB mal objaviť nainštalovaný tag.
- Zatvorte správcu knižnice.
Teraz môže Leonardo odosielať MIDI správy cez USB! Najprv je však potrebný určitý prehľad o tom, ako MIDI funguje.
Ako funguje MIDI
„MIDI (digitálne rozhranie hudobných nástrojov) je štandardný komunikačný protokol, ktorý spája elektronické hudobné nástroje, počítače a súvisiace zvukové zariadenia na prehrávanie hudby.“- Wikipedia
Okrem iných pokynov zvláda správy o udalostiach s údajmi o výške a rýchlosti odohranej noty
V tomto konkrétnom projekte vstup zo 16 tlačidiel odosiela rôzne správy cez USB. Tieto správy je možné v počítači previesť na zvuk pomocou akéhokoľvek vhodného softvéru, ako je GarageBand alebo Ableton Live.
Anatómia MIDI správy
Na odoslanie správy MIDI som použil metódu sendMIDI () z knižnice MIDIUSB, ktorú som nainštaloval v kroku 3.
Táto metóda môže prijímať 4 parametre:
- Typ udalosti: 0x09 pre notu zapnutú (nota na prehrávanie) alebo 0x08 pre notu vypnutú (zastavenie hry noty).
- Poznámka On/Off: Typ udalosti v kombinácii s MIDI kanálom (1-16). Používam iba kanál 1, takže je to buď 0x90 pre poznámku zapnutú, alebo 0x80 pre poznámku vypnutú.
- Číslo poznámky: Každá poznámka má priradenú číselnú výšku (frekvenčnú stupnicu).
- Rýchlosť: Od 0 (žiadna rýchlosť) do 127 (najrýchlejšia).
Krok 4: Odoslanie správy MIDI
Zahrnul som MIDIUSB Library a namiesto blikania vstavanej LED som poslal poznámku.
Kód:
⚠ Dôležité: Od tohto kroku sa Arduino zmení na MIDI USB kontrolér a prestane prijímať kód cez USB.
Keď sa dostanete do polohy, v ktorej už Arduino nemožno naprogramovať, postupujte podľa týchto krokov:
- Podržte zaoblené tlačidlo reset na doske Arduino.
- Kliknite na položku Nahrať v IDE Arduino.
- Uvoľnite tlačidlo reset.
- Aktualizovaný kód bude nahraný na nástenku.
Krok 5: Odoslanie MIDI správy z každého tlačidla
Posledným krokom bolo mapovať každé ihrisko na tlačidlo. Pre 16 tlačidiel som definoval stupnicu od C2 do E3b, čo sú rozstupy od 36 do 51 v poradí zdola nahor a zľava doprava. V tomto súbore z Arduino Tutorials zistíte, aká výška zodpovedá každej note.
Použil som digitálne piny od 2 do 12 a analógové piny (používajúce ich ako digitálne) od A0 do A4.
A takto vyzerá konečný kód
Krok 6: Nastavenie kanálov alebo bánk (voliteľné)
V prípade, že chcete pridať ďalšie tlačidlá s možnosťou prepínania kanálov alebo bánk, ako v MIDI Fighter 3D (pozri obrázok), Arduino Leonardo má ďalšie štyri piny, ktoré môžete použiť. Arduino Leonardo má 20 digitálnych vstupných/výstupných pinov, z ktorých sa iba 16 používa na prehrávanie poznámok.
Tieto ďalšie tlačidlá môžete použiť na aktualizáciu premennej v kóde a odoslanie jej hodnoty ako parametra metóde MidiUSB.sendMIDI:
gist.github.com/lean8086/ec8da7486ec3621f9f0b90542a06fcea
Krok 7: Prípad
Aby bol tento projekt jednoduchý, bol som veľmi vyberavý pri výbere funkcií, ktoré obsahujú.
- Iba tlačidlá: 16 arkádových tlačidiel v štýle Sanwa, v mriežke 4x4. Žiadne gombíky, žiadne posúvače, žiadne fadery ani iný analógový vstup.
- Jednodielne puzdro: Na skriňu alebo na držanie dosky Arduino nepoužívajte žiadne skrutky, matice, skrutky ani lepidlo.
- Nástroje pre každý deň: Napríklad som spájkoval drôty namiesto toho, aby som si kúpil konkrétny strihač drôtov pre arkádové tlačidlá.
Unibody dizajn
Jednou z výziev, s ktorými som sa stretol, bolo navrhnutie dostatočne jednoduchého puzdra, ktoré nevyžaduje montáž a dá sa vytlačiť 3D tlačou v rámci jedného cyklu.
Aby som sa vyhýbal použitiu skrutiek alebo lepidla, potreboval som navrhnúť kryt, ktorý poskytuje najmenší prístup k elektronike. Mojou najväčšou inšpiráciou pre kryt bol Mac Mini, ktorý má v spodnej časti kruhový otvor. Chcel som na to tiež navrhnúť skrutkovateľné veko, ale rozhodol som sa, že ho otvorím, aby sa odhalila elektronika.
Stiahnite si 3D tlačiteľné puzdro (322 KB). Odporúčané nastavenia: PLA, vrstvy 0,15 mm, 20% výplň, podporné prvky aspoň pre zaoblený spodný otvor, držiaky Arduino a micro USB.
Držte Arduino bez skrutiek
Leonardo má 4 otvory na zaskrutkovanie dosky do akéhokoľvek vhodného puzdra, ale mojou myšlienkou bolo uľahčiť pridávanie a vyberanie dosky z puzdra.
Nájdenie držiaka klipu pre Arduino na serveri Thingiverse bolo jednoduché a integrácia tohto držiaka do návrhu jedného tela mi zabrala 5 iterácií. Najťažšie bolo vyrobiť nohy tak, aby sa vyhli otvorom pre tlačidlá, a aby bol mikro USB zarovnaný na stred k puzdru.
Krok 8: Zhromaždenie
Po vložení všetkých tlačidiel na miesto som spájkoval krátke čierne drôty spájajúce všetky negatívne nohy tlačidiel medzi nimi.
Potom som z každej kladnej nohy spájkoval dlhé červené drôty, aby som sa pripojil priamo k doske.
Na pripojenie drôtov k Arduinu som odrezal a spájkoval niektoré konce Dupontu a zakryl ich zmršťovacou trubicou.
Pripojil som vodiče k doske v rovnakom poradí ako v MIDI Fighteri. Zdola hore a zľava doprava
Krok 9: Použitie MIDI ovládača
Na príjem MIDI a vytváranie hudby je možné použiť akýkoľvek hudobný softvér (alebo vhodný hardvér). Najviac odporúčanými sú Garage Band, Ableton Live a viem, že do telefónu je možné nainštalovať veľa aplikácií.
Všetky tieto nástroje sú užitočné na načítanie preddefinovaných zvukov na bubnovanie prstom, ale boli navrhnuté na väčšie účely. Nastavenie týchto nástrojov môže byť pre začiatočníkov náročné.
MIDI vo webovom prehliadači
Aby som niečo viac zosúladil s týmto projektom a jeho jednoduchosťou, postavil som webový nástroj úplne zameraný na MIDI kontroléry.
Punchy: Implementácia WebMIDI a WebAudio pre MIDI kontroléry.
Dokáže čítať správy MIDI v ľubovoľnom prehliadači, ktorý podporuje rozhranie WebMIDI JavaScript API. Potom prehráva zvuky v syntetizátore (pomocou rozhrania WebAudio API) alebo vo vzorkovníku a načítava vlastné zvuky z akéhokoľvek zvukového balíka.
Nastavte Ableton Live
Aby MIDI ovládač fungoval s Ableton Live, postupujte podľa týchto jednoduchých krokov z ich oficiálnej dokumentácie.
Prejdite na Predvoľby → Prepojiť MIDI a uistite sa, že „Vstup“má „Track“a „Remote“ZAPNUTÝ a výstup má „ON“zapnutý, ako je uvedené v príručke:
Odporúča:
Zostavenie súpravy rádiového prijímača AM: 9 krokov (s obrázkami)
Zostavenie súpravy rádiového prijímača AM: Milujem zostavovanie rôznych elektronických súprav. Fascinujú ma rádiá. Pred niekoľkými mesiacmi som na internete našiel lacnú súpravu rádioprijímačov AM. Objednal som si to a po štandardnom čakaní asi mesiac to prišlo. Kit je DIY sedem tranzistorových superhet
Zostavenie automatického solárneho sledovača s Arduino Nano V2: 17 krokov (s obrázkami)
Zostavenie automatického solárneho sledovača s Arduino Nano V2: Ahoj! Tento Instructable má byť druhou časťou môjho projektu Solar Tracker. Vysvetlenie, ako fungujú solárne sledovače a ako som navrhol svoj prvý sledovač, nájdete v nižšie uvedenom odkaze. To ponúkne kontext pre tento projekt. Https://www.instructables.co
Zostavenie jednoduchého Steampunked MP3 prehrávača: 6 krokov (s obrázkami)
Vybudovanie jednoduchého prehrávača MP3 Steampunked: V skupine Steampunk na FB vyvstala otázka, či je ťažké vybudovať „nejaký funkčný Steampunk“. A nie je to tak drahé, pretože veľa gadgetov Steampunku používa drahé materiály. OK, Lady's a páni, poďme do toho
Zostavenie zariadenia na bodové zváranie z transformátora mikrovlnnej rúry: 7 krokov (s obrázkami)
Zostavenie zariadenia na bodové zváranie z transformátora mikrovlnnej rúry: V tomto projekte vyrábam bodový zvárací stroj pre domácich majstrov, ktorý sa má použiť na stavbu akumulátorov s lítium -iónovými článkami 18650. Mám tiež profesionálneho bodového zvárača, model Sunkko 737G, ktorý stojí okolo 100 dolárov, ale môžem s potešením povedať, že môj bodový zvárač pre domácich majstrov
Použitie Mame/ Zostavenie kabinetu Mame: 12 krokov (s obrázkami)
Používanie kabinetu Mame/ Zostavenie kabinetu Mame: Po niekoľkých mesiacoch premýšľania o výstavbe kabinetu Mame som na ceste. Myslel som, že zverejním svoj pokrok a podobne. Toto je poloPLNÝ návod, ktorý rozoberie každý kus stavby skrinky. Ďalej je uvedený súbor PDF, ktorý vám pomôže