Переделка Roland K-25m в MIDI клавиатуру

Различная музыкальная электроника

Модератор: Модераторы

andriano
Пользователь
Сообщения: 49
Зарегистрирован: 09 авг 2020, 22:50
Местоположение: Сергиев Посад

Переделка Roland K-25m в MIDI клавиатуру

Сообщение andriano » 09 авг 2020, 23:28

Есть такая любопытная вещь как K-25m, предназначенная для совместной работы с синтезаторами серии Boutique, которую сама Roland позиционирует как keyboard unit. Внутри она не содержит никакой активной электроники - только контакты и диоды. Поэтому, собственно, и возникла такая идея. Хотя, думаю, идея не очень экономически эффективная, т.к. за цену этой K-25m можно купить не только готовую MIDI клавиатуру, но и простенький синтезатор. Но, как известно, хобби - это способ потратить деньги, а не заработать (или сэкономить) их.
Проект ориентирован на МК Atmega328 и оболочку Arduino IDE.
Собственно, первая работоспособная версия уже написана, но пока в ней не реализованы многие интересные вещи:
- Active Sensing,
- Status Byte,
- переключение октав,
- Pitch Bend...
ну и есть некоторые непонятки с тем, что называется кривая чувствительности.
Если тема вызовет интерес, естественно, буду выкладывать код.

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение Dmitry Dubrovenko » 10 авг 2020, 00:54

Так вроде "всё украдено до нас". :roll:
Вот готовый проект.
А что за непонятки с кривой чувствительности?
Подпись

andriano
Пользователь
Сообщения: 49
Зарегистрирован: 09 авг 2020, 22:50
Местоположение: Сергиев Посад

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение andriano » 10 авг 2020, 11:37

Проект посмотрел, спасибо. Вероятно, какие-то идеи позаимствую. Но в любом случае буду продолжать свой. Во-первых - принцип DIY. А во вторых - он мне не совсем подходит:
- непривычная для меня элементная база: с PIC дела никогда не имел, как-то либо с AVR, либо с STM32,
- 25 клавиш, т.е. более половины матрицы сканирования (и 8 пинов МК) задействованы не будут,
- отсутствие возможности на лету переключать октавы - для двухоктавной клавиатуры IMHO существенный минус,
- на мой взгляд неудобное управление, где мало кнопок и много светодиодов, мне удобнее наоборот,
- есть вероятность, что слайдеры буду делать не на потенциометрах, а на тачпаде,
- нет исходников,

Посты не относящиеся к сабжу, перенёс в тему соответствующего проекта.

andriano
Пользователь
Сообщения: 49
Зарегистрирован: 09 авг 2020, 22:50
Местоположение: Сергиев Посад

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение andriano » 15 авг 2020, 21:23

Как же здорово, что я вовремя нашел этот форум!
На пост выше отвечу чуть позже, а пока вопрос.
Как раз по сабжу.
Как говорится, аппетит приходит во время еды.
Если в первоначальных планах было создание самого простенького устройства, умеющего формировать лишь NiteOn/NoteOff (собственно, оставалось перейти от варианта "Arduino Uno + беспаечная макетка + DIN-5 на проводах" к варианту "Arduino Pro Mini + макетка для пайки + механическая конструкция, имитирующая формактор Roland Boutique"). Собственно, два дня возни с имитатором этого форм-фактора плюс чтение форума подтолкнули меня к созданию полноценного инструмента. В частности, не уступающего по своим возможностям имеющейся у меня клавиатуре Roland PC200.
И тут я обнаружил, что мне не хватает ног контроллера...
Собственно, ситуация сейчас такая: есть несколько свободных мест в матрице клавиатуры и необходимо подключить две педали. Понятно, что при длительности импульсов сканирования порядка 10 мкс "запускать" их по проводам в педаль - занятие неблагодарное. Т.е. педали должны формировать исключительно постоянное напряжение (либо ток), а это постоянное напряжение (ток) в свою очередь должны управлять "контактами" матрицы. Вот и возникает вопрос, что в этом качестве можно использовать:
- герконовое реле?
- оптрон?
- транзистор с открытым коллектором?
Оптимально было бы последнее, но не могу придумать схему, которая это бы осуществила.
Поэтому прошу совета.
Импульсы сканирования отрицательные (LOW).
Если тупо вставить транзистор npn эмиттером на сигнал F0 (если считать, что свободное место - первая клавиша), а коллектором - на D0, в базу через делитель подавать +5В через контакты, расположенные в педали, это должно работать?

jpatay
Пользователь
Сообщения: 568
Зарегистрирован: 20 янв 2016, 16:29
Местоположение: Нововолынск

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение jpatay » 16 авг 2020, 15:38

andriano писал(а): Т.е. педали должны формировать исключительно постоянное напряжение (либо ток), а это постоянное напряжение (ток) в свою очередь должны управлять "контактами" матрицы. Вот и возникает вопрос, что в этом качестве можно использовать:
- герконовое реле?
- оптрон?
- транзистор с открытым коллектором?
Оптимально было бы последнее, но не могу придумать схему, которая это бы осуществила.
Поэтому прошу совета.


Если посмотреть на фирмовые педали, то там всё просто. Педаль нажимает на простой переключатель без фиксации с перекидными контактами. В торце есть ещё один переключатель, которым можно переключить на нормально открытый контакт или нормально закрытый.
Вот разобрал педаль Quik Lok PSP125:
https://ibb.co/jwtTz63
https://ibb.co/vX1NfhK
https://ibb.co/NyDW9Dj
Две педали соединил сам для пианино.

jpatay
Пользователь
Сообщения: 568
Зарегистрирован: 20 янв 2016, 16:29
Местоположение: Нововолынск

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение jpatay » 16 авг 2020, 15:49

andriano писал(а):Дело в том, что эта клавиатура, скорее всего, предназначена для инструмента с октавным синтезом и не поддерживает динамику. Там на каждую клавишу по 5-6 контактов - каждый на свою общую шину. Вот сейчас я и подумал, а нельзя ли настроить эти многочисленные контакты как раз на обеспечение динамики

Скорее всего, что можно, но механической работы будет много, а результат - ноль. Я пытался так переделать Эстрадин-9. Как бы всё получилось, но играть на нём было невозможно. Лучше всего найти импортную клавиатуру на резинках.

andriano
Пользователь
Сообщения: 49
Зарегистрирован: 09 авг 2020, 22:50
Местоположение: Сергиев Посад

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение andriano » 16 авг 2020, 19:39

jpatay писал(а):Лучше всего найти импортную клавиатуру на резинках.
Ну вот в сабже именно она и есть.

andriano
Пользователь
Сообщения: 49
Зарегистрирован: 09 авг 2020, 22:50
Местоположение: Сергиев Посад

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение andriano » 17 авг 2020, 08:50

Изображение
По моим последним прикидкам схема MIDI клавиатуры (кроме схемы самого клавишного блока K-25m) будет выглядеть так:

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение Dmitry Dubrovenko » 17 авг 2020, 19:56

andriano писал(а):по проводам в педаль - занятие неблагодарное
Но вполне возможное.
Обеспечьте помехозащищённость и отсутствие потерь информации, и вперёд. :yes:

andriano писал(а):будет выглядеть так
Диод с 13-го вывода явно лишний.
Там же, токоограничительный резистор один только если предполагается использовать светодиоды из одной партии. Иначе, раздельные для каждого светодиода.
Вывод, вроде, должен быть TX, а не RX.
Ардуиновские порты допускают подключение ёмкостей по 0,1uF?
Подпись

andriano
Пользователь
Сообщения: 49
Зарегистрирован: 09 авг 2020, 22:50
Местоположение: Сергиев Посад

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение andriano » 18 авг 2020, 00:49

Диод с 13-го вывода явно лишний.
Там же, токоограничительный резистор один только если предполагается использовать светодиоды из одной партии. Иначе, раздельные для каждого светодиода.
Вывод, вроде, должен быть TX, а не RX.
Ардуиновские порты допускают подключение ёмкостей по 0,1uF?

1. Да, я помню, что обратное напряжение светодиода очень мало, но посмотрел по дэйташиту - 5В гарантируется. Так что действительно не нужен.
2. С RX, конечно, облажался, спасибо (хорошо хоть еще не приступал к пайке).
3. Так емкость на входе. Никто не запрещает пропустить сигнал через RC цепочку перед подачей на аналоговый вход.
А вообще, у Ардуины портов нет. Концепция предполагает, что вовне "торчат" сами контакты контроллера без всякой буферизации. У AVR достаточно "дубовые" входы/выходы. Кажется, по 40 мА, причем с защитой как по току, так и по напряжению.

andriano
Пользователь
Сообщения: 49
Зарегистрирован: 09 авг 2020, 22:50
Местоположение: Сергиев Посад

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение andriano » 18 авг 2020, 08:51

Откорректированная схема:
Изображение
Возможно, лучше сделать замену картинки в сообщении выше, но я отредактировать то сообщение не могу.

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение Dmitry Dubrovenko » 18 авг 2020, 18:20

andriano писал(а):обратное напряжение светодиода очень мало
Если Вы хотите защитить светодиод от обратного напряжения, то включать диод надо встречно-параллельно.

andriano писал(а):пропустить сигнал через RC цепочку
Речь о допустимой ёмкости для выходного порта (всегда есть вероятность неправильного конфигурирования порта, хотя бы на краткое время, но если Вы абсолютно уверены, тогда это не важно). Посмотрел даташиты на парочку АТМег, и что-то не нашёл там такого параметра. :unknown:
Подпись

andriano
Пользователь
Сообщения: 49
Зарегистрирован: 09 авг 2020, 22:50
Местоположение: Сергиев Посад

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение andriano » 18 авг 2020, 20:57

