МИДИ-клавиатура "Conva-64".
МИДИ-клавиатура на микроконтроллере своими руками.
Перед повторением обязательно прочитать здесь.



Var1 & Var1h

Предназначен для матрицы клавиатуры 8x8x8 с последовательным замыканием пар контактов и начинающимся с клавиши До Большой октавы.
Стробирование может осуществляться как низким, так и высоким (суффикс h) логическими уровнями.

Matrix keybord 8x8x8

Посмотреть (скачать)
3378x957



Matrix keybord 8x8x8 High

Посмотреть (скачать)
3378x957





Вариант с одним слоем


Conva64Syn PIC18F45k22 Schematic

Посмотреть (скачать)
2339x1843



Conva64SynH PIC18F45k22 Schematic

Посмотреть (скачать)
2339x1843



Токоограничивающие резисторы необходимо подбирать исходя из используемого типа светодиодов и напряжения питания.

Вход в режим настроек осуществляется нажатием кнопки Setup.
Последовательный переход между пунктами настройки осуществляется нажатием кнопки Setup.

Установка параметра производится нажатием клавиш (с C первой октавы по D# второй октавы включительно), которые соответствуют цифрам с 1 по 16. Кроме того, для некоторых настроек, клавишам D и D# второй октавы соответствуют значения No/Yes и -/+. Помимо всего, для настройки смещения строя клавиатуры, нумерация клавиш начинается с нуля, при этом, сперва необходимо нажать клавишу знака смещения, а потом две клавиши числовой величины.
Недопустимые значения, при вводе цифр, преобразуются в максимально/минимально допустимые (кроме булевых).
Выход из режима настройки осуществляется автоматически, по истечении 10 секунд после последнего нажатия клавиш установки, или кнопок управления. При этом изменённые данные заносятся в энергонезависимую память.

Нажатие и удержание кнопки в течение 3 секунд, при выключенном режиме Setup, вызывает посылку сообщений Panica.



Варианты настроек Диапазон Дефолт Индикация
MIDI-Channel All 1 HL1
Transpose +/-24 0 HL2
Shape 1 - 4 1 HL3
Threshold Sliders 1 - 7 1 HL4
Send Sustain No-Yes Yes HL7
Send Wheels No-Yes Yes HL8
Running Status No-Yes Yes HL9




Клавиши используемые для установок (1-первая октава, 2-вторая, транспонирование игнорируется):

  1C 1C# 1D 1D# 1E 1F 1F# 1G 1G# 1A 1A# 1H 2C 2C# 2D 2D#
MIDI-Channel
Shape
Threshold Sliders
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Transpose 0 1 2 3 4 5 6 7 8 9 x x x x - +
Send Sustain
Send Wheels
Running Status
x No Yes





Варианты Shape (таблицы Velocity):

Shape


1 - Line
2 - Log
3 - Back Log
4 - Hard





Краткое описание настроек:

MIDI-Channel: Номер миди-канала.
Transpose: Величина смещения строя клавиатуры в полутонах.
Shape: Задаёт зависимость параметра "скорость нажатия" миди-сообщения от реальной скорости нажатия.
Threshold Sliders: Порог чувствительности "колёс" Modulation и Pitch.
Для изношенных рекомендуется увеличить.
Send Sustain: Разрешает/запрещает передачу сообщений о педале Sustain.
Send Wheels: Разрешает/запрещает передачу сообщений о "колёсах" Modulation и Pitch.
Running Status: Разрешает/запрещает передачу сообщений с использованием данного алгоритма.
Позволяет экономить трафик. Процент экономии сильно зависит от типа передаваемых сообщений.





Firmware

Var Current Version For MCU:
1 1.0.0* PIC18F46k22, PIC18F45k22, PIC18F44k22, PIC18F43k22
1h 1.0.0* PIC18F46k22, PIC18F45k22, PIC18F44k22, PIC18F43k22


* - Проверялось независимыми тестировщиками.






MIDI Implementation Chart

Function Transmitted Recognized Remarks
CHANNEL Default
  Changed
1
1-16
X
X
 
  Default
MODE Messages
  Altered
Mode 3
X
*********
X
X
X
 
NOTE  
NUMBER True voice
12-99
*********
X
X
 
VELOCITY Note On
  Note Off
O
O
X
X
 
AFTER Key's
TOUCH Channel
X
X
X
X
 
PITCH BEND O or X X Setting
CONTROL 1, 33
CHANGE 64
O
O
X
X
Modulation
Sustain
PROGRAM  
CHANGE True Number
X
*********
X
X
 
SYSTEM EXCLUSIVE X X  
  Quarter Frame
SYSTEM Song Position
COMMON Song Select
  Tune Request
X
X
X
X
X
X
X
X
 
SYSTEM Clock
REAL TIME Commands
X
X
X
X
 
  All Sound Off
  Rst All Contr
AUX Local Control
MESSAGES All Notes Off
  Active Sense
         Reset
X
X
X
X
X
X
X
X
X
X
X
X
 
 
 
 
 
 
NOTES Running Status Mode Support  
Mode 1: OMNI ON, POLY Mode 2: OMNI ON, MONO O:  Yes
Mode 3: OMNI OFF, POLY Mode 4: OMNI OFF, MONO X:   No











Вариант с двумя слоями и расширенным функционалом

Фраза "два слоя" означает, что в одной физической клавиатуре содержатся две функционирующих одновременно виртуальных.


Conva64SynLay PIC18F45k22 Schematic

Посмотреть (скачать)
2469x1854



Conva64SynLayH PIC18F45k22 Schematic

Посмотреть (скачать)
2469x1854



Токоограничивающие резисторы необходимо подбирать исходя из используемого типа светодиодов и напряжения питания.
Светодиоды HL1 и HL7 предназначены для индикации активного слоя, остальные - для индикации пункта настроек.
Кнопки Layer1 и Layer2 служат для переключения между "слоями" клавиатуры. При включении питания, слой 1 всегда включён, а слой 2 выключен.

Все настройки, для каждого слоя, устанавливаются индивидуально.
Вход в режим настроек осуществляется нажатием кнопки Setup.
Последовательный переход между пунктами настройки осуществляется нажатием кнопки Setup.

Также в устройстве имеется и ряд глобальных настроек.
Для входа в режим глобальных настроек, необходимо выключить питание, а затем, одновременно нажимая кнопки Layer1, Layer2 и Setup, опять его включить. После отпускания кнопок, включится режим глобальных настроек (оба светодиода индикации слоёв будут светиться одновременно).
Последовательный переход между пунктами настройки также осуществляется нажатием кнопки Setup.

Установка параметра производится нажатием клавиш (с C первой октавы по D# второй октавы включительно), которые соответствуют цифрам с 1 по 16. Кроме того, для некоторых настроек, клавишам D и D# второй октавы соответствуют значения No/Yes и -/+. Помимо всего, для настройки смещения строя клавиатуры, нумерация клавиш начинается с нуля, при этом, сперва необходимо нажать клавишу знака смещения, а потом две клавиши числовой величины.
Для ввода Банка (если разрешён режим Controller32) и Программы используется последовательное нажатие трёх цифровых клавиш (нумерация начинается с нуля). Если режим Controller32 запрещён, для ввода Банка используется последовательное нажатие пяти цифровых клавиш.
Для задания диапазона клавиш (Split), необходимо последовательно нажать две клавиши желаемого диапазона (очерёдность нажатия значения не имеет).
Недопустимые значения, при вводе цифр, преобразуются в максимально/минимально допустимые (кроме булевых).
Выход из режима настройки осуществляется кнопкой Exit, или автоматически, по истечении 10 секунд после последнего нажатия клавиш установки, или кнопок управления. При этом изменённые данные заносятся в энергонезависимую память.

Для сброса настроек в состояние "по умолчанию", необходимо выключить питание, а затем, одновременно нажимая кнопки Layer1, Layer2 и Exit, опять его включить. После отпускания кнопок, настройки будут сброшены.
Если необходимо сбросить также и глобальные настройки, удерживать надо кнопки Layer1, Layer2, Setup и Exit.

Нажатие и удержание кнопки Exit в течение 3 секунд, при выключенном режиме Setup, вызывает посылку сообщений Panica.



Варианты настроек Диапазон Дефолт Индикация
MIDI-Channel All 1,2 HL2
Split All keys All HL3
Transpose +/-24 0 HL4
Shape 1 - 4 1 HL5
Bank Select 0 - 127(16383) 0 HL6
Program Change 0 - 127 0 HL8
Send Sustain No-Yes Yes HL9
Send Soft No-Yes Yes HL10
Send Wheels No-Yes Yes HL11
Send PrgCh & BnkSel No-Yes Yes HL12



Глобальные настройки Диапазон Дефолт Индикация
Threshold Sliders 1 - 7 1 HL2
Global Velocity 1 - 4 2 HL3
Controller32 No-Yes Yes HL8
Running Status No-Yes Yes HL9
Note OFF as ON No-Yes No HL10
Active Sensing No-Yes Yes HL11




Клавиши используемые для установок (1-первая октава, 2-вторая, транспонирование игнорируется):

  1C 1C# 1D 1D# 1E 1F 1F# 1G 1G# 1A 1A# 1H 2C 2C# 2D 2D#
Split All keys
MIDI-Channel
Shape
Threshold Sliders
Global Velocity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Transpose 0 1 2 3 4 5 6 7 8 9 x x x x - +
Bank Select
Program Change
0 1 2 3 4 5 6 7 8 9 x x x x x x
Send Sustain
Send Soft
Send Wheels
Send PrgCh & BnkSel
Controller32
Running Status
Note OFF as ON
Active Sensing
x No Yes





Варианты Shape (таблицы Velocity):

Shape


1 - Line
2 - Log
3 - Back Log
4 - Hard





Краткое описание настроек:

MIDI-Channel: Номер миди-канала для "слоя".
Split: Задаёт диапазон используемых клавиш для "слоя".
Transpose: Величина смещения строя клавиатуры в полутонах.
Shape: Задаёт зависимость параметра "скорость нажатия" миди-сообщения от реальной скорости нажатия.
Bank Select: Номер банка при выборе инструмента.
Program Change: Номер выбранного инструмента.
Send Sustain: Разрешает/запрещает передачу сообщений о педале Sustain.
Send Soft: Разрешает/запрещает передачу сообщений о педале Soft.
Send Wheels: Разрешает/запрещает передачу сообщений о "колёсах" Modulation и Pitch.
Send PrgCh & BnkSel: Разрешает/запрещает передачу группы сообщений о выборе инструмента, при каждом включении "слоя".
Автоматически передаётся для каждого включённого слоя, при выходе из режима настроек.
Threshold Sliders: Порог чувствительности "колёс" Modulation и Pitch.
Для изношенных рекомендуется увеличить.
Global Velocity: Глобальная чувствительность к скорости нажатия.
V = Vmin * 2^(n-1) (V-скорость опроса клавиатуры, n-данный параметр).
Корректировка может потребоваться, при использовании различной механики клавиш.
Controller32: Определяет способ передачи сообщения о выборе банка.
Если запрещён, информация передаётся двумя байтами (можно передать 16384 значения).
Если разрешён, младший и старший байты дублируются (можно передать только 128 значений).
Зависит от используемого синтезатора/тон-генератора.
Running Status: Разрешает/запрещает передачу сообщений с использованием данного алгоритма.
Позволяет экономить трафик. Процент экономии сильно зависит от типа передаваемых сообщений.
Note OFF as ON: Разрешает/запрещает передачу сообщений Note OFF, как Note ON с нулевой "скоростью нажатия (отпускания)".
Большинство синтезаторов не используют параметр "скорость отпускания", поэтому включение этой опции, в сочетании с Running Status, повышает процент экономии трафика.
Active Sensing: Разрешает/запрещает передачу данных сообщений, для контроля целостности соединения.
Не все синтезаторы воспринимают данное сообщение.
При использовании различных программно-аппаратных преобразователей (типа USB-MIDI), в большинстве случаев возникают ошибки.







MIDI Implementation Chart

Function Transmitted Recognized Remarks
CHANNEL Default
  Changed
1,2
1-16
X
X
 
  Default
MODE Messages
  Altered
Mode 3
X
*********
X
X
X
 
NOTE  
NUMBER True voice
12-99
*********
X
X
 
VELOCITY Note On
  Note Off
O
O or X 9n V=0
X
X
 
Setting
AFTER Key's
TOUCH Channel
X
X
X
X
 
PITCH BEND O or X X Setting
  0, 32
CONTROL 1, 33
CHANGE 64
  67
O
O
O
O
X
X
X
X
Bank Select
Modulation
Sustain
Soft
PRORGAM  
CHANGE True Number
O
*********
X
X
 
SYSTEM EXCLUSIVE X X  
  Quarter Frame
SYSTEM Song Position
COMMON Song Select
  Tune Request
X
X
X
X
X
X
X
X
 
SYSTEM Clock
REAL TIME Commands
X
X
X
X
 
  All Sound Off
  Rst All Contr
AUX Local Control
MESSAGES All Notes Off
  Active Sense
         Reset
X
X
X
X
O or X
X
X
X
X
X
X
X
 
 
 
 
Setting
 
NOTES Running Status Mode Support  
Mode 1: OMNI ON, POLY Mode 2: OMNI ON, MONO O:  Yes
Mode 3: OMNI OFF, POLY Mode 4: OMNI OFF, MONO X:   No











Обсудить на форуме







НаписАть отзыв  E-mail   Other electronics  Другая электроника

Home
На главную



счётчик посещений

midi-keyboard самодельная миди-клавиатура на микроконтроллере conva 64 замена электроники в миди-клавиатуре


Copyright © 2018 by Dmitry Dubrovenko.