Obsah:
- Krok 1: Materiály
- Krok 2: Design
- Krok 3: Konstrukce a zapojení
- Krok 4: Programování
- Krok 5: Nastavení
Video: Arduino Uno Midi Fighter: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Tento instruktáž byl vytvořen při splnění požadavku projektu Makecourse na University of South Florida (www.makecourse.com)
Na základě oblíbeného MidiFighter od DJ Techtools lze tento domácí ovladač MIDI (Musical Instrument Digital Interface) poháněný Arduino použít jako MIDI zařízení v jakémkoli softwaru DAW (Digital Audio Workstation). Řadič MIDI může odesílat a přijímat zprávy MIDI z počítače a lze jej použít k přímému ovládání libovolného používaného softwaru. Ovládací prvky na MIDI kontroleru jsou navíc plně přizpůsobitelné - to znamená, že každé jednotlivé tlačítko, posuvník a knoflík lze namapovat na libovolnou funkci v DAW. Například stisknutím tlačítka můžete přehrát konkrétní notu nebo být naprogramován tak, aby přepínal tempo vašeho zvukového projektu.
github.com/jdtar/Arduino-Midi-Controller
Krok 1: Materiály
Níže je uveden seznam materiálů a nástrojů použitých v tomto projektu.
Arduino Uno
Prkénko
Multiplexer 4051/4067
Propojovací vodiče
Extra drát
2x 10k ohm lineární posuvné potenciometry
16x tlačítka Sanwa 24 mm
Smršťování teplem
Páječka
Žiletka
Rezistor 4,7 kΩ
Akrylový list (na víko)
Pouzdro pro tlačítka a Arduino
3D tiskárna
Laserová řezačka
Krok 2: Design
Už před zahájením projektu mi bylo poskytnuto pouzdro pro můj MIDI ovladač, a tak jsem posmíval náčrt víka, abych viděl, kam všechno má být umístěno. Věděl jsem, že chci jako funkci alespoň 16 tlačítek a několik potenciometrů, takže jsem se pokusil rozložit součásti co nejrovnoměrněji.
Po vypracování rozvržení víka jsem soubor exportoval ve formátu 1: 1 PDF a odeslal jej do laserové řezačky, abych nařezal list akrylu. U otvorů pro šrouby jsem značkovačem označil, kde chci, aby byly otvory, a roztavil akryl horkým vláknem.
V příloze je dokument 1: 1 PDF, který lze vytisknout v poměru 1: 1 a řezat pomocí elektrického nářadí, pokud není k dispozici laserová řezačka.
Krok 3: Konstrukce a zapojení
Po řezání řezání akrylu jsem zjistil, že je akrylát příliš tenký, aby dostatečně podepřel všechny součásti. Potom jsem vystřihl další list a slepil je, což fungovalo perfektně.
Zapojení součástí vyžadovalo pokus a omyl, ale vyústilo v přiložený Fritzingův náčrt. Nejprve jsem zapojil zemnící vodiče a odpor 4,7 kΩ, připájel a zahustil spoje na tlačítkách. Montáž dvou posuvných potenciometrů vyžadovala tavné otvory pro šrouby v akrylátu. Poté, co byly oba potenciometry zašroubovány, byly připojeny k analogovým pinům A0 a A1. Když bylo zapojení dokončeno, vzpomněl jsem si, že pro mé fadery neexistují žádné krytky knoflíků, takže jsem je místo nákupu vytiskl pomocí 3D tiskárny tak, že jsem je nakreslil v Autodesk Fusion 360 a exportoval do souboru STL. De
Arduino Uno má pouze 12 digitálních vstupních pinů, ale 16 tlačítek mělo být zapojeno. Abych to kompenzoval, zapojil jsem multiplikátor 74HC4051 na prkénko, které používá 4 digitální vstupní piny a umožňuje více signálům používat sdílenou linku, což má za následek 8 dostupných digitálních vstupních pinů pro celkem 16 digitálních pinů, které jsou k dispozici k použití.
Zapojení tlačítek na správné piny bylo jednoduše otázkou vytvoření matice 4x4 a jejího použití v kódu. Složité na tom však bylo, že konkrétní zakoupený multiplexer měl konkrétní rozložení pinů, s čímž pomohl datový list, a také jsem měl na mysli konkrétní rozložení not při zapojování tlačítek, které nakonec vypadalo trochu takto:
POZNÁMKA MATRIX
[C2] [C#2] [D2] [D#2]
[G#2] [A1] [A#2] [B1]
[E1] [F1] [F#1] [G1]
[C2] [C#2] [D2] [D#2]
PIN MATRIX (M = MUX VSTUP)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Krok 4: Programování
Jakmile je sestava dokončena, zbývá jen naprogramovat Arduino. Přiložený skript je napsán takovým způsobem, že je snadno přizpůsobitelný.
Začátek skriptu obsahuje knihovnu MIDI.h a knihovnu ovladačů vypůjčenou z blogu Notes a Volts, které jsou oba součástí souboru zip pro kód. Pomocí knihovny ovladačů lze vytvářet objekty pro tlačítka, potenciometry a multiplexovaná tlačítka obsahující datové hodnoty, které zahrnují číslo noty, řídicí hodnoty, rychlost not, číslo kanálu MIDI atd. Knihovna MIDI.h umožňuje komunikaci MIDI I/O na Sériové porty Arduino, které zase odebírají data z objektů řadiče, převádějí je na zprávy MIDI a odesílají zprávy do libovolného připojeného rozhraní midi.
Část neplatného nastavení skriptu inicializuje všechny kanály jako vypnuté a také inicializuje sériové připojení rychlostí 115 200 baudů, což je rychlost rychlejší než jsou vyměňovány signály MIDI.
Hlavní smyčka v podstatě přebírá pole tlačítek a multiplexovaných tlačítek a spouští smyčku for, která kontroluje, zda bylo tlačítko stisknuto nebo uvolněno, a odesílá odpovídající datové bajty do rozhraní midi. Smyčka potenciometru kontroluje polohu potenciometru a odesílá odpovídající změny napětí zpět na rozhraní midi.
Krok 5: Nastavení
Jakmile byl skript načten do Arduina, dalším krokem je plug and play. Existuje však několik kroků, než je lze použít.
V systému OSX společnost Apple začlenila funkci pro vytváření virtuálních midi zařízení, ke kterým lze přistupovat prostřednictvím aplikace Audio Midi Setup na počítačích Mac. Jakmile je nové zařízení vytvořeno, lze Hairless MIDI použít k vytvoření sériového spojení mezi Arduinem a novým virtuálním midi zařízením. Sériové připojení z Arduina přes Hairless MIDI pracuje s přenosovou rychlostí definovanou v části neplatného nastavení skriptu a musí být nastaveno ekvivalentně v nastavení předvoleb Hairless MIDI.
Pro testovací účely jsem použil Midi Monitor, abych zkontroloval, zda byla odesílána správná data podle připojení sériového MIDI. Jakmile jsem zjistil, že všechna tlačítka odesílala správná data správnými kanály, nastavil jsem MIDI signál pro směrování na Ableton Live 9 jako MIDI vstup. V Abletonu jsem dokázal mapovat rozřezané zvukové ukázky na každé tlačítko a přehrát každý vzorek.
Doporučuje:
Sestavte MIDI ovladač Arduino: 5 kroků (s obrázky)
Sestavte MIDI ovladač Arduino: Ahoj všichni! V tomto návodu vám ukážu, jak si postavit vlastní MIDI ovladač napájený Arduino. MIDI je zkratka pro Musical Instrument Digital Interface a je to protokol, který umožňuje počítačům, hudebním nástrojům a jinému hardwaru komunikovat
Akustická levitace s Arduino Uno krok za krokem (8 kroků): 8 kroků
Akustická levitace s Arduino Uno krok za krokem (8 kroků): Ultrazvukové měniče zvuku L298N Dc samice napájecí zdroj s mužským DC pinem Arduino UNOBreadboard Jak to funguje: Nejprve nahrajete kód do Arduino Uno (je to mikrokontrolér vybavený digitálním a analogové porty pro převod kódu (C ++)
Výkonnější Arduino-UNO, Massduino-UNO: 9 kroků
Výkonnější Arduino-UNO, Massduino-UNO: Co je to Massduino? Massduino je nová produktová řada, která kombinuje periferní platformu Arduino-bohatý, pohodlný a rychlý vývoj, levné a snadno vyrobitelné výhody ve velkém měřítku. Téměř celý kód Arduino může být
Arduino MIDI Fighter (citlivý na dotek): 7 kroků (s obrázky)
Arduino Based MIDI Fighter (Touch Sensitive): MIDI je zkratka pro Musical Instrument Digital Interface. Zde vyrábíme na dotek citlivý MIDI bojovník, který má 16 padů. mohou být zvýšeny nebo sníženy. Zde jsem použil 16 kvůli omezeným pinům arduino. Také jsem použil analogové vstupní piny
MIDI 5V LED Strip Light Controller pro Spielatron nebo jiný MIDI syntezátor: 7 kroků (s obrázky)
MIDI 5V LED páskový světelný ovladač pro Spielatron nebo jiný MIDI syntetizátor: Tento ovladač bliká tříbarevnými LED páskovými světly po dobu 50 ms na notu. Modrá pro G5 až D#6, červená pro E6 až B6 a zelená pro C7 až G7. Řadič je MIDI zařízení ALSA, takže software MIDI může vystupovat z LED současně jako zařízení MIDI synth