Jak vyrobit levný MIDI ovladač na bázi Arduina vlastníma rukama. Jak vyrobit levný MIDI ovladač založený na Arduinu vlastníma rukama Čtení pozic potenciometrů

Už dlouho jsem chtěl v sobě probudit skladatele a začít tvořit svou vlastní elektronickou hudbu. Odradily mě však (mírně řečeno) vysoké ceny MIDI kontrolerů. Ale po prozkoumání internetu jsem dostal nápad vytvořit si vlastní ovladač pomocí Arduino Uno a vodivých barev!

Začněme)

Krok 1: Výběr dílů

Můžete se mírně odchýlit od prezentovaného materiálu a vámi sestavený MIDI kontrolér bude stále fungovat („mírně se odchýlit“ mám na mysli, že můžete nainstalovat rezistor s mírně odlišnou hodnotou nebo nechat jeden z pinů odpojený).

Z elektroniky potřebujeme:

  • 1 Arduino Uno s USB kabelem;

  • 1 sklenice vodivé barvy;

  • 1 montážní deska o rozměrech 5x7 cm;

  • 3 tlačítka;

  • rezistory s odporem 2,2 kOhm;

  • 1 LED;

  • rezistory s odporem 10 kOhm;

  • 1 LDR senzor;

  • rezistory s odporem 4,7 kOhm;

  • 1 propojka;

  • 12 ks rezistorů 2,7 MΩ;

  • 30 rovných čepů;

  • 12 ohnutých čepů;

  • 12 adaptérů;

  • 12 kancelářských sponek.

Kromě elektroniky budete potřebovat také následující nástroje:

  • Páječka a pájka;
  • Řezačky drátu;
  • Stojan na pájené díly (z třetí ruky);
  • multimetr;
  • Několik drátů a/nebo tenký kovový drát.

Krok 2: Připájejte kolíky

Začneme vytvářet desku pájením kolíků. Pojďme zveřejnit ohnuté čepy uprostřed první řady na desce. Následně budou sloužit jako „citlivé“ piny, ke kterým bude klávesnice připojena.

Po instalaci kolíků si všimněte, že krátké kolíky trčí z desky. Zatlačíme na ně, aby vše šlo do roviny. Nyní je zapájíme a ihned zkontrolujeme spoje na zkrat.

Poznámka: Nepájejte kolíky příliš dlouho, jinak se zahřejí a roztaví plast.

V dalším kroku umístěte rovné hřebeny do štěrbin Arduino. Nainstalujme desku na vrcholy pinů, které jsou vloženy do Arduina. Tato akce vyžadovala trochu síly, protože kolíky nejsou dokonale zarovnány s otvory na desce.

Jakmile jste úspěšně nainstalovali desku na kolíky, ujistěte se, že kolíky jsou v jedné rovině s horním okrajem desky. Poté mohou být pájeny.

Krok 3: Připájejte propojky

Nyní vyjmeme desku z Arduina a otočíme ji na rubovou stranu. Připájíme propojky, na které se později připevní součástky. To lze provést dvěma způsoby:

  • Vyplňte všechny potřebné otvory pájkou a poté je spojte k sobě.
  • Použijte tenký drát.

Doporučuji vám použít druhou metodu, protože je jednodušší a rychlejší. Pokud zvolíte tuto metodu, umístěte drát na desku, jak je znázorněno na obrázku.

  • Červená tečka znamená připájet drát do otvoru.
  • Žlutá tečka - tenký drát připojte ke kolíku na druhé straně desky (jako na třetím obrázku).

Jak vidíte, levý dolní roh jsem trochu pokazil, když jsem nanesl příliš mnoho pájky, takže pozor!

Tip: Pokud nemáte tenký drát, použijte zbytky vývodů rezistorů, které používáte.

Krok 4: Připájejte dotykově kapacitní odpory

Instalujeme komponenty, tj 2.7 MOhmrezistory, který bude vykonávat senzoricko-kapacitní funkce.

Poznámka: Pokud se chcete dozvědět více o teoretických základech a praktických aplikacích dotykových kapacitních senzorů, doporučuji vám podívat se na následující odkazy:

Položme jeden 2.7 MOhmodpor zespodu ohnutého kolíku nejvíce vpravo a prostrčte nohy skrz otvory (jako na prvním obrázku). Nyní otočme desku a zasuňte jeden vodič rezistoru zpět do dalšího otvoru (jak je znázorněno na druhém obrázku). Připájejte spodní větev rezistoru k otvoru a horní větev rezistoru ke kolíkové svorce. Poté přiložíme 7 cm drátu na tento kolík (jak je vidět na třetím obrázku).

Opakujeme proces se všemi odpory a dráty a připájeme je na místo. Spodní nohy rezistorů by měly tvořit jeden dlouhý spoj.

Rada: Zvolte střídající se barvy vodičů – to usnadní připojení v pozdějších krocích.

Krok 5: Připájejte tlačítka

Začněme umístěním tlačítek a rezistorů na desku, jako na prvním a druhém obrázku. V mém případě jsem použil 2.2 kOhm odpory, ale můžete použít jakýkoli rezistor s hodnotou mezi 2kOhm a 10KOhm.

Desku otočíme a vše připájeme na místo. Obrázek 3 vysvětluje různá připojení, která budete muset provést:

  • modrá tečka - označuje nohu tlačítka, kterou je třeba připájet na desku;
  • růžová tečka – označuje odporovou nohu, kterou je nutné připájet k desce;
  • červená čára znamená, že byste měli připájet dva body do jednoho spojení;
  • černá čára označuje drát, který půjde z jedné nohy tlačítka skrz otvor v desce, který se pak připojí ke kolíku na druhé straně.

Pokud je vše správně připájeno, dvě tlačítka zcela vlevo vám umožní měnit oktávy, zatímco tlačítko zcela vpravo povolísenzor LDR.

Krok 6: Připájejte LDR a LED

Po připájení tlačítek pokračujeme v instalaci LDR, LED a příslušných rezistorů. Než to uděláte, bylo by moudré experimentovat s hodnotami rezistorů, které půjdou na LED. Možná je moje hodnocení příliš vysoké na to, abych rozsvítil vaši LED. Trochu experimentujte, abyste našli správnou hodnotu odporu.

Tip: Jakýkoli odpor mezi 330Ohm a 5kOhmbylo by to dobré řešení pro 5mmVEDENÝ.

