Емкостная сенсорная Midi клавиатура

В данном руководстве указано, как самостоятельно изготовить емкостную сенсорную midi клавиатуру.

Примечание: клавиатура не работает в случае использования обычной краски. Для данного проекта я использовал токопроводящую краску.

Для данного устройства вам потребуются следующие компоненты:

— Arduino Uno R3 (данное руководство предназначено лишь для версии R3, я не уверен, что оно будет работать для других моделей)
— 12 резисторов (сопротивление от 1 MОм до 10 MОм)
— проволочные перемычки
— 11 зажимов типа «крокодил»
— некоторое количество токопроводящего материала (электропроводящая краска, алюминиевая фольга и т.д.)
— программа для обработки midi файлов
— библиотека для емкостного датчика
— код и файл программы (представлены ниже)

Шаг 1: Калибровка чувствительности

Сначала нам необходимо определить чувствительность наших резисторов. Для этого следует загрузить библиотеку емкостного датчика и установить ее в папку Arduino. Затем скопировать данный скетч и загрузить его в Arduino.

После того, как вы загрузите код и соберете схему на базе платы Arduino, откройте последовательный монитор (serial monitor) внутри вашего ADE. Если все сделано правильно, вы увидите ряд значений. Если вы прикоснетесь к концу проводника, то обратное значение будет выше по сравнению со значением, если к проводнику не прикасаться.

Теперь пришло время определить, при каком значении ваш датчик касания будет ‘отправлять’ midi ноту. Если вы считаете значение 50, когда вы не прикасаетесь к проводнику и значение 1000, когда вы прикоснетесь к проводнику, тогда вам необходимо придерживаться значения около 700. Когда вы изготовите емкостную сенсорную клавиатуру, то она будет отправлять midi ноту, когда значение превысит 700.

Теперь давайте приступим к изготовлению самой клавиатуры…

Шаг 2: Загрузка кода

Загрузите код в Arduino.

Примите во внимание значение, которое необходимо запомнить. Вам следует вставить это значение в код. Если в программном коде встречается значение 500, то его необходимо заменить на ваше значение.

static int lastInput1 = 0;

int newInput1 = total1;

if((lastInput1 < 500) && (newInput1 > 500)) {

for (int note=48;note<49;note++) {//from note 50 (D3) to note 69 (A4)

MIDImessage(noteON, note, ON); }};//turn note on

if((lastInput1 > 500) && (newInput1 < 500)) {

for (int note=48;note<49;note++) {//from note 50 (D3) to note 69 (A4)

MIDImessage(noteON, note, OFF); }};

lastInput1 = newInput1;

После внесения изменений в программный код его можно загрузить в плату Arduino.

Шаг 3: Изменение программного обеспечения Arduino

На данном этапе вам необходимо изменить программу по умолчанию UNO-dfu_and_usbserial_combined на программное обеспечение arduino для обработки MIDI.

Сначала загрузите шестнадцатеричный файл, далее программу FLIP для загрузки данного шестнадцатеричного файла в Arduino.

После загрузки файла и программы FLIP, соедините вашу плату Arduino с компьютером. Затем переведите Arduino Uno R3 (это будет работать лишь на версии Uno!) в режим DFU.

Вставьте один проводник в контакт Ground вверху и один проводник в контакт Ground внизу. Далее необходимо прикоснуться нижним проводником к контакту GND, как показано на фото, и одновременно верхним проводником к контакту RESET. После этого плата Arduino перейдет в режим DFU.

Далее следует загрузить шестнадцатеричный файл MocoLUFA. Откройте программу FLIP, выберите ваш чип (16u), укажите место расположения вашего файла MIDI.hex и загрузите его через USB интерфейс. Отсоедините USB кабель от компьютера и повторно подсоедините назад. Плата Arduino должна определиться как MIDI/MocoLUFA устройство.

Запомните: Если необходимо изменить ADE код, тогда вам следует вернуть назад оригинальный шестнадцатеричный файл для Arduino. Этот файл расположен в папке C:Program Files (x86)Arduinohardwarearduinofirmwaresatmegaxxu2

Шаг 4: Создание девайса

Соберите схему, как показано на рисунках выше.

Концы проводников – это те места, к которым вы будете прикасаться. Вы можете прикрепить зажимы типа «крокодил» к концам этих проводников для того, чтобы можно было закрепить проводники, например, к алюминиевой фольге.

Шаг 5: Заключительный шаг создания midi клавиатуры

К настоящему моменту ваша емкостная сенсорная клавиатура должна быть готова. Она может определять, когда вы держите проводник и отправляете midi ноту. Но нам необходимо также иметь программу для чтения MIDI и воспроизведения звуков. Вы можете использовать программу DAW (Fl Studio, Ableton, Logic Pro и т.д.)

Если ваша емкостная сенсорная клавиатура работает, как было задумано, то она появится как обычное MIDI устройство в вашей программе DAW, что показано на рисунке выше. Устройство будет работать как обычная MIDI клавиатура, за исключением, что она может проиграть за один раз лишь одну ноту!

Наслаждайтесь!


Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

Arduino UNO1

Резистор1-10 МОм12

Металлический зажим"Крокодил"11

Токопроводящий материалФольга и т.п.1

Соединительные провода1
Добавить все

Скачать список элементов (PDF)

Оригинал статьи

Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован.