Jak si vyrobit MIDI Controller s Arduino

  • Harry James
  • 1
  • 1134
  • 185
reklama

Jako hudebník, který shromáždil sbírku hudebních nástrojů a hlukových krabic, je pokorný Arduino perfektním nástrojem k vytvoření vlastního MIDI kontroleru. Zatímco Raspberry Pi možná vzal korunu za Internet věcí (IoT) Internet věcí: 10 užitečných produktů, které musíte vyzkoušet v roce 2016 Internet věcí: 10 užitečných produktů, které musíte vyzkoušet v roce 2016 Internet věcí roste v 2016, ale co to přesně znamená? Jak vy osobně těžíte z internetu věcí? Zde je několik užitečných produktů pro ilustraci. projekty, jednoduchý Arduino Uno (jaké jsou různé typy Arduino? Průvodce nákupem Arduino: Kterou desku byste měli získat? Průvodce nákupem Arduino: Kterou desku byste měli získat? Existuje tolik různých druhů desek Arduino venku, promiňte za to, že jste zmateni. Který z nich byste si měli koupit pro svůj projekt? Pomozte nám s tímto průvodcem nákupem Arduino!) má pro tento projekt více než dost energie.

Poprvé používáte Arduino? Žádné starosti, máme úplnou příručku pro začátečníky Arduino Začínáme s Arduino: Průvodce pro začátečníky Začínáme s Arduino: Průvodce pro začátečníky Arduino je platforma s otevřeným zdrojovým kódem elektroniky založená na flexibilním, snadno použitelném hardwaru a softwaru. Je určen pro umělce, designéry, fandy a kohokoli, kdo má zájem o vytváření interaktivních objektů nebo prostředí. si přečtěte, než začnete tento projekt řešit.

Co je MIDI?

MIDI znamená Musical Instrument Digital Interface. Nastiňuje standardní způsob vzájemné komunikace hudebních zařízení. Pokud vlastníte elektronickou klávesnici, pravděpodobně máte rozhraní MIDI. I když implementace MIDI zahrnuje několik technických detailů, je důležité si uvědomit, že MIDI není audio! MIDI data jsou jednoduchá sada instrukcí (jedna instrukce se nazývá a “zpráva”), které může jiné zařízení implementovat, aby vydávalo různé zvuky nebo kontrolní parametry.

MIDI podporuje 16 kanálů. To znamená, že každý kabel může podporovat 16 různých zařízení navzájem nezávisle komunikujících. Zařízení jsou připojena pomocí 5kolíkového kabelu DIN. DIN znamená “Německý institut pro normalizaci”, a je to jednoduše kabel s pěti piny uvnitř konektoru. USB se často používá místo 5pinové DIN nebo lze použít rozhraní USB-MIDI.

Změna kontroly a změna programu

Existují dva hlavní typy MIDI zpráv: Control Change a Program Change.

Zprávy Control Change (CC) obsahují číslo řadiče a hodnotu mezi 0 a 127. CC zprávy se často používají ke změně nastavení, jako je hlasitost nebo hřiště. Zařízení přijímající MIDI by měla být dodávána s manuálem vysvětlujícím, jaké kanály a zprávy jsou ve výchozím nastavení nastaveny a jak je změnit (známé jako mapování MIDI)..

Zprávy Program Change (PC) jsou jednodušší než zprávy CC. PC zprávy se skládají z jediného čísla a používají se ke změně předvolby nebo opravy na zařízení. PC zprávy jsou někdy známé jako “Patch Change”. Podobně jako u zpráv CC, výrobci by měli poskytnout dokument, který uvádí, jaké předvolby se mění konkrétní zprávou.

Co budete potřebovat

  • Arduino
  • 5kolíková zásuvka DIN
  • Rezistory 2 x 220 ohmů
  • 2 x 10 k ohmové rezistory
  • 2 x krátkodobé spínače
  • Zapojené dráty
  • Prkénko
  • MIDI kabel
  • MIDI zařízení nebo USB rozhraní

Sestavte plán

Tento projekt bude docela jednoduchý. Můžete samozřejmě přidat další tlačítka nebo hardware, aby vyhovoval vašim potřebám. Bude vhodný téměř jakýkoli Arduino - pro tento příklad jsou potřeba pouze tři kolíky. Tento projekt se skládá ze dvou tlačítek pro ovládání programu, portu MIDI pro odesílání dat a zařízení pro příjem zpráv. Tento obvod byl postaven na prkénku na prkénko Elektronika pro začátečníky: 10 dovedností, které potřebujete vědět Elektronika pro začátečníky: 10 dovedností, které potřebujete vědět Mnoho z nás se nikdy nedotklo páječky - ale výroba věcí může být neuvěřitelně prospěšná. Zde je deset nejzákladnějších DIY elektroniky, které vám pomohou začít. zde je však možné jej přenést do projektové krabice a pájených konektorů pro robustní řešení.

Sestava obvodů

Připojení MIDI

Zapojte zdířku MIDI následujícím způsobem:

  • MIDI pin 5 na Arduino Transmit (TX) 1 přes odpor 220 ohmů
  • MIDI pin 4 na Arduino + 5V přes odpor 220 ohmů
  • MIDI pin 2 k Arduino zemi

Tlačítko připojení

Tlačítka fungují změnou odporu Arduino “vidí”. Kolík Arduino prochází přepínačem přímo k zemi (NÍZKÝ) přes 10k ohmový rezistor (a “strhnout” odpor, který zajistí, že hodnota zůstane nízká). Po stisknutí tlačítka se hodnota zobrazená v obvodu změní na + 5 V bez odporu (VYSOKÝ). Arduino dokáže tuto změnu zjistit pomocí digitalRead (pin) příkaz. Připojte tlačítka k pinům 6 a 7 digitálního vstupu / výstupu Arduino (I / O). Připojte obě tlačítka:

  • Levá strana tlačítka na + 5V
  • Pravá strana tlačítka k Arduino Ground přes odpor 10k ohm
  • Pravá strana tlačítka k Arduino pin (6 nebo 7)

Testování MIDI

Nyní, když je dokončen veškerý hardware, je čas to vyzkoušet. Budete potřebovat rozhraní USB-MIDI (mnoho zvukových rozhraní to dokáže) a kabel MIDI. Port MIDI zapojený na prkénku posílá data, takže jde o výstup. Váš počítač přijímá data, proto je to vstup. Tento projekt využívá vynikající Arduino MIDI Library v4.2 od Forty Seven Effects. Po instalaci knihovny ji můžete zahrnout do svého kódu Skica> Zahrnout knihovnu> MIDI.

Budete také potřebovat program pro sledování příchozích MIDI dat:

  • Monitor MIDI pro OS X
  • MIDI-OX pro Windows
  • KMidimon pro Linux

Připojte Arduino Začínáme se sadou Arduino Starter Kit - Instalace ovladačů a nastavení desky a portu Začínáme se Arduino Starter Kit - Instalace ovladačů a nastavení Tabule a port Takže jste si zakoupili startovací sadu Arduino a možná nějaké další náhodné cool komponenty - co teď? Jak vlastně začnete s programováním této věci Arduino? Jak to nastavíte ... do svého počítače a nahrajte následující testovací kód (nezapomeňte vybrat správnou desku a port z Nástroje> Deska a Nástroje> Port menu).

#include #include #include #include #include MIDI_CREATE_INSTANCE (HardwareSerial, Serial, midiOut); // vytvoří MIDI objekt nazvaný midiOut void setup () Serial.begin (31250); // setup serial for MIDI void loop () midiOut.sendControlChange (56,127,1); // poslat MIDI CC - 56 = nota, 127 = rychlost, 1 = kanálové zpoždění (1000); // počkejte 1 sekundu midiOut.sendProgramChange (12,1); // poslat MIDI PC - 12 = hodnota, 1 = kanálové zpoždění (1000); // počkat 1 sekundu

Tento kód odešle zprávu CC, počká 1 sekundu, odešle zprávu PC a poté počká 1 sekundu na neurčito. Pokud vše funguje správně, měla by se na monitoru MIDI objevit zpráva.

Pokud se nic nestane, nepropadejte panice! Zkuste řešení potíží:

  • Zkontrolujte, zda jsou všechna připojení správná
  • Zkontrolujte, zda je MIDI port správně zapojen - na vnějších hranách by měly být 2 náhradní kolíky
  • Znovu zkontrolujte správnost obvodu
  • Ověřte, zda je obvod připojen k rozhraní USB-MIDI pomocí kabelu MIDI
  • Zkontrolujte, zda je k MIDI kabelu připojen kabel MIDI vstup na vašem rozhraní USB-MIDI
  • Ujistěte se, že Arduino má sílu
  • Nainstalujte správný ovladač pro rozhraní USB-MIDI

Pokud jste ještě pořád mít problémy, že by stálo za to zkontrolovat vaši prkénko. Levné desky mohou být někdy velmi nekonzistentní a nekvalitní - stalo se mi to při práci na tomto projektu.

Tlačítko Testování

Nyní je čas vyzkoušet, zda tlačítka fungují správně. Nahrajte následující testovací kód. Pro testování této části není nutné připojovat MIDI.