Nyní uspořádáme LED, LDR a rezistory ( 4.7 K proLDR) na správných místech. Desku otočíme a vše připájeme. Třetí obrázek vysvětlí různá spojení, která je třeba provést:

  • hnědé tečky jsou kolíky LDR, které by měly být připájeny k desce;
  • růžová tečka je odporová noha, která by měla být připájena k desce;
  • oranžové tečky jsou kolíky LED, které je třeba připájet na desku;
  • červený proužek - musíte připájet dva body do jednoho spojení;
  • černý proužek je vodič, který půjde z výstupu rezistoru otvorem v desce, který se pak připojí k kolíku.

Poznámka: Před pájením LED se ujistěte, že polarita LED je správná. Kladná svorka LED by měla být připojena k odporu a záporná svorka k zemi.

Krok 7: Otestujte všechna připojení

Nyní je vhodný čas vyzkoušet, zda jsou spoje tlačítek, LDR a LED úspěšně zapájeny. Toto je poslední příležitost opravit chyby, doporučuji vám stáhnout přiložený kód a spustit program. a stáhnout Arduino_Test_Fixture_Code na desku Arduino.

Pokud je vše úspěšné a test je dokončen, můžete přejít k dalšímu kroku. Pokud ne, dvakrát zkontrolujte pájené spoje na desce. Je lepší mít po ruce multimetr, říkám to z vlastní hořké zkušenosti.

Krok 8: Dokončení desky

Začněme instalací vodičů do otvorů, jak je vidět na prvním obrázku. Pro tento krok je vhodné použít dva vodiče různých barev.

Desku otočíme a drátky ustřihneme na požadovanou délku. Připájejte je ke kolíkům, které jdou do konektorů Arduino. Než začnete používat MIDI kontroler, nejprve je potřeba otestovat jeho zapojení pomocí testovacího náčrtu. Nahrajte skicu, otevřete sériový port a dotkněte se "citlivých" pinů na desce. Pokud u každého špendlíku uvidíte text 'Poznámka x je aktivní', když se ho dotknete, všechny špendlíky fungují správně.

Krok 9: Převeďte Arduino na MIDI zařízení

Jakmile je deska připravena, je čas převést Arduino na MIDI kontrolér, který bude rozpoznán hudebními programy jako Ableton a Fl Studio nebo dokonce jinými MIDI zařízeními. Proces se skládá ze dvou kroků:

  1. Změňte aktuální firmware na Arduino Uno na programy kompatibilní s MIDI;
  2. Nahrajte MIDI skicu do Arduina.

Začněme od prvního bodu. Načteno do Arduina podle stavu firmwareUSB-sériový port, který umožňuje Arduinu vyměňovat si zprávy s PC a Arduino IDE. S novým programem DualMoco, bude přidán druhý režim, který umožní Arduinu fungovat jako MIDI zařízení.

Použijeme program FLIP a podle pokynů změníme firmware Arduina. Pracovní soubor najdete v archivu ve složce Firmware – soubor DualMoco.hex.

Po stažení nového firmwaru znovu připojte Arduino k PC. Pokud vše půjde dobře, Arduino by nemělo být detekováno Arduino IDE, protože nový program je v ( MIDIrežimu). Otevřete hudební program, který je schopen nahrávat MIDI a zkontrolujte, zda je Arduino pojmenováno MIDI/ MOCOproLUFA bylo zobrazeno nad nastavením MIDI, jak můžete vidět na 1. obrázku.

Krok 10: Proveďte konečné přípravy

Zvláštnost DualMocože má druhý režim - USB-sériový port, který umožňuje nahrávat skici z Arduino IDE, stejně jako u běžného firmwaru. Chcete-li přepnout Arduino do druhého režimu, spojte dva kolíky ISCP dohromady, jak je znázorněno na obrázku 1 a 2. Můžete použít buď kus drátu nebo malý propojovací drát, jak je znázorněno na obrázcích. Nyní odpojte USB kabel od Arduina na několik sekund a znovu jej připojte, Arduino by se mělo objevit v Arduino IDE.

Poznámka: Když chcete přepnout z režimuusb-sériový portPROTIV režimu MIDI odstraňte propojkuKolíky ISCP, jak je znázorněno na třetím obrázku, a znovu je připojteArduino do PC.

Je čas nahrát aktuální skicu do Arduina, Arduino_Finále_Kód. Stáhněte si jej, převeďte na Arduino usbsériový port režimu a stáhněte si kód. Pokud potřebujete doladit práh, experimentujte s hodnotami PRÁH A RES. Jakmile vše funguje podle očekávání, změňte aktuální řádek 17 z:

booleovský midiMode = false; // pokud midiMode = false, bude Arduino fungovat jako zařízení usb-to-serial

boolean midiMode = true;// pokud midiMode = true, bude Arduino fungovat jako nativní MIDI zařízení.

Poté, co byly v kódu provedeny poslední změny, je čas otestovat hudební program, který může podporovat MIDI zařízení. Nejprve přepněte Arduino do režimu MIDI:

  1. Pojďme nahrát finální kód do Arduina.
  2. Odpojme USB kabel od Arduina.
  3. Přepněte Arduino do režimu MIDI odstraněním propojky z kolíků ISCP.
  4. Pojďme nainstalovat USB kabel do Arduina.

Pokud vše proběhlo v pořádku, otevřete hudební program a začněte se dotýkat kolíků. Magické zvuky musí znít...

Krok 11: Připájejte sponky na propojky

Jakmile je deska Arduino kompletně dokončena, je čas zaměřit se na klávesnici a způsob jejího připojení k desce. Existuje milion způsobů, jak to udělat, ale vybral jsem kancelářské sponky, které by byly připevněny k malovanému papíru (snadno je lze zajistit a lze je znovu použít).

Proces pájení kancelářských sponek na dráty je poměrně jednoduchý:

  1. Odřízněte zástrčku na jedné straně drátu;
  2. Odizolujeme vodič o 5 mm;
  3. Připájejte odizolovaný drát ke kancelářské sponce;
  4. Opakujte pro všech 12 kancelářských sponek.

Poznámka: Sponky by neměly být potaženy žádným povlakem (barva nebo plast).

Krok 12: Malování šablony

I když je možné hrát na klaviaturu Arduino MIDI pouhým dotykem kancelářských sponek, mnohem zábavnější je vytvořit si vlastní šablonu a používat ji. Vytištěnou šablonu vybarvili. Šablona je v archivu projektu.

Vybarvování šablony je celkem jednoduché, jen dejte pozor, abyste nechali mezeru mezi řádky a použili vhodné barvy, jinak to nebude fungovat. Po zaschnutí barvy připevněte sponky na „klíče“ a můžete začít dělat hudbu.

Děkuji za pozornost!)