Если Вы хотите защитить светодиод от обратного напряжения, то включать диод надо встречно-параллельно.
Иначе никак?
IMHO если включать встречно-последовательно, то энергоэффективность устройства повысится, а риск перегрева балластного резистора - уменьшится.
Речь о допустимой ёмкости для выходного порта (всегда есть вероятность неправильного конфигурирования порта, хотя бы на краткое время, но если Вы абсолютно уверены, тогда это не важно). Посмотрел даташиты на парочку АТМег, и что-то не нашёл там такого параметра. :unknown:

А откуда там возьмется выходной порт, если конденсаторы подключены исключительно к входным?
По поводу Атмег: http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf таблица 28.1 Absolute Maximum Ratings: DC current per I/O pin 40.0 mA

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение Dmitry Dubrovenko » 18 авг 2020, 23:11

andriano писал(а):если включать встречно-последовательно
..обратное напряжение на светодиоде составит половину от приложенного.

andriano писал(а):А откуда там возьмется выходной порт, если конденсаторы подключены исключительно к входным?
Не поверю, что Вы не знаете про конфигурацию выводов МК.
Подпись

andriano
Пользователь
Сообщения: 49
Зарегистрирован: 09 авг 2020, 22:50
Местоположение: Сергиев Посад

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение andriano » 19 авг 2020, 08:44

..обратное напряжение на светодиоде составит половину от приложенного.
С какой стати?
Соберите схему из 1n4007 и 1n4728 и объясните, при каких условиях напряжение между ними будет делиться пополам.
Да, выше я перепутал: должно быть не встречно-последовательное, а просто последовательное - как на приведенной схеме. Но ни там, ни там ни о каком делении напряжения пополам ни при подаче обратного напряжения речь не идет.
Не поверю, что Вы не знаете про конфигурацию выводов МК.
На счет всех МК не скажу, но у тех, с какими мне приходилось иметь дело, все порты после включения устанавливались в режим входа.

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение Dmitry Dubrovenko » 20 авг 2020, 19:56

andriano писал(а):С какой стати?
Да, что-то ляпнул не подумав. :roll:

andriano писал(а):устанавливались в режим входа
Это "по умолчанию".
А наконфигурировать можно что угодно.
Поэтому, как писАл выше, если не уверены стопроцентно, что порт будет работать исключительно на вход, лучше не ставить большие ёмкости.
Подпись

andriano
Пользователь
Сообщения: 49
Зарегистрирован: 09 авг 2020, 22:50
Местоположение: Сергиев Посад

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение andriano » 20 авг 2020, 23:00

Поэтому, как писАл выше, если не уверены стопроцентно, что порт будет работать исключительно на вход, лучше не ставить большие ёмкости.
Спасибо, Кэп!
Впрочем, как Вы сами думаете, если вывод МК подсоединен к потенциометру, включенному между землей и опорным напряжением (и больше ни к чему), то в каком качестве этот вывод используется?

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение Dmitry Dubrovenko » 21 авг 2020, 19:23

andriano писал(а):в каком качестве этот вывод используется?
Между "задумывался использоваться" и "используется" есть некоторая разница. :yes:
Вы пишете на ЯВУ, используя сторонние библиотеки, которые в какой-то момент могут переключать порт на выход.
Впрочем, как писАл выше, если Вы абсолютно уверены, можете "забить" на это.
Подпись

andriano
Пользователь
Сообщения: 49
Зарегистрирован: 09 авг 2020, 22:50
Местоположение: Сергиев Посад

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение andriano » 22 авг 2020, 00:19

Между "задумывался использоваться" и "используется" есть некоторая разница. :yes:
Вы пишете на ЯВУ, используя сторонние библиотеки, которые в какой-то момент могут переключать порт на выход.
Впрочем, как писАл выше, если Вы абсолютно уверены, можете "забить" на это.

А, ну да. Я ведь писал, что программирую МК в среде Ардуино, а концепция Ардуино предполагает, что пользователь пишет "скетч" (т.е. не программу, а "набросок"), состоящий из десятка строк, увязывающих между собой несколько вызовов стандартных и не очень библиотек. Ну а библиотеки для Ардуино, даже стандартные, не блещут изяществом (о том, что можно найти на просторах И-нета, я вообще молчу).
Но не все поступают, как принято. Я, например, практически не использую сторонних библиотек. А если в проект входит десяток-другой "библиотек" (в терминологии Ардуино, в нормальном программировании их принято называть классами), то они, как правило, самописные.
Кстати, под Windows программирую практически так же: все надстройки над WinAPI пишу сам.
Удивительно?
Возможно.
Но я предпочитаю знать, что делает тот или иной фрагмент программы, а не полагаться на то, что кто-то что-то напишет правильно.

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: Переделка Roland K-25m в MIDI клавиатуру

Сообщение Dmitry Dubrovenko » 22 авг 2020, 10:48

Оффтоп
andriano писал(а):Удивительно?
Ничуть.
Так же поступил бы каждый пионер
К этому должен стремится каждый разработчик.

andriano писал(а):Но я предпочитаю знать, что делает тот или иной фрагмент программы, а не полагаться на то, что кто-то что-то напишет правильно.
Респект. :good:
Только, как уже где-то говорил, такой подход нынче не в моде.
Подпись


Вернуться в «Музыкальная электроника»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя

cron