Obsah:
- Krok 1: Materiály
- Krok 2: Dizajn
- Krok 3: Konštrukcia a zapojenie
- Krok 4: Programovanie
- Krok 5: Nastavenie
Video: Arduino Uno Midi Fighter: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Tento návod bol vytvorený ako splnenie projektovej požiadavky Makecourse na University of South Florida (www.makecourse.com)
Tento domáci radič MIDI (Musical Instrument Digital Interface) poháňaný Arduino, založený na populárnom MidiFighter od DJ Techtools, môže byť použitý ako MIDI zariadenie v akomkoľvek softvéri Digital Audio Workstation (DAW). Ovládač MIDI môže odosielať a prijímať správy MIDI z počítača a môže byť použitý na priame ovládanie toho, ktorý softvér sa používa. Ovládacie prvky na MIDI ovládači sú navyše plne prispôsobiteľné - to znamená, že každé jednotlivé tlačidlo, posúvač a gombík je možné mapovať na akúkoľvek funkciu v DAW. Stlačením tlačidla môžete napríklad prehrať konkrétnu notu alebo byť naprogramovaní tak, aby sa menilo tempo vášho zvukového projektu.
github.com/jdtar/Arduino-Midi-Controller
Krok 1: Materiály
Nasleduje zoznam materiálov a nástrojov použitých v tomto projekte.
Arduino Uno
Breadboard
Multiplexor 4051/4067
Prepojovacie vodiče
Extra drôt
2x 10k ohm lineárne posuvné potenciometre
16x tlačidlá Sanwa 24 mm
Zmršťovacia
Spájkovačka
Žiletka
Odpor 4,7 kΩ
Akrylový list (na viečko)
Kryt pre tlačidlá a Arduino
3-D tlačiareň
Laserová rezačka
Krok 2: Dizajn
Pred spustením projektu som už dostal kryt svojho MIDI ovládača, a tak som zosmiešnil náčrt veka, aby som vizualizoval, kde má byť všetko umiestnené. Vedel som, že ako funkciu chcem najmenej 16 tlačidiel a niekoľko potenciometrov, a preto som sa pokúsil rozložiť komponenty čo najrovnomernejšie.
Po vypracovaní rozloženia veka som súbor vyexportoval vo formáte PDF 1: 1 a odoslal ho do laserovej rezačky, aby som narezal list akrylu. Pri dierach pre skrutky som značkovačom označil, kde chcem, aby boli diery, a horúcim vláknom rozpustil akryl.
V prílohe je dokument 1: 1 PDF, ktorý je možné vytlačiť v pomere 1: 1 a rezať pomocou elektrického náradia, ak nie je k dispozícii laserová rezačka.
Krok 3: Konštrukcia a zapojenie
Po rezaní akrylu som zistil, že akryl je príliš tenký na to, aby dostatočne podoprel všetky súčasti. Potom som vystrihol ďalší list a zlepil ich, čo fungovalo perfektne.
Zapojenie komponentov si vyžadovalo niekoľko pokusov a omylov, ale viedlo k pripojeniu Fritzingovho náčrtu. Najprv som zapojil uzemňovacie vodiče a odpor 4,7 kΩ, spájkoval a teplom som spojil tlačidlá. Na montáž dvoch posuvných potenciometrov sú potrebné tavné otvory pre skrutky do akrylátu. Po zaskrutkovaní dvoch potenciometrov boli zapojené k analógovým kolíkom A0 a A1. Keď bolo zapojenie dokončené, spomenul som si, že pre moje fadery neexistujú žiadne krytky gombíkov, a tak som ich namiesto kúpy vytlačil pomocou 3-D tlačiarne načrtnutím v programe Autodesk Fusion 360 a exportom do súboru STL. De
Arduino Uno má iba 12 dostupných digitálnych vstupných pinov, ale 16 tlačidiel malo byť zapojených. Aby som to kompenzoval, zapojil som multiplexor 74HC4051 na nepájivú dosku, ktorá používa 4 digitálne vstupné piny a umožňuje viacerým signálom používať zdieľanú linku, čo má za následok 8 dostupných digitálnych vstupných kolíkov a celkovo 16 digitálnych pinov, ktoré sú k dispozícii na použitie.
Zapojenie tlačidiel na správne piny jednoducho znamenalo vytvoriť maticu 4x4 a použiť ju v kóde. Zložité však bolo, že konkrétny zakúpený multiplexor mal konkrétne rozloženie pinov, s čím pomohol list s údajmi, a tiež som mal na mysli konkrétne rozloženie poznámok pri zapojení tlačidiel, ktoré nakoniec vyzerali trochu takto:
UPOZORNENIE 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: Programovanie
Akonáhle je zostava dokončená, zostáva už len programovanie Arduina. Priložený skript je napísaný tak, aby sa dal ľahko prispôsobiť.
Začiatok skriptu obsahuje knižnicu MIDI.h a knižnicu ovládačov vypožičanú z blogu Notes a Volts, ktoré sú súčasťou súboru zip pre kód. Pomocou knižnice radičov je možné vytvárať objekty pre tlačidlá, potenciometre a multiplexované tlačidlá obsahujúce dátové hodnoty, ktoré zahŕňajú číslo noty, kontrolné hodnoty, rýchlosť noty, číslo kanála MIDI atď. Knižnica MIDI.h umožňuje komunikáciu MIDI I/O na Sériové porty Arduino, ktoré zase preberajú údaje z objektov ovládača, prevádzajú ich na správy MIDI a odosielajú správy do akéhokoľvek pripojeného rozhrania midi.
Časť nastavenia skriptu void inicializuje všetky kanály ako vypnuté a tiež iniciuje sériové pripojenie pri 115200 baudoch, rýchlosť rýchlejšia, ako sa vymieňajú signály MIDI.
Hlavná slučka v podstate preberá polia tlačidiel a multiplexovaných tlačidiel a spúšťa slučku for, ktorá kontroluje, či bolo tlačidlo stlačené alebo uvoľnené, a odosiela zodpovedajúce dátové bajty do rozhrania midi. Slučka potenciometra kontroluje polohu potenciometra a posiela zodpovedajúce zmeny napätia späť do rozhrania midi.
Krok 5: Nastavenie
Akonáhle je skript načítaný do Arduina, ďalším krokom je zapojenie a prehrávanie. Existuje však niekoľko krokov, než ho budete môcť použiť.
V systéme OSX spoločnosť Apple začlenila funkciu na vytváranie virtuálnych zariadení midi, ku ktorým je možné pristupovať prostredníctvom aplikácie Audio Midi Setup na počítačoch Mac. Po vytvorení nového zariadenia je možné Hairless MIDI použiť na vytvorenie sériového prepojenia medzi Arduinom a novým virtuálnym midi zariadením. Sériové pripojenie z Arduina cez Hairless MIDI funguje pri prenosovej rýchlosti definovanej v časti skriptu na neplatné nastavenie a v nastaveniach predvolieb Hairless MIDI musí byť nastavené ekvivalentne.
Na testovacie účely som použil Midi Monitor, aby som skontroloval, či sa správne údaje odosielajú podľa sériovo-MIDI pripojenia. Keď som zistil, že všetky tlačidlá odosielajú správne údaje správnymi kanálmi, nastavil som signál MIDI tak, aby smeroval do Ableton Live 9 ako vstup MIDI. V Abletone som dokázal mapovať nakrájané zvukové ukážky na každé tlačidlo a prehrať každú ukážku.
Odporúča:
Zostavte MIDI ovládač Arduino: 5 krokov (s obrázkami)
Zostavte MIDI ovládač Arduino: Ahoj všetci! V tomto návode vám ukážem, ako si vytvoriť vlastný MIDI ovládač napájaný Arduino. MIDI je skratka pre digitálne rozhranie hudobných nástrojov a je to protokol, ktorý umožňuje počítačom, hudobným nástrojom a ďalšiemu hardvéru komunikovať
Zostavenie MIDI ovládača Arduino: 9 krokov (s obrázkami)
Budovanie MIDI ovládača Arduino: 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 vytvoriť pomocou Arduina. Jednou z najbežnejších zostáv pre začiatočníkov, ktoré som našiel, bolo MIDI ovládač.
Akustická levitácia s Arduino Uno krok za krokom (8 krokov): 8 krokov
Akustická levitácia s Arduino Uno krok za krokom (8 krokov): Ultrazvukové meniče zvuku L298N Dc napájací adaptér ženského adaptéra s mužským DC kolíkom Arduino UNOBreadboard Ako to funguje: Najprv nahráte kód do Arduino Uno (je to mikrokontrolér vybavený digitálnym a analógové porty na prevod kódu (C ++)
Výkonnejší Arduino-UNO, Massduino-UNO: 9 krokov
Výkonnejší Arduino-UNO, Massduino-UNO: Čo je Massduino? Massduino je nový produktový rad, ktorý kombinuje periférne zariadenia platformy Arduino-pohodlný a rýchly vývoj, lacné a ľahko vyrobiteľné výhody rozsiahlej výroby. Takmer celý kód Arduino môže byť
MIDI 5V LED Strip Light Controller pre Spielatron alebo iný MIDI syntetizátor: 7 krokov (s obrázkami)
MIDI 5V LED páskový svetelný ovládač pre Spielatron alebo iný MIDI syntetizátor: Tento ovládač bliká trojfarebnými LED pásikovými svetlami po dobu 50 mS na notu. Modrá pre G5 až D#6, červená pre E6 až B6 a zelená pre C7 až G7. Ovládač je zariadenie ALSA MIDI, takže softvér MIDI môže na LED diódy vystupovať súčasne so zariadením MIDI syntetizátora