Klávesnice je určena pro připojení k externímu zvukovému modulu nebo počítači (pokud je k dispozici příslušné rozhraní) pomocí protokolu MIDI - pro nahrávání hudby do programu sekvenceru nebo živého vystoupení. Počet kláves v navrhované verzi je 48, ale může být zvýšen na 64 bez změny obvodu. Charakteristickým rysem navrhované klávesnice je její citlivost na sílu nárazu na klávesu.

Historie zařízení

Před časem jsem byl v souvislosti s koupí bytu nucen přijít o luxusní nástroj, který mi sloužil jako MIDI keyboard - byla to legendární YAMAHA DX-7. Když smutek opadl, vyvstala otázka v celé své závažnosti a ošklivosti: na čem pracovat? Právě v tuto chvíli se mi díky úsilí mého přítele dostal do rukou napůl sestavený obvod pro KR1816BE39 (v protivníkovi se tento procesor nazývá 8048). Obvod se snadno sestavuje a nastavuje, a co je nejdůležitější, přišel do ruky ve správný čas. Klávesnici jsem sestavil ve formě matice 8x6 pomocí KR1533ID7 a KR1533KP7. Byla tu také moucha - dvě nevýhody tohoto schématu zabíjejí všechny jeho výhody k smrti: nedostatek citlivosti na rychlost úhozu (reproduktory) a kolečko PITCH WEEL. No, kdysi jsem programoval na Z-80 (a dokonce jsem si vyrobil funkční sekvencer) a rozhodl se setřást staré časy. Rozhodně jsem zamítl Z-80 jako CPU jako morálně zastaralý. Navíc jsem nechtěl moc pájet a rozhodl jsem se vzít toto stejné zařízení na KR1816BE39 jako základ a vybavit jej dalším multiplexerem pro přerušení (horních) kontaktů kláves. Našel jsem dokumentaci (nebudete tomu věřit - v knihovně knihu “Designing Digital Devices on Single-Chip Microprocessors”) k assembleru KR1816BE39 a načmáral program... A pak se ukázalo, že kamarádův programátor ROM měl umřel, a prostě nebylo čím program flashnout... Ze smutku jsem úplně ztratil rozum a rozhodl jsem se přepsat stejný algoritmus pro PIC. Za půl dne byl programátor (LUDIPIPO) sletován, následně byl vyroben prototyp z patice KR1533ID7 a dvojice KR1533KP7 a celá instalace byla provedena MGTF bez jakéhokoli razítka. A proces začal...

Nejprve byla spuštěna nedynamická verze programu (uvádím i pro ty, kteří mají klávesnici s jedním kontaktem na klávesu). Poté začala dynamická verze. A pak přišel nápad přidat tlačítka a indikátor. Faktem je, že jsem měl WAVEBLASTER (dceřiný wavetable syntezátor pro velmi staré zvukové systémy) dlouho nečinný. Propojením s mým výtvorem jsem získal něco, co si můžete (v rámci svých schopností a talentu) zahrát i bez počítače, což se někdy docela hodí. To určilo sadu funkcí na tlačítkách - to může být užitečné při připojení ke zvukovým modulům během „živého“ hraní. Funkce tlačítek lze snadno změnit napsáním vlastních obslužných programů a pomocí mých postupů dotazování a zobrazování. Nějak se ukázalo, že klávesnice sestavená v železném pouzdře je pohodlnější než YAMAHA PSS (stále klávesy v plné velikosti, pedál a hlavně dynamika!). Uprostřed tvůrčího procesu vznikla nelehká touha vyrobit verzi MIDI klaviatury čistě pro počítač - indikátor a tlačítka jsou volitelné, ale jsou potřeba kolečka PITCH WEEL a MODULATION. Chvíli jsem s tím bojoval, ale nakonec jsem to vzdal a páječku znovu zapnul. Elektronika není složitá na sestavení, ale mechanika je poněkud složitější a nad designem kola jsem začal krčit obočí. Po chvíli přemýšlení jsem se rozhodl upustit od druhého kolečka - stejně je nikdy neroztáčím oběma najednou, obvykle nejprve píšu noty a výšku, pak přidávám modulaci. V neposlední řadě bylo snížení objemu mechanické práce na polovinu, které jsem tak miloval. Pro méně líné vysvětlím níže, jak vyrobit dvě kola téměř bez složitosti. Aby bylo možné stále zapisovat modulaci, rozhodl jsem se uspořádat tři provozní režimy kola: výška tónu pro 2 půltóny, výška tónu 1 půltón (pohodlné) a modulace. To vše můžete přepínat jedním tlačítkem, režim indikovat dvojicí LED diod. Pro zjednodušení obvodu jsem eliminoval zbývající tlačítka a indikátory, to vše není potřeba pro práci s moderními programy sekvenceru.

Kolečko samozřejmě musí být nasazeno na osu potenciometru, to je pochopitelné, ale k čemu by mělo být připojeno? Moje první myšlenka byla použít jednorázový časovač 555, ale výpočty ukázaly, že by bylo obtížné dosáhnout přesnosti a stability při měření šířky pulzu, když jsem se snažil poskytnout přijatelnou vzorkovací frekvenci kola, protože procesor je převážně zaneprázdněn měřením. doba sepnutí kontaktů klávesnice. Zbývá pouze použít analogově-digitální převodník (ADC). Protože jsem používal Pic16F84 bez vestavěného ADC, vzpomněl jsem si na své inženýrské zázemí (a svou rodnou továrnu) a vyrobil jsem ADC z několika rezistorů s komparátorem (a kusem programu). Ukázalo se to jednoduché, levné a docela přesné.

Uvádím obě schémata - jak s tlačítky, tak s kolečkem a také programy k nim. V případě potřeby lze oba okruhy snadno zkombinovat mírnou změnou adres externích zařízení, stačí si pamatovat, že režim CHORUS (STEREO) používá výšku tónu k dosažení rozladění a je třeba ji buď odstranit, nebo se starat o vysílání výšky tónu s rozladěním; napříč kanály.

Takže - skutečná klávesnice

Schéma zařízení

Jako první se objevila nedynamická verze, necitlivá na sílu nárazu na klíč – pro testování funkčnosti rozložení.

Použil jsem PIC16F84 jako procesor z několika důvodů: tento čip je dostupný, levný a snadno programovatelný a byl to ten, který jsem měl po ruce. Pozor: PIC16C84 není vhodný - má pouze 36 buněk RAM a program nebude fungovat. Obvod kolečka však využívá méně buněk RAM a jeho program lze do PIC16C84 vtěsnat zmenšením několika dalších buněk, například MIDCH (přiřazením konstantního MIDI kanálu všem přenášeným datům).

Schéma dynamické klávesnice s indikací je uvedeno níže:

Obvod je v mnoha ohledech tradiční - je těžké znovu vynalézt kolo bez pedálů a kol. J Port B funguje pro přenos - spodních 7 bitů vydává klíčovou adresu v matici nebo data pro externí zařízení (indikátor a DAC kola). Nejvýznamnější bit se používá pro výstup MIDI dat v sériovém kódu - převod a výstup se provádí softwarově. Proto by krystal měl být na 4 MHz, pokud nechcete přepsat výstupní rutinu MIDI bajtů. Dva nejméně významné bity portu A fungují pro příjem - přijímají signály z multiplexerů „uvolněných“ a „stisknutých“ klávesových kontaktů a tři nejvýznamnější bity určují adresu externího zařízení (přes jiný dekodér KR1533ID7). V obvodu s kolečkem jsem opustil dekodér adres externího zařízení, abych obvod zjednodušil a uvolnil vysoký bit portu PA4 pro vstup dat z komparátoru, takže adresy klávesnice a tlačítek jsou jiné. Při kombinování obvodů bude muset být tento mikroobvod vrácen, pro dešifrování adresy použijte portové bity PA2 a PA3 a adresu 4 zařízení: klávesnice, tlačítka, dynamický indikační datový registr a dynamický indikační registr obeznámenosti. Indikace režimu kola bude muset být přepsána.

Okruh s kolečkem PITCH WEEL / MODULATION vypadá takto:

Na každé klávese je instalována jedna dioda pro oddělení. Rezistory na vstupech multiplexerů by neměly být větší než 8k, jinak jsou možné závady kvůli montážní kapacitě. Indikátor - libovolný se společnou anodou pro 3 číslice, pokud jsou vývody segmentů každé číslice vyvedeny samostatně, musí být vývody stejnojmenných segmentů sloučeny - indikace je dynamická a číslice svítí postupně. Jakákoli tlačítka, bez zamykání, odskok kontaktu je řízen softwarově. LED diody jsou instalovány poblíž tlačítek stejného názvu a indikují aktivaci příslušných režimů, tlačítka „+“ a „-“ nemají LED diody. Tranzistory na indikátoru jsou jakékoliv nízkovýkonové, vysokofrekvenční reverzní vedení. Dva registry KR1533IR23 se používají k střídavému zachycení adresy a kódu aktuální číslice indikátoru (LED diody jsou také seskupeny do dvou kvazi číslic). Použil jsem standardní klaviaturu ze sovětských elektrických varhan se 48 klávesami (vyráběla se i samostatně jako designér rádia „START“ a je poměrně rozšířená). Aby se zmenšila výška klaviatury a tloušťka nástroje, byly ponechány dvě ze šesti kontaktních skupin pod každou klávesou a celé to bylo rozřezáno a znovu slepeno. Obecně stačí jedna spínací skupina na klávesu, ale bylo pohodlnější ji takto slepit. Přípojnice „uvolněných“ a „stisknutých“ kontaktů jsou dlouhé 8 kláves. Na přání lze použít i klávesnici, kde jsou místo spínací skupiny kontaktů použity dva páry spínacích kontaktů - jeden pár sepne na začátku pohybu klávesy, druhý na konci (jako u nástrojů YAMAHA). V tomto případě musí být signál do PA0 přiváděn z inverzního výstupu multiplexeru (pin 6). Beze změn v obvodu lze použít klávesnici s 64 klávesami (standardně – 61, tedy 5 oktáv). V případě potřeby lze počet klíčů zvýšit alespoň na 127, k tomu je třeba zavést do obvodu další dekodér KR1533ID7.

Velmi důležité je dobře nastavit mechaniku – horní kontakty MUSÍ sepnout při uvolnění kláves. Pokud tak neučiníte, program takové klávesy považuje za stisknuté a pokusí se je zpracovat, takže opětovné stisknutí těchto kláves nevydá zvuk. Navíc maximální počet not, které lze hrát současně, je 10 (pokud někomu narostlo více prstů na ruce, lze toto číslo snadno změnit) a neuvolněním kláves se tento počet snižuje. Ze stejných důvodů MUSÍ počet kláves zadaný v proceduře dotazování klávesnice odpovídat počtu skutečných kláves. Odskoky kontaktu jsou softwarově potlačeny.

Pro odporovou matici R-2R ADC je vhodné vybrat odpory s přesností 1–2% a absolutní hodnoty se mohou lišit, poměr je důležitý. Neměli byste však výrazně zvyšovat nominální hodnotu, tím se prodlouží doba převodu kvůli vstupní kapacitě komparátoru. Použil jsem SMD odpory bez přizpůsobení, i když měření ukázala, že v jednom montážním pásku jsou odpory obvykle přizpůsobeny s přesností nad 1%. Jsem si jistý, že obvod bude pracovat s nepřesnými odpory, ale linearita charakteristiky se zhorší. Samotné kolečko je vyrobeno z rukojeti ze staré TV a na ose potenciometru má pružinu, která jej vrací do střední polohy. Pro pohodlí při nastavování mechaniky se po zapnutí napájení se stisknutým tlačítkem režimu aktivuje program ladění, který rozsvítí LED, když je kolo ve střední poloze, což vám umožní doladit nulovou polohu kolečka na ose potenciometru. Pokud je potřeba a přání vyrobit samostatné MODULAČNÍ kolo, musí být připojeno k volnému komparátoru (jsou čtyři) a matice R-2R je společná pro obě kola. Pro přepínání výstupů komparátorů je lepší použít přídavný mikroobvod a jako řídicí signál použít PA2.

Na přání si můžete sestavit dynamickou verzi klaviatury bez indikace, tlačítek a kolečka PITCH WEEL / MODULATION - jednoduše bez montáže nepoužité části obvodu. Všechny měnitelné parametry se po zapnutí napájení nastaví na výchozí...

To vše lze napájet z čehokoli, spotřeba proudu závisí na konkrétním indikátoru a nepřesahuje 100 mA. Stabilizátor 7805 mám přímo na desce bez chladiče (je to dobře vidět na fotce). Pokud je do něj dodáváno více než 9V, je potřeba malý radiátor. Komparátor je napájen napětím 9 - 12 V, nejlépe stabilizovaným. Ano, použil jsem sovětské mikroobvody ze starých zásob - existuje velké množství jejich moderních analogů, výměna je možná a dokonce žádoucí - moderní analogy mají nižší spotřebu.

Program

