Мазмұны:
- 1 -қадам: материалдар
- 2 -қадам: Дизайн
- 3 -қадам: Құрылыс және сымдар
- 4 -қадам: Бағдарламалау
- 5 -қадам: Орнату
Бейне: Arduino Uno Midi Fighter: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Бұл нұсқаулық Оңтүстік Флорида университетінің Makecourse жобасының талаптарын орындау үшін жасалған (www.makecourse.com)
DJ Techtools -тің әйгілі MidiFighter -ге сүйене отырып, бұл үйде Arduino -мен жұмыс істейтін музыкалық аспаптардың сандық интерфейсі (MIDI) контроллері кез келген сандық аудио жұмыс станциясы (DAW) бағдарламалық жасақтамасында MIDI құрылғысы ретінде қолданыла алады. MIDI контроллері MIDI хабарламаларын компьютерден жібере және қабылдай алады және қандай бағдарламалық жасақтаманы басқаруды тікелей басқаруға болады. Сонымен қатар, MIDI контроллеріндегі басқару элементтері толығымен реттеледі, яғни әрбір жеке түймені, сырғытпаны және тұтқаны DAW кез келген функциясымен салыстыруға болады. Мысалы, түймені басу белгілі бір жазбаны ойната алады немесе аудио жобаның қарқынын ауыстыру үшін бағдарламалануы мүмкін.
github.com/jdtar/Arduino-Midi-Controller
1 -қадам: материалдар
Төменде осы жобада қолданылатын материалдар мен құралдардың тізімі берілген.
Ардуино Уно
Нан тақтасы
4051/4067 Мультиплексор
Өткізгіш сымдар
Қосымша сым
2х 10к Ом сызықтық сырғымалы потенциометрлер
16 x Sanwa 24 мм түймелері
Жылуды азайту
Пісіру темірі
Ұстара пышағы
4,7 кОм резистор
Акрил парағы (қақпақ үшін)
Түймелер мен Arduino үшін корпус
3-D принтері
Лазерлік кескіш
2 -қадам: Дизайн
Мен жобаны бастамас бұрын MIDI контроллеріме тұрғын үй бердім, сондықтан мен қайда орналастыру керектігін елестету үшін қақпақтың эскизін мазақтадым. Мен кем дегенде 16 түйме мен бірнеше потенциометр қажет екенін білдім, сондықтан мен компоненттерді мүмкіндігінше біркелкі орналастыруға тырыстым.
Қақпақтың макетін жасағаннан кейін мен файлды 1: 1 форматындағы PDF форматында экспорттадым және акрил парағын кесу үшін лазерлік кескішке жібердім. Бұрандалы тесіктер үшін мен тесіктердің маркермен болуын қалаған жерді белгілеп, акрилді ыстық жіппен ерітіп жібердім.
1: 1 форматындағы PDF қоса беріледі, оны 1: 1 түрінде басып шығаруға және лазерлік кескіш болмаса электр құралдарымен кесуге болады.
3 -қадам: Құрылыс және сымдар
Акрилді кескеннен кейін мен акрилдің барлық компоненттерге жеткілікті қолдау көрсетуге тым жұқа екенін білдім. Содан кейін мен басқа парақты қиып алып, оларды жабыстырдым, бұл өте жақсы жұмыс істеді.
Компоненттерді сымдау біраз сынақ пен қателіктерді талап етті, бірақ Fritzing эскизі бекітілді. Мен алдымен жерге қосылатын сымдар мен 4.7 кОм резисторды, дәнекерленген және жылуды түймедегі қосылыстарды қысқартадым. Екі сырғымалы потенциометрді монтаждау акрилдегі бұрандалар үшін еру тесіктерін қажет етеді. Екі потенциометрді бұрап алғаннан кейін, олар A0 және A1 аналогтық түйреуіштерге дейін қосылды. Сымдар аяқталғаннан кейін мен фейдерлерге арналған қақпақтар жоқ екенін есіме алдым, оларды сатып алудан гөрі, 3-D принтерінің көмегімен кейбір тұтқаларды Autodesk Fusion 360-да сызып, STL файлына экспорттау арқылы басып шығардым. Де
Arduino Uno -да тек 12 қол жетімді цифрлық түйреуіш бар, бірақ 16 түймені қосу керек еді. Мұның орнын толтыру үшін мен 74HC4051 мультиплексорын 4 цифрлық кіріс түйреуішін пайдаланатын және ортақ сигналды пайдалануға мүмкіндік беретін бірнеше сигналға мүмкіндік беретін 74HC4051 мультиплексорын қостым, нәтижесінде барлығы 16 цифрлық түйреуіш бар.
Түймешіктерді дұрыс түйреуішке қосу 4х4 матрицаны құру және оны кодта қолдану туралы болды. Қиын бөлігі мынада, сатып алынған мультиплексорда арнайы түйіннің орналасуы болды, оған деректер кестесі көмектесті, сонымен қатар түймені қосу кезінде мен белгілі бір жазбаның орналасуын ескердім, ол осылай аяқталды:
ЕСКЕРТПЕ 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 INPUT)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
4 -қадам: Бағдарламалау
Жинау аяқталғаннан кейін Arduino бағдарламалауы қалды. Қосылған сценарий оңай реттелетін етіп жазылған.
Сценарийдің басында MIDI.h кітапханасы мен Notes and Volts блогынан алынған контроллер кітапханасы бар, олар екеуі де кодтың пошталық файлына кіреді. Контроллер кітапханасының көмегімен түймелердің, потенциометрлердің және мультиплексті түймелердің объектілерін құруға болады, оларда нота нөмірі, басқару мәндері, жазбаның жылдамдығы, MIDI арнасының нөмірі және т.б. бар деректер мәндері бар MIDI.h кітапханасы MIDI енгізу -шығару байланысын қосады. Arduino сериялық порттары, ол өз кезегінде контроллер объектілерінен деректерді алады, оларды MIDI хабарларына түрлендіреді және midi интерфейсі қосылған кез келген хабарды жібереді.
Сценарийдің жарамсыз бөлігі барлық арналарды инициализациялайды, сонымен қатар MIDI сигналдарын алмастыруға қарағанда жылдамырақ 115200 бауда сериялық қосылымды бастайды.
Негізгі цикл батырмалар мен мультиплексті түймелердің массивтерін қабылдайды және түйменің басылғанын немесе босатылғанын тексеретін және сәйкес деректер байтын midi интерфейсіне жіберетін for циклін іске қосады. Потенциометр циклы потенциометрдің орнын тексереді және кернеудің сәйкес өзгерістерін midi интерфейсіне қайтарады.
5 -қадам: Орнату
Сценарий Arduino -ға жүктелгеннен кейін, келесі қадам - қосу және ойнату. Қолданар алдында бірнеше қадамдар бар.
OSX -те Apple виртуалды midi құрылғыларын құруға мүмкіндік берді, оған Mac -та Audio Midi Setup қосымшасы арқылы қол жеткізуге болады. Жаңа құрылғы жасалғаннан кейін, Hairless MIDI Arduino мен жаңа виртуалды midi құрылғысы арасында сериялық байланыс жасау үшін пайдаланылуы мүмкін. Arduino -дан Hairless MIDI арқылы сериялық байланыс сценарийдің жарамсыз бөлігінде анықталған жіберу жылдамдығында жұмыс істейді және Hairless MIDI теңшелім параметрлерінде эквивалентті болуы керек.
Тексеру мақсатында мен Midi Monitor-ды сериялық-MIDI байланысы бойынша дұрыс деректер жіберілгенін тексеру үшін қолдандым. Мен барлық түймелердің дұрыс арналар арқылы дұрыс деректерді жіберетінін анықтағаннан кейін, MIDI сигналын Ableton Live 9 -ге бағыттау үшін MIDI сигналын орнаттым. Ableton -да мен әр түйменің кесілген аудио үлгілерін салыстырып, әр үлгіні ойната алдым.
Ұсынылған:
Arduino MIDI контроллерін жасаңыз: 5 қадам (суреттермен)
Arduino MIDI контроллерін жасаңыз: бәріне сәлем! Бұл нұсқаулықта мен сізге Arduino -мен жұмыс жасайтын MIDI контроллерін қалай құруға болатынын көрсетемін. MIDI музыкалық аспаптардың цифрлық интерфейсін білдіреді және бұл компьютерлерге, музыкалық аспаптарға және басқа да жабдықтарға ауысуға мүмкіндік беретін хаттама
Arduino Uno көмегімен акустикалық левитация Қадамдық қадам (8 қадам): 8 қадам
Акустикалық левитация Arduino Uno Қадамдық қадаммен (8-қадам): ультрадыбыстық дыбыс түрлендіргіштері L298N Dc әйелдер адаптерінің ток көзі еркек тоқ сымымен Arduino UNOBreadboard Бұл қалай жұмыс істейді: Біріншіден, сіз кодты Arduino Uno-ға жүктейсіз (бұл сандық жүйемен жабдықталған микроконтроллер) және кодты түрлендіру үшін аналогтық порттар (C ++)
Неғұрлым қуатты Arduino-UNO, Massduino-UNO: 9 қадам
Неғұрлым қуатты Arduino-UNO, Massduino-UNO: Massduino дегеніміз не? Massduino-бұл Arduino платформасының перифериялық-бай, ыңғайлы және жылдам әзірленуін, арзан және өндірудің ауқымды өндірістік артықшылықтарын біріктіретін жаңа өнім желісі. Arduino кодының барлығы дерлік болуы мүмкін
Arduino негізіндегі MIDI Fighter (сенсорлық): 7 қадам (суреттермен)
Arduino негізіндегі MIDI Fighter (сенсорлық): MIDI музыкалық аспаптың сандық интерфейсін білдіреді. Мұнда біз сенсорлы MIDI жауынгерін жасап жатырмыз. Оның 16 алаңы бар. оларды көбейтуге немесе азайтуға болады. Ардуино түйреуіштері шектеулі болғандықтан мен мұнда 16 қолдандым, сонымен қатар аналогты кіріс түйреуіштерін қолдандым
MIDI 5V спиелатронды немесе басқа MIDI синтезі үшін жарық диодты жарықтандырғыш контроллері: 7 қадам (суреттермен)
MIDI 5V спиделатронды немесе басқа MIDI синтезі үшін жарықдиодты жолақ контроллері: Бұл контроллер үш түсті жарықдиодты жарықдиодты шамдарды 50mS үшін жыпылықтайды. G5-D#6 үшін көк, E6-B6 үшін қызыл және C7-G7 үшін жасыл. Контроллер - бұл ALSA MIDI құрылғысы, сондықтан MIDI бағдарламалық жасақтамасы MIDI синхрондау құрылғысымен бір мезгілде жарықдиодты жарыққа шығара алады