Главная » Arduino
Призовой фонд
на март 2017 г.
1. UNI-T UT-39C
Паяльник
2. Тестер компонентов LCR-T4
Паяльник
3. 100 руб.
От пользователей

Емкостная сенсорная 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)\Arduino\hardware\arduino\firmwares\atmegaxxu2

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

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

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

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

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

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

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

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
Arduino UNO1 Поиск в FivelВ блокнот
Резистор1-10 МОм12 Поиск в FivelВ блокнот
Металлический зажим"Крокодил"11 Поиск в FivelВ блокнот
Токопроводящий материалФольга и т.п.1 Поиск в FivelВ блокнот
Соединительные провода1 Поиск в FivelВ блокнот
Добавить все

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

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

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

Теги:

Опубликована: 0 0
Я собрал 0 1
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 5 Проголосовало: 1 чел.

Комментарии (3) | Я собрал (0) | Подписаться

0
XXX2042 #
Собрал! Работает!
Ответить
0
Streetboy163 #
Круто! Постараюсь собрать
Не помешало бы конечно схему добавить... есть пара непоняток, резисторами нужно подтянуть клавиши к земле? И какой клавише какой пин ардуино соответствует, как она определяет клавиши то?
Ответить
0
Streetboy163 #
Такой бред.. .перевели кусок статьи толком ничего не описали. В каком скетче нужно менять значение?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Raspberry Pi 2
Raspberry Pi 2
Мультиметр Mastech MS8239C Печатная плата для усилителя "LM3886 + AD825"
вверх