Algoritmus pro zpracování stisknutých kláves pochází z algoritmu navrženého v časopise „Microprocessor Tools and Systems“ č. 5, 1986. Právě tato publikace (nebo spíše chyba v navrhovaném programu) mě přiměla ke studiu assembleru. Ve skutečnosti jediným nápadem, který se odtud vzal, bylo zaznamenat počet každé stisknuté klávesy do speciálně přidělené oblasti RAM (CHAN), takže když je klávesnice znovu dotazována, nezpracovává znovu již zpracovanou klávesu. Pro každou stisknutou klávesu mám přiděleny dvě buňky RAM (celkem ne více než 10): v první je zaznamenáno číslo stisknuté klávesy, ve druhé - její VELOCITY (rychlost stisku). Opakuji - těchto buněk je pouze 20 a počáteční adresa je dána názvem CHAN. Znaménko volného páru je nastavený nejvýznamnější bit první buňky. Nejvýznamnější bit druhé nastavené buňky znamená, že NOTE ON pro tento klíč již byl přenesen a nepotřebuje další zpracování.

Nebudu podrobně popisovat celý program, zdrojový kód je přeplněný komentáři a je pro proškoleného člověka celkem přístupný. Ke zbytku poskytuji ihned hotový firmware v souboru Dinamic.hex a Pitchmod.hex. Vysvětlím jen některé věci, které nejsou zřejmé. Nejprve k dynamice: v okamžiku otevření horních kontaktů klíče je jeho číslo zapsáno do první buňky prvního volného páru z oblasti CHAN a současně se resetuje znak volného páru. Počáteční hodnota VELOCITY = 127 je zapsána do druhé buňky. Citlivost klávesnice je určena frekvencí přerušení, protože zpracování přerušení snižuje hodnoty VELOCITY pro všechny klávesy, pro které ještě nebyla přenesena NOTE ON. Přerušení je způsobeno vestavěným časovačem. V okamžiku, kdy jsou spodní kontakty klíče sepnuty, je v příslušné buňce CHAN nastaven znak „přeneseno“ a s aktuální VELOCITY je vysílána NOTE ON. Pro zlepšení křivky citlivosti se hodnoty VELOCITY snižují podle logaritmického zákona: 1/16 její části snížené o 1 se odečte od aktuální hodnoty VELOCITY, zatímco se klíč pohybuje od horního kontaktu ke spodnímu za prvé, hodnota VELOCITY v odpovídající buňce CHAN klesá podle logaritmického zákona a čím rychleji se klávesa pohybuje, tím větší je VELOCITY v okamžiku, kdy jsou spodní kontakty klávesy sepnuty a je přenášen NOTE ON. Přerušení také řídí dynamické zobrazení, to se provádí za účelem odstranění blikání indikátoru.
Funkce tlačítek: TRANSPOSE - všechny klávesy jsou zredukovány na vaše oblíbené A moll: rozsah +/- 15 půltónů. PRG přiřadí témbru (nástroji) dané předvolbě (UP1-UP5) a VOL přiřadí její hlasitost. Aktuální parametr je zobrazen na indikátoru a lze jej změnit pomocí tlačítek „+“ a „-“ TWIN zobrazuje „dvojitý“ timbrál – jednu z předvoleb (UP1-UP5) a zároveň předvolbu LOWER. zvuk současně. STEREO vysílá zvuk aktuální předvolby do pravého a levého stereo kanálu s mírným „rozladěním“ (efekt „chorus“). Tlačítko SPLIT není aktivováno. Pedál SUSTAIN je obvodově řešen jako jedno z tlačítek, kapacita jeho drátu by neměla být příliš velká. Adresy obslužných programů tlačítek jsou shromážděny v tabulce na začátku programu, při změně funkcí tlačítek je můžete nahradit vlastními.

ADC kola je poloviční software, pracuje pomocí postupného aproximačního algoritmu, matice R-2R provádí digitálně-analogový převod. Nejprve se na matici R-2R aplikuje 1 z nejvýznamnější číslice a komparátor určí, zda je to hodně nebo málo. Je-li málo, zůstává 1 v nejvýznamnějším bitu, je-li hodně - 0. Potom se totéž stane s každým následujícím bitem nižšího řádu (celkem 6 kroků) a dostaneme šestibitové číslo odpovídající úhel natočení kola. Tato přesnost se mi zdá dostatečná, ale můžete přidat ještě jeden bit zvýšením matice a převodním programem.

Design

Jako skutečnou klávesnici jsem použil konstruktér „Start“ sovětské výroby, nyní je snad snazší najít starou, nefunkční Yamahu nebo Casio, vyřeší to také problém výroby pouzdra - pokud ovšem ano; starý nástroj je relativně nepoškozený...

Deska plošných spojů nebyla vyvinuta - považoval jsem za nevhodné trávit čas zapojením a výrobou desky pro výrobu jediné kopie zařízení a rozložení bylo provedeno na desce plošných spojů pomocí propojek MGTF. Jako konektor a kabel ke klávesnici jsme použili kabel z disketových mechanik z počítače s odpovídajícím konektorem na každé straně - usnadňuje to montáž/demontáž hotového zařízení.

V mém případě bylo tělo ohnuto z tenkého ocelového plechu (co bylo po ruce) - s dřevěnými bočnicemi (jako staré sovětské nástroje).

No, to je ve zkratce vše. Kreativní úspěch!

Seznam radioprvků

Označení Typ Označení Množství PoznámkaProdejnaMůj poznámkový blok
Schéma č. 1.
MikrokontrolérPIC16F841 Do poznámkového bloku
ČipKR1533ID71 Do poznámkového bloku
ČipKR1533KP71 Do poznámkového bloku
Lineární regulátor

LM7805

1 Do poznámkového bloku
Dioda

KD522A

64 Do poznámkového bloku
Kondenzátor22 pF2 Do poznámkového bloku
Kondenzátor0,1 uF2 Do poznámkového bloku
100 uF2 Do poznámkového bloku
Rezistor

220 ohmů

2 Do poznámkového bloku
Rezistor

6,8 kOhm

8 Do poznámkového bloku
Quartz rezonátor4 MHz1 Do poznámkového bloku
Tlačítko klávesnice 64 Do poznámkového bloku
Schéma č. 2.
MikrokontrolérPIC16F841 Do poznámkového bloku
ČipKR1533ID72 Do poznámkového bloku
ČipKR1533KP72 Do poznámkového bloku
ČipKR1533IR232 Do poznámkového bloku
Lineární regulátor

LM7805

1 Do poznámkového bloku
Bipolární tranzistor

KT315A

5 Do poznámkového bloku
Dioda

KD522A

80 Do poznámkového bloku
Kondenzátor22 pF2 Do poznámkového bloku
Kondenzátor0,1 uF2 Do poznámkového bloku
Elektrolytický kondenzátor100 uF2 Do poznámkového bloku
Rezistor

180 ohmů

7 Do poznámkového bloku
Rezistor

220 ohmů

2 Do poznámkového bloku
Rezistor

6,8 kOhm

16 Do poznámkového bloku
Rezistor

