Миди контроллер на Ардуино (1 онлайн

kentforth

Active Member
25 Ноя 2011
444
113
43
37
Коллеги! я тут запилил видос, о том как сделать себе бюджетный миди контроллер. Всё подключение было на макетной плате. Arduino Uno я покупал в районе 300 р. Большее скорее подойдет для студентов нищебродов, которые не хотят переплачивать за дорогостоящие контроллеры:)
 

fractala

Well-Known Member
1 Авг 2012
2.416
998
113
Хорошее видео, спасибо! У тут дело даже не в нищебродстве, ваше видео натолкнуло на мысль сделать контроллер под себя
Именно можно сделать под себя расположение органов управления.

Натолкнуло собственно вот на какую мысль, ваша прошивка позволяет работать только с двумя buttons и одним упорным потенциометром?

1) в прошивку можно включать любое количество потенциометров и buttons?
2) я так понял что вы программировали в этой прошивке на потенциометр и кнопки - команды midi cc и на потенциометр (изменение значения mdi cc)?
3) возможно ли в эту прошивку внести код для работы не с упорными потенциометрами а с бесконечными энкодерами?
4) поддерживает ли этот ардуино (тоесть хватит ли у него физических портов) например для создания на нем контроллера к примеру с 30 бесконечными энкодерами и 60 кнопками и настроить на этой прошивке feedback для работы с контроллером
5) контроллер созданный на ардуино и адаптированной прошивке может работать только с midi CC или может работать и с Sysex сообщениями?
 

kentforth

Active Member
25 Ноя 2011
444
113
43
37
ваша прошивка позволяет работать только с двумя buttons и одним упорным потенциометром?
прошивка тут не причем, она никакой роли не играет на колличество используемых кнопок и крутилок на вашем миди контроллере. Влияет скетч скетч и колличество свободных разьемов на плате Арлуино. Как в скетче пропишете,столько и будет у вас доступных входов. Колличество е свободных портов на ардуино моно увеличить с помощью мультиплексоров.

1)Моно включать любое коллличество, она никак не влияет на скетч ардуино и колличество использемых кнопок, она лишь позволяет компьютер определить ваш миди контроллер как HID устройство.
2) Да, все верно
3) с бесконечными энкодерами пока не сталкивался, но я предполагаю это тот е потенциометр, имеет таке номинал, например 10 кОм, в софте крайнее полоение будет определятся как 10кОм, но ручку просто крутите сколкьо угодно вправо или влево, например если назначили на этот энкодер ручку громкости, то когда дойдет до крайнего полоения, ручка громкости остановит свое двиение, а сами моете крутить энкодер сколько угодно
4) Видел как на Ардуино делали контроллер из более 30 кнопок, моно подключить мульти плексор, кадый мультиплексор будет занимать один цифровой вход на ардуино, и на кадый мультиплексор моно подключить до 8 кнопок, если например подключить 8 мультиплексоров, то будем иметь 64 кнопки, точно таке и с потенциометрами
5)что такое Sysex я не знаю
[DOUBLEPOST=1476815170][/DOUBLEPOST]Если хотите знать больше, подписывайтесь на мой канал, в дальнейшем буду запиливать другие видосы на эту тему. Кнопки, потенциометры и прочее,что связано с самодельными миди-контроллерами)
 

Ga_rY

Мучитель-синтезаторов
2 Янв 2008
1.324
802
113
61
Полтава, UA
www.realmusic.ru
@kentforth, как крутилки включаются в МК, ко входам АЦП?

ps
Ну и так, замечания по тексту (кто его писал - вопрос тот еще).
Такая конструкция на Си как в 75 строке работать не будет, так не обнуляют.
reg |= (0<<bit_1) | (0<<bit_2) и т.д.

Ему повезло, что эти биты при загрузке уже обнулены аппаратно.

Чтобы обнулить надо применять такую конструкцию
reg & = ~ ((1<<bit_1)|(1<<bit_2))
 

kentforth

Active Member
25 Ноя 2011
444
113
43
37
как крутилки включаются в МК, ко входам АЦП?
потонциометры подключатся к аналоговым пинам ардуино
[DOUBLEPOST=1476853828][/DOUBLEPOST]
Такая конструкция на Си как в 75 строке работать не будет, так не обнуляют.
у меня все прекрасно работает, проверено неоднократно на разных компьютерах
 

ecosoft

Well-Known Member
8 Авг 2013
516
516
93
Питера
предполагаю это тот же потенциометр
Разве у энкодеров не угол поворота считывается?
[DOUBLEPOST=1476856881][/DOUBLEPOST]
5) контроллер созданный на ардуино и адаптированной прошивке может работать только с midi CC или может работать и с Sysex сообщениями?
Может работать и с Sysex. Интересует работа с Mackie Protocol?
 

