Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Удаленная работа
Помощь проекту

MIDI-клавиатура на PIC16F84

Предлагаемая 48-клавишная MIDI-клавиатура предназначена для работы совместно с персональным компьютером (ПК) или синтезаторами в бесклавиатурном исполнении. Она обслуживает 16 MIDI-каналов. Встроенный регулятор может использоваться либо для управления громкостью, либо для манипулирования одним из 31 контроллера. Применение микроконтроллера (МК) PIC16F84 позволило не только упростить схему устройства, но и значительно снизить стоимость и сложность исполнения, отказавшись от традиционного в этой области МК i8051.

Принципиальная схема предлагаемой MIDI-клавиатуры изображена на рисунке. Ее основа - МК DD7, осуществляющий основные операции опроса всех манипуляторов и организации MIDI-интерфейса. Мультиплексоры DD1-DD6 предназначены для реализации динамического опроса клавиш. К каждому из них подключено по восемь подклавишных контактных групп, а сигнал с выхода подается на соответствующий вход порта В МК DD7 (на схеме полностью показан только DD1, остальные включены аналогично).

Регулятор громкости - переменный резистор R10 - включен в RC-цепь одновибратора, собранного на таймере DA2. Положение его движка определяется по длительности импульсов, поступающих на вход RB6 DD7. Одновибратор запускается импульсами, поступающими с выхода RA3, который одновременно управляет индикатором режима работы - светодиодом HL1. Программа, управляющая работой МК DD7, осуществляет опрос клавиатуры. Как только обнаруживается нажатие или отпускание клавиши, происходит вызов процедуры, отправляющей соответствующее MIDI-сообщение [1]. Так как МК PIC16F84 не имеет встроенного универсального асинхронного последовательного приемопередатчика (UART), программа осуществляет программную организацию MIDI-интерфейса с помощью простейших операций сдвига.

При вычислении положения движка резистора R10 учитывается его конфигурация как манипулятора контроллера или как регулятора громкости. В первом случае считанное значение сравнивается с записанным в прошлый цикл опросом, и если пять раз подряд установлено различие, то отправляется соответствующее MIDI-сообщение. Положение движка резистора R10 оцифровывается контроллером в пятибитный код, и, таким образом, устройство чувствительно к 32 его различным положениям. Если R10 "настроен" как регулятор громкости, необходимая информация посылается вместе с событиями нажатия клавиш.

Кнопкой SB49 устройство переводят в режим настройки, о чем сигнализирует светодиод HL1. В этом случае сообщения о нажатиях клавиш не передаются на выход устройства.

Нажатие любой из 16 первых клавиш (т. е. подключенных к мультиплексорам DD1 и DD2) приводит к переключению MIDI-канала, любой из 32 других - к выбору соответствующего номера контроллера, которым будет управлять резистор R10. Если нажата клавиша SB17 (ее контакт подключен к входу Х0 DD3), R10 конфигурируется как регулятор громкости, иначе (при нажатии SB18, SB19 и т. д.) - как манипулятор MIDI-koh-троллера, номер которого назначается нажатием клавиш SA18-SA48 (SA18 - контроллер О, SA19 - контроллер 1 и т. д.).

Коды программы в виде hex-файла приведены в таблице. Первый байт строки 9 (число 29h) - константа, определяющая номер ноты, с которой начинается клавиатура. В авторском варианте начальной является нота F3 - фа третьей октавы (нота с номером 41, принятым в MIDI-сообщени-ях). При использовании другой клавиатуры следует откорректировать эту константу и пересчитать контрольную сумму строки 9.

Исходный текст программы и некоторые другие дополнительные материалы к статье можног скачать по этой ссылке.



Печатная плата для устройства не разрабатывалась- Большинство деталей (микросхемы DD7, DA1, DA2, резисторы, конденсаторы, кварцевый резонатор) смонтированы на макетной плате, все соединения выполнены проводом МГТФ. Для уменьшения длины жгута, идущего к контактам клавиш, мультиплексоры DD1-DD6 установлены непосредственно под клавиатурой. Источник питания, подключаемый к разъему ХР1, должен иметь выходное напряжение 6... 12 В при токе около 50 мА.

С небольшими доработками К561КП2 (DD1-DD6) можно заменить мультиплексорами К561КП1. Кроме МК PIC16F84, в устройстве можно применить PIC16F84A или PIC16CR84. Прямая замена на PIC16C84 или PIC16F83 невозможна. В качестве R10 можно использовать любой переменный резистор указанного на схеме сопротивления с функциональной характеристикой А. Розетка XS1 -стандартная пятиконтактная ОНЦ-ВГ-4-5/16-р (DIN-5).

Клавиатура практически не нуждается в налаживании и при исправных деталях и отсутствии ошибок в монтаже начинает работать сразу после включения питания. Если положение движка резистора R10 определяется неверно, следует подобрать конденсатор C3 и резистор R11. При наличии программы-секвенсора клавиатуру можно подключить к ПК и проверить правильность работы устройства в целом. Для подключения к ПК используют переходник, обеспечивающий оптоэлектронную развязку интерфейса, например, подобный описанному в [2].

При постоянном использовании клавиатуры с ПК для питания можно использовать импульсный преобразователь [3], подключив его к источнику +5 В игрового порта. Для уменьшения потребляемого тока R12 в этом случае желательно заменить резистором большего сопротивления или вообще исключить светодиод HL1. 

Литература:

Студнев A. MIDI-клавиатура. - Радио, 1993, № 11, с. 32-34.
Оборотов Н. Простая MIDI клавиа тура для ПК. - Радио, 2000, № 3, с. 25, 26, 44.
Власов Ю. Простой преобразователь с независимым возбуждением. - Радио, 1996, № 7, с. 50.

Автор: А.Борисевич, г.Севастополь, Украина


C этой схемой также часто просматривают:

Генератор видеосигнала на микроконтроллере PIC16F84
Частотомер - цифровая шкала на PIC16CE625 (PIC16F84).
Цифровая шкала - частотомер на PIC16F84
Неугомонная шестеренка на PIC16F84
CCB-педаль для электрогитары (Compact Clean Boost Pedal)
Бустер для электрогитары
Синусоидальный генератор на микросхеме LM386
Усовершенствованный логический ТТЛ-пробник

Главные категории

Arduino


Аудио


В Вашу мастерскую


Видео


Для автомобиля


Для дома и быта


Для начинающих


Зарядные устройства


Измерительные приборы


Источники питания


Компьютер


Медицина и здоровье


Микроконтроллеры


Музыкантам


Опасные, но интересные конструкции


Охранные устройства


Программаторы


Радио и связь


Радиоуправление моделями


Световые эффекты


Связь по проводам и не только...


Телевидение


Телефония


Узлы цифровой электроники


Фототехника


Шпионская техника



Реклама на KAZUS.RU




Последние поступления

Krank Distortus Maximus - схема дисторшн педали

Приставка для эффекта Surround

CCB-педаль для электрогитары (Compact Clean Boost Pedal)

Бустер для электрогитары

Радиомикрофон

Модернизируем шестиструнку

Барабанная установка в сборе

Датчики силы удара для имитаторов ударных инструментов

Схема соединений модулей барабанной установки

Блок питания барабанной установки



© 2003—2017 «KAZUS.RU - Электронный портал»