8 kOhm

1 Do poznámkového bloku
Quartz rezonátor4 MHz1 Do poznámkového bloku
3místný digitální LED indikátor se společnými anodami. 1 Do poznámkového bloku
Světelná diodaČervené12 Do poznámkového bloku
Klíčový spínač 64 Do poznámkového bloku
Knoflík 16 Do poznámkového bloku
Schéma č. 3.
MikrokontrolérPIC16F841 Do poznámkového bloku
ČipKR1533ID71 Do poznámkového bloku
ČipKR1533KP72 Do poznámkového bloku
Komparátor

MIDI kontrolér se již dlouhou dobu stal pro producenty a zvukové inženýry důležitým atributem, který pomáhá vytvářet krásnou hudbu. Virtuální nástroje vždy znějí zvláštně, takže jsou ozdobou každé melodie.

Vzhledem k tomu, že mnoho hudebníků se velmi zajímá o kvalitu svých produktů, vyvstává otázka: jak vybrat ovladač typu MIDI? Tento článek popisuje tipy a základní kritéria výběru.

Co je MIDI kontrolér?

V 80. letech minulého století bylo zařízení zvané kontrolér používáno, aby umožnilo hudebníkovi ovládat provoz několika syntezátorů najednou pomocí jedné klávesnice. Tento nápad měl úspěch, a tak se zařízení tohoto typu okamžitě rozšířila. Pokud si je nemohl koupit každý, pak v současné době ovladače výrazně zlevnily. Muzikanti, zvukaři, skladatelé, umělci, DJs - všichni používají taková zařízení.

Co je to zařízení, které má klávesnici? Je to podobné klávesám klavíru a syntezátoru. Přidal knoflíky, různá tlačítka a posuvníky. Při interakci s nimi se melodie přenáší do zvukových modulů, které mají externí typ. Řeč je o noteboocích a dalších zařízeních. Jinými slovy, ovladače (většina z nich) nejsou schopny produkovat zvuk samy o sobě. Jsou určeny k regulaci bitů, not a dalších parametrů reprodukovaných z externího zařízení (zvukového modulu).

Jaké jsou výhody MIDI kontroléru? Nejviditelnější: je univerzální a přenosný. Díky němu můžete aplikovat všechny virtuální efekty a ovládat moderní software. Lze jej snadno přenášet například pomocí tašky na notebook.

Co hledat při nákupu?

Před nákupem jakéhokoli ovladače je třeba se zamyslet nad tím, k čemu slouží. Bylo by užitečné odpovědět na následující otázky, poskytnou přesnou představu o tom, která možnost z obrovského sortimentu je vhodná.

K čemu bude ovladač sloužit? Zařízení určené pro jevištní představení musí mít materiál odolný vůči mechanickému namáhání. Vzhledem k tomu, že většina ovladačů je vyrobena z plastu, musíte věnovat pozornost kovovým možnostem. Musíte se také rozhodnout o typu mechanismu a počtu klíčů. Pokud je jich příliš mnoho, pak existuje možnost záměny účelu některého z nich při živém vystoupení.

Malý MIDI kontrolér bude pro DJe stačit. Není vůbec těžké to udělat vlastníma rukama, pokud člověk rozumí elektronice. To znamená, že DJs často používá domácí vybavení. Více si o tom můžete přečíst níže. Takové zařízení musíte zakoupit s ohledem na skutečnost, že potřebujete také rukojeti a posuvníky. Bez nich program (MIDI kontrolér funguje pouze v tandemu s ním) nebude vykonávat požadované funkce.

Pokud hudebník upravuje skladby v posteli, v letadle, v autě nebo na jiném místě, pak bude hlavním hlediskem při výběru přenositelnost. Vzhledem k tomu, že je zařízení napájeno, je třeba věnovat pozornost těm, které lze nabíjet z USB sběrnice.

MIDI kontroléry od Pioneer

MIDI kontrolér Pioneer je zařízení, které bylo vždy žádané. Tento výrobce dlouhodobě patří mezi tři největší lídry na trhu s takovým vybavením. Co od sebe odlišuje „příbuzné“ modely Pioneer? Už jen přítomnost doplňkových funkcí, které vypadají jako obyčejná mechanická tlačítka na ovládacím panelu. Každý ovladač této značky má vynikající jog wheel. Vzhled je vážný a elegantní. Působivá velikost zařízení je kompenzována jeho maximální funkčností.

Není třeba se divit, jaký model zvolit. Měli byste se na DDJ-T1 okamžitě podívat blíže. Zařízení je mnohými doporučováno Poměr ceny a kvality je docela dobrý. Ovládací panel je pohodlný, tlačítka lze bez problémů mačkat a zařízení se snadno přenáší.

Ovladač Novation Launchpad Controller

MIDI ovladač Novation Launchpad je navržen speciálně pro práci s Ableton Live. Zařízení je vhodné pro jevištní i domácí studiové aktivity. Uspořádat s ním bude také snadné diskotéky. Mřížka zařízení se skládá z 64 tlačítek. Je vybavena dalšími efekty, stejně jako funkcemi pro práci se softwarem. Zařízení lze připojit k počítači a funguje jak s rodinou Windows, tak s některými dalšími operačními systémy.

DIY MIDI kontrolér - realita nebo mýtus?

Domácí MIDI kontroléry jsou žádané již dlouhou dobu. Co je potřeba k uskutečnění vašeho nápadu? Potřebujete schéma, podle kterého se bude zařízení pájet a sestavovat, rozpočet, fyzika nebo elektrikáře zběhlého v tomto oboru.

Kromě znalosti technické stránky si také musíte položit otázku, jak moc toho tvůrce o ovladačích ví. Chcete-li správně sestavit zařízení, které splní všechna očekávání, musíte pochopit, která základna je nejlepší použít, proč bude model sestaven a také kam nainstalovat ovládací panel. Problém je poměrně složitý, ale zcela řešitelný. Dnes existuje mnoho hotových obvodů, které lze použít k sestavení regulátoru. Hlavní věc je důvěra ve vaše plány a trpělivost.

Model značky Akai

Akai nedávno vydal nový ovladač s názvem MPC Touch. Na rozdíl od příbuzných zařízení má tento 7palcový displej. Díky tomu je práce s ním mnohem jednodušší. Na základě recenzí je třeba říci, že právě popsaný model je použit jako příklad, pokud jde o profesionální ovladače. Při pohledu na něj a s ohledem na funkčnost okamžitě odpadá otázka, jak takové zařízení vybrat. Software funguje poměrně rychle a efektivně, nevznikají problémy a selhání jsou extrémně vzácná.

