
В данном руководстве указано, как самостоятельно изготовить емкостную сенсорную 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 UNO | 1 | |||||
| Резистор | 1-10 МОм | 12 | ||||
| Металлический зажим | "Крокодил" | 11 | ||||
| Токопроводящий материал | Фольга и т.п. | 1 | ||||
| Соединительные провода | 1 | |||||