Реклама
Као музичар који је прикупио колекцију музичких инструмената и кутија за буку, скромни Ардуино је савршен алат за стварање прилагођеног МИДИ контролера. Иако је Распберри Пи можда преузео круну Интернет ствари (ИоТ) Интернет ствари: 10 корисних производа које морате пробати у 2016. годиниИнтернет ствари се проширује 2016. године, али шта то тачно значи? Како лично имате користи од Интернета ствари? Ево неколико корисних производа за илустрацију. Опширније пројекти, једноставан Ардуино Уно (које су различите врсте Ардуино-а? Водич за куповину Ардуино-а: Коју плочу треба да добијете?Постоји толико много врста Ардуино плоча вани, да би вам било опроштено што сте збуњени. Које бисте требали купити за свој пројекат? Помозите нам с овим водичем за куповину Ардуино-а! Опширније ) има више него довољно снаге за овај пројекат.
Први пут користите Ардуино? Без бриге, имамо комплет Ардуино водич за почетнике Почетак рада с Ардуином: Водич за почетникеАрдуино је платформа за прототирање електронике отвореног кода која се заснива на флексибилном хардверу и софтверу који се лако користи. Намењен је уметницима, дизајнерима, хобистима, и свима који су заинтересовани за стварање интерактивних објеката или окружења. Опширније да прочитате пре него што се позабавите овим пројектом.
Шта је МИДИ?
МИДИ је кратица за Дигитални интерфејс за музичке инструменте. Представља стандардни начин да музички уређаји међусобно комуницирају. Ако поседујете електронску тастатуру, вероватно имате МИДИ интерфејс. Иако је неколико техничких детаља укључених у имплементацију МИДИ-а, важно је запамтити да МИДИ није звук! МИДИ подаци су једноставан скуп упутстава (једна инструкција се назива "порука") коју други уређај може имплементирати да производи различите звукове или контролне параметре.
МИДИ подржава 16 канала. То значи да сваки кабл може да подржи 16 различитих уређаја који међусобно независно комуницирају. Уређаји су повезани помоћу 5-полног ДИН кабла. ДИН означава „Немачки институт за стандардизацију“ и представља једноставно кабл са пет пинова унутар конектора. УСБ се често користи уместо 5-полног ДИН-а или се може користити УСБ-МИДИ интерфејс.
Промјена контроле и промјена програма
Постоје две главне врсте МИДИ поруке: Промјена контроле и Промјена програма.
Поруке контроле промене (ЦЦ) садрже број контролера и вредност између 0 и 127. ЦЦ поруке се често користе за промену поставки као што су јачина или висина звука. Уређаји који прихватају МИДИ требало би да поседују приручник који објашњава који су канали и поруке подешени по дефаулту и како их променити (познато као МИДИ мапирање).
Поруке промене програма (ПЦ) су једноставније од ЦЦ порука. ПЦ поруке се састоје од једног броја и користе се за промену унапред подешеног или закрпа на уређају. ПЦ поруке су понекад познате и као „Патцх Цханге“. Слично ЦЦ порукама, произвођачи би требало да доставе документ у коме се описују које се поставке постављају одређеном поруком.
Шта ће вам требати
- Ардуино
- 5-полна ДИН женска утичница
- Отпорници 2 к 220 охм
- Отпорници 2 к 10к охм
- 2 к тренутни прекидачи
- Жице за спајање
- Хлебна плоча
- МИДИ кабл
- МИДИ уређај или УСБ интерфејс
Направите план
Овај пројекат ће бити прилично једноставан. Наравно можете додати још тастера или хардвера који ће одговарати вашим потребама. Готово сваки Ардуино ће бити прикладан - за овај пример су потребне само три игле. Овај пројекат састоји се од два дугмета за контролу програма, МИДИ порта за слање података и уређаја за примање порука. Овај круг је изграђен на а пано Електроника почетника: 10 вештина које требате знатиМноги од нас никада нису ни додирнули жељезо за лемљење - али стварање ствари може бити невероватно корисно. Ево десет најосновнијих вештина уради сам са електроником које ће вам помоћи да започнете. Опширније овде је, међутим, могуће пребацити га у оквир за пројекат и лемљене конекторе за робусно решење.
Склоп круга
МИДИ веза
Повежите МИДИ утичницу на следећи начин:
- МИДИ пин 5 за Ардуино Трансмит (ТКС) 1 преко отпорника од 220 охма
- МИДИ пин 4 за Ардуино + 5В преко отпорника од 220 охма
- МИДИ пин 2 на земљу Ардуино
Веза дугмета
Дугмад раде променом отпора који Ардуино „види“. Ардуино игле иду преко прекидача равно на земљу (НИСКА) преко отпорника од 10к охма (отпорник који се повлачи, осигуравајући да вредност остане ниска). Када се тастер притисне, вредност коју види круг мења се на + 5В без отпорника (ВИСОКО). Ардуино може ову промену открити помоћу дигиталРеад (пин) команда. Дугмад 6 и 7 повежите на Ардуино дигиталном улазу / излазу (И / О). Повежите оба тастера:
- Лева страна дугмета до + 5В
- Десна страна дугмета до Ардуино уземљења преко отпорника од 10к охма
- Десна страна дугмета за Ардуино пин (6 или 7)
МИДИ тестирање
Сада када је сав хардвер завршен, време је да га тестирамо. Требат ће вам УСБ-МИДИ интерфејс (то могу учинити многи аудио интерфејси) и МИДИ кабл. МИДИ порт ожичен на плочи шаље податке, тако да је излаз. Рачунар прима податке, па је то улаз. Овај пројекат користи одличан Ардуино МИДИ библиотека в4.2 Аутор: Четрдесет седам ефеката. Након што инсталирате Библиотеку, можете је укључити у свој код тако што ћете је отворити Скица> Укључи библиотеку> МИДИ.
Такође ће вам требати програм за надгледање МИДИ података који долазе:
- МИДИ Монитор за ОС Кс
- МИДИ-ОКС за Виндовс
- КМидимон за Линук
Спојите Ардуино Први кораци са својим Ардуино Стартер Китом - Инсталирање драјвера и постављање плоче и прикључкаПа, купили сте себи Ардуино стартер сет и вероватно неке друге случајне цоол компоненте - шта сад? Како заправо започињете с програмирањем ове Ардуино ствари? Како то подесити ... Опширније на рачунар и додајте следећи тестни код (не заборавите да изаберете исправну плочу и порт са Алати> Плоча и Алати> Порт менији).
#инцлуде
#инцлуде
#инцлуде
#инцлуде
#инцлуде МИДИ_ЦРЕАТЕ_ИНСТАНЦЕ (Хардверски, серијски, средњи); // креирајте МИДИ објект назван мидиОут воид сетуп () {Сериал.бегин (31250); // серијски подешавање за МИДИ. } воид лооп () {мидиОут.сендЦонтролЦханге (56,127,1); // послати МИДИ ЦЦ - 56 = напомена, 127 = брзина, 1 = кашњење канала (1000); // причекајте 1 секунду мидиОут.сендПрограмЦханге (12,1); // послати МИДИ ПЦ - 12 = вредност, 1 = кашњење канала (1000); // сачекајте 1 секунду. }
Овај код ће послати ЦЦ поруку, сачекати 1 секунду, послати ПЦ поруку, а затим чекати 1 секунду неограничено. Ако све исправно функционише, требало би да се на вашем МИДИ монитору појави порука.
Ако се ништа не догоди, немојте паничарити! Покушајте решавање проблема:
- Уверите се да су све везе исправне
- Проверите да ли је МИДИ порт исправно спојен - на спољним ивицама морају бити два резервна игла
- Два пута проверите да ли је круг правилан
- Провјерите је ли склоп повезан на УСБ-МИДИ интерфејс помоћу МИДИ кабла
- Проверите да ли је ваш МИДИ кабл повезан са улазни на вашем УСБ-МИДИ интерфејсу
- Проверите да ли Ардуино има снагу
- Инсталирајте исправан управљачки програм за ваш УСБ-МИДИ интерфејс
Ако сте још увек Ако имате проблема, можда би било вредно проверити вашу плочу. Јефтине плоче понекад могу бити врло недоследне и неквалитетне - догодило ми се док радим на овом пројекту.
Тестирање дугмади
Сада је време да се тестирају тастери правилно раде. Пошаљите следећи тестни код. МИДИ не треба да се повезује да би тестирао овај део.
цонст инт буттонОне = 6; // доделите пин тастера променљивој. цонст инт буттонТво = 7; // доделите пин дугмета променљивом подешавању празнина () {Сериал.бегин (9600); // серијски подешавање за текст пинМоде (буттонОне, ИНПУТ); // дугме за подешавање као улазни пинМоде (тастерТво, ИНПУТ); // дугме за подешавање као улаз. } воид петља () {иф (дигиталРеад (буттонОне) == ХИГХ) {// одлагање стања дугмета (10); // софтвер се одбија (иф (дигиталРеад (буттонОне) == ХИГХ) {// поново проверите стање дугмета Сериал.принтлн ("Дугме једно ради!"); // одлагање резултата пријављивања (250); }} иф (дигиталРеад (буттонТво) == ХИГХ) {// одлагање стања дугмета (10); // софтвер се одбија (иф (дигиталРеад (буттонТво) == ХИГХ) {// поново провјери стање дугмета Сериал.принтлн ("Дугме два ради!"); // одлагање резултата пријављивања (250); } } }
Покрените овај код (али задржите УСБ кабл) и отворите серијски монитор (Горе десно> Серијски монитор). Када притиснете дугме, требало би да видите "Дугме једно делује!" или „Два дела дугмета!“ зависно од дугмета који сте притиснули.
Постоји једна важна напомена да се одвојимо од овог примера - софтвер одустаје. Ово је једноставно одлагање од 10 милисекунди (мс) између провере дугмета и поновне провере дугмета. Ово повећава тачност притиска на дугме и помаже у спречавању буке која покреће Ардуино. То не морате да радите, мада се препоручује.
Креирање контролера
Сада када је све ожичено и у функцији, време је за састављање пуног контролера.
Овај пример ће послати другу ЦЦ поруку за свако притиснуто дугме. Користим ово за контролу Аблетон Ливе 9.6 на ОС Кс. Код је сличан оба горња узорка за тестирање.
#инцлуде
#инцлуде
#инцлуде
#инцлуде
#инцлуде цонст инт буттонОне = 6; // доделите пин тастера променљивој. цонст инт буттонТво = 7; // доделите пин дугмета променљивој МИДИ_ЦРЕАТЕ_ИНСТАНЦЕ (ХардвареСериал, Сериал, мидиОут); // створити МИДИ објект назван мидиОут воид сетуп () {пинМоде (буттонОне, ИНПУТ); // дугме за подешавање као улазни пинМоде (тастерТво, ИНПУТ); // дугме за подешавање као улазни Сериал.бегин (31250); // подешавање МИДИ излаза. } воид петља () {иф (дигиталРеад (буттонОне) == ХИГХ) {// одлагање стања дугмета (10); // софтвер одустаје ако (дигиталРеад (буттонОне) == ХИГХ) {// поново провјери стање дугмета мидиОут.сендЦонтролЦханге (56,127,1); // послати МИДИ ЦЦ - 56 = напомена, 127 = брзина, 1 = кашњење канала (250); }} иф (дигиталРеад (буттонТво) == ХИГХ) {// одлагање стања дугмета (10); // софтвер одустаје ако (дигитално читање (типкаТво) == ХИГХ) {// поново провјери стање дугмета мидиОут.сендЦонтролЦханге (42,127,1); // пошаљите МИДИ ЦЦ - 42 = напомену, 127 = брзину, 1 = кашњење канала (250); } } }
Напомена - нећете моћи да користите Сериал.принтлн () са МИДИ излазом.
Ако желите да пошаљете ПЦ поруку уместо ЦЦ, једноставно замените:
мидиОут.сендЦонтролЦханге (42,127,1);
Витх:
мидиОут.сендПрограмЦханге (вредност, канал);
У акцији
Испод је демонстрација контролера за Аблетон Ливе (Најбољи ДЈ софтвер за сваки буџет Најбољи ДЈ софтвер за сваки буџетДобар софтвер за мешање може вам донети разлику у перформансама. Без обзира да ли користите Мац, Виндовс или Линук, за сваки ниво вештине и буџет се брине ако желите да започнете ДЈ. Опширније ). У горњем десном углу су приказани мерачи звука, а горња средина приказује долазне миди поруке (путем МИДИ Монитор на ОС Кс).
Јесте ли направили МИДИ контролер?
Постоји пуно практичне употребе за прилагођени МИДИ контролер. Можете да направите велику јединицу која контролише ноге, или елегантан управљачки студио. А ако сте заинтересовани да га купите, ево их најбољи УСБ МИДИ контролери 9 најбољих УСБ МИДИ контролера за музичареДа ли сте у потрази за УСБ МИДИ контролером? Ево најбољих МИДИ контролера које тренутно можете да купите, без обзира на буџет. Опширније можете купити.
Кредитна слика: Кеитх Гентри преко Схуттерстоцк.цом
Јое је дипломирани професор информатике са Универзитета у Линцолну у Великој Британији. Он је професионални програмер софтвера, а када не лети дроновима или пише музику, често га могу наћи како снимају фотографије или снимају видео записе.