Jedinou nevýhodou je, že ovladač není schopen fungovat bez zdroje energie, protože nemá baterii. Značka Akai je na trhu známá již dlouhou dobu. Jeho MIDI kontrolér je výkonné a kvalitní zařízení, které snese velké zatížení. Často se některé modely používají na jevišti.

MIDI kontrolér je zařízení, které převádí určitý fyzický proces na sadu digitálních příkazů ve formátu MIDI. Fyzický proces může být cokoli od stisknutí klávesy prstem až po otočení ovladače hlasitosti. Výsledný příkazový tok je přenášen přes MIDI protokol do dalších zařízení - počítače, hardwarových samplerů, syntezátorů nebo externích sekvencerů a tam je určitým způsobem dešifrován. Nejběžnějším typem MIDI kontroléru je MIDI keyboard - elektronická obdoba klavírní klávesnice. Existuje také mnoho dalších typů ovladačů, včetně elektronických bicích sad.

Moderní trh nabízí obrovské množství různých MIDI ovladačů pro elektronické instalace, které se liší v různých kritériích, jako je cena, kvalita, technické vlastnosti atd. Existuje také několik hotových uživatelských zařízení, která jsou implementována jako komerční projekty (eDrum, megaDrum). Ale navzdory tomu všemu touha vytvořit takové zařízení vlastníma rukama stále žije v myslích moderních Kulibinů.

Takže před pár lety, trochu opožděně, jsem se začal zajímat o vytvoření takového zařízení, protože jsem se účastnil těžké hudební skupiny. Hráli jsme hard rock, nebo spíš něco jako brutaldeath, goregrind, grindcore. Hrál jsem na elektrickou kytaru. O něco dříve jsme koupili bicí soupravu Sonor a dělali po večerech v garáži hluk. Později se nás garáž zeptala a vyvstala otázka ohledně prostor. Protože jsme nenašli nic, co by stálo za to, rozhodli jsme se zkoušet doma, což okamžitě vedlo ke konfliktu se sousedy. Zde vyvstala otázka elektronických bicích.

Paralelně s hraním na živé nástroje jsem psal elektronickou hudbu a zejména pomocí VST nástrojů a plug-inů jsem pro tvorbu bicích partů preferoval Addictive drums a ezDrums, které mají schopnost pracovat s MIDI rozhraním. Aniž bych toto téma ani googlil, vrhl jsem se po hlavě do vývoje vlastního MIDI kontroléru na cenově dostupném mikrokontroléru ATMega32 v DIP pouzdře, který měl na desce 8 ADC kanálů. Nechtěl jsem oplotit okruh a rozhodl jsem se omezit se na 8 vstupů. Jelikož ATMega32 nemá hardwarové USB, použil jsem standardní připojení k počítači přes virtuální usb. Poté, co jsem se několik dní trápil s programováním, se mi podařilo zařízení nastartovat. Představte si moje překvapení, když jsem na internetu objevil hotové zařízení se schématem zapojení a firmwarem (MegaDrum). Ale vše, co se neudělá, je vše k lepšímu.


Plné USB

Povoláním jsem programátor, ale povoláním programátor elektroniky, kandidát technických věd, a jak říkával můj bývalý vedoucí, jsem Švýcar, sekáč a trumpetista. Jak už to tak bývá, na AVR jsem se zafixoval ne proto, že bych k nim něco cítil, ale proto, že jsem byl naprosto spokojen s jejich výkonem a jejich technickými vlastnostmi. Jenže přišla doba, kdy už nestačily. A pak ho nahradil stm32, mimo jiné s plnohodnotným usb rozhraním na palubě. Zde vznikl nápad vyrobit plnohodnotný MIDI kontrolér. Navíc jsem již měl zkušenosti s prací s MIDI rozhraním.

kde začít? Neměli jsme stm32 v DIP balíčcích (pokud vůbec v přírodě existují), takže myšlenka pájení na desce plošných spojů okamžitě zmizela. Právě tehdy se začaly objevovat levné vývojové desky založené na mikrokontrolérech stm32, jako je DISCOVERY. A nyní jsem šťastným majitelem ladicí desky STM32F407DISCOVERY, jejíž součástí je i programátor ST-Link. Procesor STM32F407 má 16 kanálů ADC, i když 4 kanály jsou obsazeny periferiemi, kterými je ladicí deska prostě nacpaná. Ale pro mé účely stačilo 12 kanálů.


Poté, co jsem strávil nějaký čas studiem programovacího prostředí Keil, architektury mikroprocesoru STM32F407 a standardních periferních knihoven pro práci s USB, vytvořil jsem program pro dotazování všech kanálů ADC pomocí kanálu přímého přístupu do paměti a také kompozitního USB zařízení, které obsahuje MIDI Audio Device a HID pro změnu nastavení zařízení.

Jako snímače pro bicí jsem použil piezo zvonek ZP-1, který se dá koupit v obchodě za výhodnou cenu.


Vzal jsem schéma zapojení z MegaDrum.


Ovládací program jsem napsal v Delphi s rezervou 16 kanálů. V zásadě lze počet kanálů zařízení neomezeně zvyšovat přidáním analogových multiplexerů do obvodu, jak se to dělá v Megadrum, ale pro naše účely stačí 16 kanálů, protože nejsme tak pokročilí hudebníci. A pro začínajícího bubeníka bude tento počet bubnů hračkou.


Zařízení bylo testováno na Windows i Linuxu pomocí Renoise trackeru. V práci nebyly zjištěny žádné zvláštní problémy.
Ale rozhodl jsem se nezůstat u tohoto výsledku. STM32F407 je poměrně sofistikovaný procesor, takže je poměrně drahý. Bylo levnější vyrobit zařízení pomocí STM32F103. eBay přišel na pomoc. Koupil jsem vývojovou desku s STM32F103RBT6 na desce.


Pravda, nemá vestavěný programátor. Měl jsem štěstí, protože jsem měl z předchozího zaměstnání ještě programátora ST-Link.


Firmware jsem musel kompletně přepsat, protože principy fungování procesorů 407 a 103 se, i když ne radikálně, liší.
Pak jsem na internetu narazil na ladicí desku, která ve skutečnosti stála korunu, a rozhodl jsem se, že tímto způsobem mohu snížit náklady na komponenty na minimum.

Většina článků na internetu je o výrobě MIDI kláves, ovladačů, dálkových ovladačů atd. jsou založeny na použití MIDI konektorů, jejichž připojení k modernímu počítači může být problematické. Starší zvukové karty měly herní port, ke kterému bylo možné připojit joystick nebo MIDI zařízení:

