Arduino как бесконтактный миди-контроллер

wazls

Member
Joined
Feb 4, 2017
Messages
231
Reaction score
15
Давным давно увидел как кто-то управлял фейдерами с помощью движения руки. (Самый простой пример для незнающих: руку подводим ближе к какой-то неведомой штукенции - звук становится тише, отводим руку – громкость возрастает). Тогда я был в шоке от увиденного. Спустя какое-то время начал интересоваться микроконтроллерами. Можете почитать про них сами, их применение ошеломляет. И вот в очередной раз, рассматривая какие же модули/датчики есть для всеми любимой ардуино, увидел HC-SR04. Как он работает рассказывать не буду, нужно знать, что он просто измеряет расстояние до определенного предмета. Тут я сразу вспомнил про тот чудо аппарат, появилось огромное желание повторить.

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

Сложность: 2/10 И то, только потому что придется ждать ардуинку с датчиком, так как скорее всего в своем городе не найти.
Здесь при нажатии на кнопку просто включается режим "слушания". Вроде как диод позволяет уменьшить погрешность определения расстояния.


Нам понадобится:

1. Любая ардуинка , я лично использую arduino nano (китайскую копию), удобно что есть usb порт через который можно как прошивать, так и просто запитывать плату. Заказывал на али
такую такую (кликабельно)
Или проще заказать набор с Arduino UNO, придет все разом кроме датчика расстояния
"Например такую"
2. Сам датчик расстояния HC-SR04. Вот вроде самая дешевая

3. Провода, и что бы удобно все собирать – макетку. Опять же, проще купить набор, там уже почти все есть.

4.Скачать программу для преобразования из ком порта в миди. Будет в архиве

5. Cкачать Arduino IDE Прямая ссылка

Скетч который нужно прошить в ардуику с помощью Arduino IDE тоже будет в архиве.

Как все пришло, нужно подключить наш датчик к ардуино:
-Если купили набор, то просто проводами соединяем ногу на датчике Gnd, с GND на ардуино.
-Ногу Echo с пином D8.
-Trig с пином D4.
-Vcc с пином где написано +5V
Обратите внимание как идут рельсы на макетке, это важно, так как можно напутать и спалить микроконтроллер.
Qab4WSDJnN0.jpg

itJmS-ljOZ0.jpg

Далее подключаем к ПК, Открываем Arduino IDE, затем скетч который в архиве.
Не забудьте выбрать в инструментах COM порт, к окторому подключен микроконтроллер, скорее всего не COM 1. Так же выбирите модель платы (Arduino nano, uno, mega и т.д. В моем случае nano).
Процессор ATmega328.
Пример
Zy9SqbHl2NM.jpg

Прошиваем наш скетч, нажав на стрелку (находится рядом с галкой:))

Затем открываем программу hairless-midiserial (Тоже в архиве)
В serial port выбераем наш порт (тот который выбирали в Arduino IDE) и побегцт знаечния, её сворачиваем! НЕ ЗАКРЫВАЕМ!
sid3CF723X0.jpg

Приблизьте руку к эти глазам(датчику) значения должны меняться.

На этом все, можете открывать программу для написания музыки(FL Studio, Cubase и т.д.) И начинать баловаться) На самом деле это очень полезная штукенция. Из скетча можно изменить фильтрацию значений, можно вообще убрать, можно добавить кнопку, при нажатии которой будет начинать свое действие, можно собрать свой мега крутой ПУ, но это уже другая история

[visitor][/visitor], спасибо что дочитал :) Надеюсь было интересно
 
Top