const int buttonOne = 6; // přiřadit pin tlačítka proměnné const int buttonTwo = 7; // přiřaďte knoflík tlačítka variabilnímu nastavení neplatné () Serial.begin (9600); // setup serial for text pinMode (buttonOne, INPUT); // tlačítko nastavení jako vstupní pinMode (buttonTwo, INPUT); // tlačítko nastavení jako vstup void loop () if (digitalRead (buttonOne) == HIGH) // zpoždění stavu tlačítka (10); // odskok softwaru, pokud (digitalRead (buttonOne) == HIGH) // znovu zkontrolovat stav tlačítka Serial.println ("Button One Works!"); // zpoždění výsledku záznamu (250);  if (digitalRead (buttonTwo) == HIGH) // kontrola stavu zpoždění tlačítka (10); // software de-bounce if (digitalRead (buttonTwo) == HIGH) // znovu zkontroluje stav tlačítka Serial.println ("Button Two Works!"); // zpoždění výsledku záznamu (250);  

Spusťte tento kód (ale ponechte kabel USB připojen) a spusťte Serial Monitor (Vpravo nahoře> Sériový monitor). Po stisknutí tlačítka byste měli vidět “Tlačítko jedna funguje!” nebo “Tlačítko dvě funguje!” v závislosti na stisknutém tlačítku.

Z tohoto příkladu je třeba vzít jednu důležitou poznámku - odskok softwaru. Toto je jednoduché 10 milisekundové (ms) zpoždění mezi kontrolou tlačítka a opětovným zkontrolováním tlačítka. Tím se zvyšuje přesnost stisknutí tlačítka a zabraňuje se tomu, aby Arduino spustilo šum. Nemusíte to dělat, i když je to doporučeno.

Vytvoření řadiče

Nyní, když je vše zapojeno a funguje, je čas sestavit plný ovladač.

Tento příklad odešle jinou zprávu CC pro každé stisknuté tlačítko. Používám to k ovládání Ableton Live 9.6 v OS X. Kód je podobný oběma testovacím vzorkům výše.

#include #include #include #include #include const int buttonOne = 6; // přiřadit pin tlačítka proměnné const int buttonTwo = 7; // přiřazení kolíku tlačítka k proměnné MIDI_CREATE_INSTANCE (HardwareSerial, Serial, midiOut); // vytvoří MIDI objekt nazvaný midiOut void setup () pinMode (buttonOne, INPUT); // tlačítko nastavení jako vstupní pinMode (buttonTwo, INPUT); // tlačítko nastavení jako vstup Serial.begin (31250); // setup MIDI output void loop () if (digitalRead (buttonOne) == HIGH) // kontrola stavu zpoždění tlačítka (10); // odskok softwaru, pokud (digitalRead (buttonOne) == HIGH) // znovu zkontrolovat stav tlačítka midiOut.sendControlChange (56,127,1); // poslat MIDI CC - 56 = nota, 127 = rychlost, 1 = kanálové zpoždění (250);  if (digitalRead (buttonTwo) == HIGH) // kontrola stavu zpoždění tlačítka (10); // odskok softwaru, pokud (digitalRead (buttonTwo) == HIGH) // znovu zkontroluje stav tlačítka midiOut.sendControlChange (42,127,1); // poslat MIDI CC - 42 = nota, 127 = rychlost, 1 = kanálové zpoždění (250);  

Poznámka - nebudete moci používat Serial.println () s výstupem MIDI.
Pokud jste chtěli poslat PC zprávu namísto CC jednoduše nahraďte:

midiOut.sendControlChange (42,127,1);

S:

midiOut.sendProgramChange (hodnota, kanál); 

V akci

Níže je ukázka jako ovladač pro Ableton Live (nejlepší DJ software pro každý rozpočet Nejlepší DJ software pro každý rozpočet Nejlepší DJ software pro každý rozpočet Dobrý mixovací software může změnit váš výkon. Ať už používáte Mac) , Windows nebo Linux, je zajištěna každá úroveň dovedností a rozpočtu, pokud chcete začít s DJingem.). Vpravo nahoře jsou zobrazeny zvukoměry a v pravém horním rohu jsou zobrazeny příchozí midi zprávy (prostřednictvím MIDI Monitoru v OS X).

Už jste vytvořili MIDI řadič?

Pro vlastní MIDI řadič existuje mnoho praktických využití. Mohli byste postavit obrovskou nohou ovládanou jednotku nebo elegantní studiový ovladač. A pokud máte zájem o koupi jednoho, jsou zde ty nejlepší USB MIDI ovladače 9 nejlepších USB MIDI ovladačů pro hudebníky 9 nejlepších USB MIDI ovladačů pro hudebníky Hledáte USB MIDI řadič? Zde jsou nejlepší MIDI kontroléry, které si můžete koupit právě teď, bez ohledu na rozpočet. můžeš koupit.

Obrázek Kredit: Keith Gentry přes Shutterstock.com




08.03.24 03:16
order atorvastatin 40mg without prescription <a href="https://lipiws.top/">atorvastatin 20mg us</a> atorvastatin 10mg cheap
O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.