Všechny nové základní desky však přicházejí s vestavěným zvukovým ovladačem a zvukové karty často postrádají možnost připojení MIDI zařízení.
Nezbývá než dokoupit moderní MIDI keyboard, DJ konzoli atp. s USB výstupem pro připojení k počítači, případně dokoupit/připájet adaptér, případně zakoupit speciální zvukovou kartu s možností připojení MIDI zařízení. Nákup samozřejmě není problém, ale to není důvod, proč jsme přišli na tento web, že?

V tomto článku chci ukázat, jak můžete pomocí levného Arduino ovladače vytvořit jednoduchou MIDI klávesnici s USB připojením pro 8 kláves a rolovacím kolečkem.

Tak jsem použil:
Ovladač Arduino UNO
8 ks. tlačítka
8 rezistorů 10 kOhm
rotační kodér 25LB22-Q
prkénko a svetry

Schéma zapojení je následující:

Pro připojení jsem použil nejjednodušší možnost: 1 klíč - 1 vstup. Při větším počtu kláves, různých ovladačů atp. Nemusí být dostatek vstupů, takže budete muset použít čtení dat buď přes analogové vstupy (přidáním odporů různých hodnot) nebo přes multiplexování. Pokud však k analogovému vstupu připojíte několik kláves, mohou při současném stisknutí několika kláves nastat problémy se čtením stavu. Proto je dle mého názoru přijatelnější varianta multiplexování.

Software Arduino

Nebudu uvažovat o struktuře MIDI dat, protože... je to popsáno v článku:

Kodér je připojen na vstupy hardwarového přerušení nebudu uvažovat o popisu práce s ním, protože... Program je jednoduchý a převzatý z oficiálních stránek Arduina.

V tomto projektu je kodér použit jako rolovací kolečko pro změnu modulačního kolečka, ale lze jej přeřadit pro jiné účely (pitch bend atd.).

MIDI data z kodéru, z Arduina, jsou odeslána s následujícím řádkem:
noteOn(0xB0, 0x01, kodér0Pos);
kde 0xB0 je zpráva ovladače (změna řízení)
0x01 - kód ovladače (v našem případě Modulace)
encoder0Pos - hodnota regulátoru (v našem případě 0-127).
Změnou kódů ovladačů můžete použít rolovací kolečko (kodér) pro různé ovladače.

Za zmínku také stojí Pitch Bend. Ze specifikace MIDI vyplývá, že je nutné odeslat zprávu o třech bytech: 0xE0 (kód Pitch Bend), MSB (vysoký byte), LSB (nízký byte).

Dva vnější bajty ukládají 14bitovou hodnotu rozteče, která může být v rozsahu 0...16383 (0x3FFF). Střed je 0x2000, vše nad touto hodnotou způsobí změnu výšky tónu směrem nahoru, pokud je nižší, výška se změní směrem dolů.
V kódu programu jsem zakomentoval řádky, pokud najednou chcete místo modulace použít Pitch Bend (střed hodnoty, rozklad na 2 byty atd.)

Kód detekce stisknutí klávesy zahrnuje tři stavy: klávesa je stisknuta, klávesa je přidržena a klávesa je uvolněna. To bylo provedeno proto, aby mohla být přenášena hodnota doby trvání stisknutí tlačítka. Pokud to není nutné, můžete ponechat pouze jeden stav (stisk klávesy), program se v tomto případě výrazně zjednoduší.
Ke zpracování stavu každého z osmi klíčů se používá následující kód:

If (buttonState_C == HIGH && note_C_send_on == false) // Stisknuta klávesa ( noteOn(0x90, note_C, 0x7F); note_C_send_on = true; // Příkaz Note On byl odeslán note_C_send_off = false; // příkaz Note Off nebyl odeslán) jinak, pokud (buttonState_C == HIGH && note_C_send_on == true) // Pokud je klíč podržen ( noteOn(0x00, note_C, 0x7F); note_C_send_on = true; note_C_send_off = false; ) else if (buttonState_C == LOW &_& note_C_s // Pokud je klávesa uvolněna ( noteOn(0x90, note_C, 0x00); note_C_send_on = false; note_C_send_off = true; encoder0Pos = 0; // Vraťte polohu kola na nulu ) ....... ..... .. ... .... // Funkce pro odeslání MIDI zprávy na sériový port void noteOn(int cmd, int pitch, int velocity) ( Serial.write(cmd); Serial.write(pitch); Serial. write(rychlost)( 20);

Vezměte prosím na vědomí, že pokud je použit pitch bend, pak bude nutné vrátit encoder0Pos ne na nulu, ale na 0x2000 (nebo je lepší nastavit definovat na začátku programu).

Takže obvod je sestaven, náčrt se nahraje do ovladače, spustíme Serial Monitor, změníme přenosovou rychlost na 115200 a stiskneme klávesy nebo otočíme kodérem a podíváme se na hodnoty.
Pokud je vše v pořádku, přejděte k další části. Hned řeknu, že pro mě se to ukázalo jako nejproblematičtější, a kdybych nenašel virtuální USB -> Midi převodník, tento článek by neexistoval.

PC software (Windows)

Abyste mohli přijímat data přes virtuální COM port USB z Arduina a přenášet je do libovolného programu MIDI sekvenceru, potřebujete speciální nástroj: Serial MIDI Converter V2D (kancelář)

Program je multiplatformní, fungoval mi pod Windows 7 x64, i když s určitými problémy.

Spustíme jej, vybereme USB port, přenosovou rychlost (115200) a MIDI Input Port a MIDI Output Port.

Nyní jsou všechna MIDI data, která přicházejí do USB virtuálního COM portu 12, přesměrována do MIDI Yoke 6 portu (k vytvoření virtuálních MIDI portů jsem použil program MIDI Yoke). Můžete je přesměrovat na Microsoft GS Wavetable Synth a další porty.
Program musí být neustále zapnutý. Když stisknete tlačítka nebo otočíte knoflíkem kodéru, indikátor Serial RX ve spodní části by měl blikat.

Pro vizuální zobrazení příchozích MIDI dat z portu se mi velmi hodil program MIDI-OX (kancelářský web):

Vezměte prosím na vědomí, že v nastavení MIDI Devices musíte nastavit port MIDI Input.

Nyní, když stisknete notové klávesy nebo otočíte kolečkem, uvidíte MIDI data v Monitor-Output.

Že. Pomocí softwaru a hardwaru jsme dokázali vyrobit jednoduchou MIDI klávesnici na ovladači Arduino s přenosem dat do počítače pro následné zpracování např. v Cubase atp. vč. v reálném čase.
Na základě tohoto projektu si můžete vyrobit DJ konzoli, plnohodnotnou MIDI klávesnici atp.

Níže si můžete stáhnout INO sketch, Serial MIDI Converter V2D, MIDI-OX a MIDI Yoke