fractala

Well-Known Member
1 Авг 2012
2.416
998
113
вот это махина
ecosoft, поддержка sysex это круто, так как на одном midi СС особо не разбежишься.

Я бы конечно не стал такой микшер делать - жизни не хватит, но что нибудь простенькое для управления одной-двумя железками по sysex запилил
 

ecosoft

Well-Known Member
8 Авг 2013
516
516
93
Питера
Что-то нашёл. Это самое простое

Это уже интересней

А здесь сама суть вопроса:
http://web.archive.org/web/20150423140421/http://home.comcast.net/~robbowers11/MCMap.htm
http://blog.codyhazelwood.me/motorized-faders-and-the-arduino/ Здесь бывает сервер вырублен у него. Если очень надо, то через ютуб можно попросить этого Cody запустить сервер. У него там примеры кода лежат и описание действий. Ну, а дальше - насколько хватит фантазии, умения, терпения и денег.
 

Solidstate

Well-Known Member
18 Янв 2017
326
306
63
Здравствуйте уважаемые! Помогите пожалуйста с решением проблемы.Собрал данный контроллер (большое спасибо kentforth за грамотную и простую инструкцию) но столкнулся с таким явлением как "подёргивание" виртуальных органов управления в программе (как и автор работаю в Ableton Live 9).Это выглядит как непрерывное произвольное перемещение фейдера в маленьком диапазоне.Сначала грешил на потенциометр но его замена на заведомо исправные проблему не решила,после чего обнаружил что Ардуино непрерывно транслирует "левые" миди сообщения,TX диод на плате и Key/MIDI In Indicator в Ableton постоянно активны .С такого рода глюками ранее не сталкивался,ума не приложу что делать.Поиск в инете не дал результатов.Буду весьма признателен за любые возможные советы в решении проблемы.
Для наглядности сделал видео с демонстрацией.
 
Последнее редактирование:

kentforth

Active Member
25 Ноя 2011
444
113
43
37
Для того,чтобы избавиться от дребезга, нужен подтягивающий резистор на 10Ком, вы его куда припаяли?
 

Solidstate

Well-Known Member
18 Янв 2017
326
306
63
Да,спасибо,смотрел.Всё сделал в точности как на видео.На кнопках у меня тоже дребезг присутствует (
P.S. заметил что иногда дребезг пропадает при соприкосновении руки с контактом GND
 
Последнее редактирование:

Solidstate

Well-Known Member
18 Янв 2017
326
306
63
программные математические фильтры использовать, типа такого
спасибо за рекомендацию,фильтр Калмана это наверное очень круто но мне точно не подходит так как я в этом деле начинающий и хотелось бы решить проблему более доступными для меня методами
 

ganytch

В пилёре :)
22 Мар 2010
302
87
28
Мариуполь [UA]
@Solidstate, существуют специально-обученные для работы с Ардуинкой библиотеки этого фильтра. Они прекрасно в скетч вписываются. Вот пример. Я это для гироскопа использовал. К томуже, вам можно посоветовать вместо простого притягивания к земле использовать еще и RC-фильтр - там конденсатор и резистор, можно разобраться.. Ну или использовать delay, что нежелательно
 
  • Like
Реакции: Solidstate

Long

Well-Known Member
27 Фев 2008
16.484
14.130
113
Moscow
WWW.LONG.RU
>RC-фильтр - там конденсатор и резистор, можно разобраться.. Ну или использовать delay

-- Вообще-то есть более простое решение - небольшой гистерезис.
 
  • Like
Реакции: ganytch
У

Удалённый пользователь 75985

Guest
Кнопки надо читать через библиотеку debounce. Поиском в Скетч/Подключить библиотеку/Управлять библиотеками. Там же можно скачать миди библиотеку, если она сразу вместе с IDE не установилась. Что касаемо дребезга потенциометра, он него можно избавиться сглаживанием.
Типа:

Код:
sensVal = (0.1 * sensVal) + (0.9 * analogRead(7));
Если непонятно, что делает этот код: новое значение переменной равно 1/10 предыдущего значения переменной плюс 9/10 нового значения с аналогового входа.
Пропорции можно менять на свой вкус.

Для подключения энкодеров тоже есть библиотеки которые работают с grey code. Скачивать также через управление библиотеками поиском по "encoder".
 
  • Like
Реакции: Solidstate

РДК_2008

Active Member
7 Ноя 2016
202
64
28
25
Ямансарово
Обратите внимание, пользователь заблокирован на форуме.
Подскажите, как можно сделать не юсб а стандартные миди входы выходы? Другу надо на кемпер буквально 4 кнопки - футсвич - а там разьемы на 5 контактов которые...
 

Сейчас онлайн (Пользователей: 0, Гостей: 1)