Главная Протокол MIDI Принцип действия Звукосниматель Лады и струны Питание Аналоговая часть Контроллер PIC16x74 COM-порт MIDI-порт Управление и индикация Алгоритм детектирования нот |
Управление и индикацияДва вывода микросхемы (старшие биты порта B) остались не задействованы. Их решено использовать для организации простейшей индикации (красный и зеленый светодиод) и подключения кнопок управления. Всего без изменения схемы может быть подключено до 17 кнопок - по одной на каждый вход сканирования порожков. Сейчас подключена одна единственная кнопка. Выводы B6 и B7 управляют индикацией. В обычном состоянии B7 находится в третьем состоянии, и светодиоды не горят. Для включения светодиодов необходимо включить B6 и B7 в режиме вывода противоположных логических значений; включаемый светодиод выбирается полярностью поданного с выводов B6 и B7 напряжения. Сопротивление выбирается для ограничения тока на выводе B7 значением, достаточным для свечения светодиода. Используемые светодиоды повышенной яркости позволяют ограничиться током менее 1 мА. Индикация осуществляется кратковременным зажиганием светодиодов с последующим гашением:
Для управления используется прижим той или иной струны на определенном порожке с последующим нажатием кнопки "ВВОД". Кнопка сканируется в основном цикле сканирования струн путем выдачи единицы на вывод B6 и считывания значения с D7. B7 при этом сконфигурирован в третье состояние. Реализован следующий порядок ввода команд управления:1 струнаСлужит для ввода команды транспозиции (при использовании в качестве начала ввода) и для ввода цифровых значений ("сколько") в составных командах: 1.1+кнопка - повысить строй на одну октаву 1.2+кнопка - понизить строй на одну октаву 1.3+кнопка - повысить строй на полтона 1.4+кнопка - понизить строй на полтона 1.5+кнопка - повысить строй на 1-12 полутонов + "сколько 1..12" 1.6+кнопка - понизить строй на 1-12 полутонов + "сколько 1..12" 1.7+кнопка - отменить транспонирование Для ввода параметра "сколько i=0..15" необходимо прижать 1 струну на i+1 порожке и нажать кнопку ввода. Например, число 7 вводится как 1.8+кнопка. Для ввода параметра "сколько i=0..127" необходимо сначала прижать струну на d+1 порожке (d - количество целых десятков в числе) и нажать кнопку, затем прижать струну на n+1 порожке (n - остаток от деления числа на 10) и нажать кнопку. Например, число 113 вводится как 1.12+кнопка, 1.4+кнопка. 2 струнаСлужит для ускоренного ввода параметра "сколько" для значений контроллеров, лежащих в интервале от 0 до 127, таких как громкость, эхо и т.д. Прижим струны на i порожке соответствует значению контроллера (i-1)*10. Например 2.1 => 0, 2.5 => 40, 2.11 => 100. 2.14 соответствует значению 127. 5 струнаСлужит для ускоренного ввода основных контроллеров MIDI. Для последующего ввода значений можно использовать как 1, так и 2 струну. 5.1+кнопка - громкость + "сколько 0..127" 5.2+кнопка - модуляция + "сколько 0..127" 5.3+кнопка - эхо + "сколько 0..127" 5.4+кнопка - хорус + "сколько 0..127" 5.5+кнопка - панорамирование + "сколько 0..127" 6 струнаСлужит для ввода команд настройки. 6.1+кнопка - канал для всех струн + "сколько 0..15" 6.2+кнопка - инструмент + "сколько 0..127" 6.3+кнопка - строй+"унисон" * 6.4+кнопка - контроллер +"номер 0..127"+"сколько 0..127" 6.5+кнопка - сброс настройки (0 канал, строй 6-струнной гитары, без Velocity) 6.6+кнопка - сброс синтезатора 6.7+кнопка - канал для одной струны + "канал для струны" ** 6.8+кнопка - включить/выключить "режим тэппинга" *Командой "строй" устанавливаются порожки, на которых струны звучат в унисон с предыдущими. Вторым действием, завершающим ввод команды "строй", должен являться прижим одной из струн со 2 по 6 на соответствующем порожке с нажатием кнопки ввода. Например, чтобы настроить 3 струну в унисон со 2 на 4 порожке (как это принято в 6-струнной гитаре), нужно ввести последовательность: 6.3+кнопка, 3.4+кнопка. Для полного изменения строя следует задать все унисоны для струн со 2 по 6, а также, при необходимости, произвести общее повышение или понижение строя. **Канал для струны вводится путем
прижатия соответствующей струны на
соответствующем порожке и нажатия кнопки.
Например, чтобы перестроить 4 струну на канал 2
нужно последовательно нажать |