Сенсорный интерактивный музыкальный инструмент (играем на фруктах, воде и т.д.)

Опубликовано От Sergey

Не хотите попробовать сыграть мелодию на бананах, помидорах, огурцах? А на воде или лимонаде?
С помощью этого устройства можно сыграть мелодию практически на любой токопроводящей поверхности.
Давайте посмотрим небольшой видесюжет.

Интересно? А теперь давайте последуем за автором этой самоделки, и он нам расскажет, как собрать такое устройство.
Инструменты и материалы:
-Arduino UNO R3;
-Провода;
-Зажимы типа «крокодил»;
-Паяльные принадлежности;
-Резисторы 1 МОм — 6 шт;
-Термоусадочная трубка;
-Ноутбук;

Шаг первый: теория
Работает все следующим образом. Сенсорные датчики подключаются к токопроводящим предметам. Вторым концом датчики подключаются к Ардуино. Ардуино принимает сигнал, и передает на ноутбук, на котором сигнал обрабатывается и воспроизводиться нота.

Шаг второй: сборка сенсорных датчиков
Теперь нужно собрать сенсорные датчики. Для проекта их нужно 6 штук.
Припаивает черный провод к зажиму. Припаивает к черному проводу, в одной точке, красный провод и резистор 1МОм.
К другому концу резистора припаиваем черный провод. К концу красного провода припаиваем штифт.
Черный провод является отрицательным полюсом датчика, и он будет подключатся к заземляющему контакту Arduino, красный провод — это положительный полюс датчика, и он будет подключатся к аналоговому входному контакту Arduino.

Сенсорный датчик готов. Соединения нужно заизолировать изолентой или термоусадочной трубкой. Мастер советует использовать провода длинной около 2-х метров.

Таким методом нужно собрать шесть датчиков. Затем нужно минусовые контакты датчиков соединить вместе и нарастить отдельным проводом со штифтом на конце.

Получаем такую схему.

Шаг третий: подключение к Ардуино
Дальше нужно подключить датчики к Ардуино.
Положительные выходы
Датчик 1 В ARDUINO Аналоговый вход 0
Датчик 2 В ARDUINO Аналоговый вход 1
Датчик 3 В ARDUINO Аналоговый вход 2
Датчик 4 В ARDUINO Аналоговый вход 3
Датчик 5 В ARDUINO Аналоговый вход 4
Датчик 6 В ARDUINO Аналоговый вход 5
Отрицательный выход к GND Ардуино

Шаг четвертый: корпус
Для датчиков и для Ардуино мастер спроектировал и напечатал корпуса. Скачать файлы для печати можно ниже.

Для Ардуино.
Любой из трех моделей для датчиков.
Модель 1
Модель 2
Модель 3

Шаг пятый: код и программное обеспечение
В следующем шаге нужно установить программы.
Arduino IDE (необходимое программное обеспечение для программирования платы Arduino Sensor ReTouch)
Библиотека Midi и библиотека для емкостного сенсора (две дополнительные библиотеки для программного обеспечения Arduino)
Hairless MID (это программное обеспечение способно конвертировать последовательные данные в данные Midi)
Любое программное обеспечение для создания музыки или VST (виртуальный инструмент), способный получать данные Midi. Мастер рекомендует следующие программы:
Apple Logic
Ableton Live
Fruity Loops
Audiomulch
Steinberg Cubase
Или симуляторы:
Native instrument FM8
Native instrument BATTERY
Native instrument KONTAKT
Native instrument AKOUSTIK PIANO
Разархивируйте и установите Arduino IDE. Затем подключите Sensor ReTouch к компьютеру через USB.
Дважды щелкните значок Arduino, чтобы запустить приложение. После того, как вы откроете программное обеспечение, перейдите на верхнюю панель и выберите вкладку «Tools», чтобы открыть небольшое меню, прокрутите это меню, пока не достигнете «Модель Arduino», выберите модель платы Arduino.
Снова перейдите на верхнюю панель и выберите «Tools», прокрутите меню до «Serial Port», и выберите /dev/cu.usbmodem3d11.
Теперь нужно установить все библиотеки.
Откройте архивы «Arduino-libraries-CapacitiveSensor.zip» и «Arduino_MIDI_Library_v4.2.zip».
Откройте окно Arduino IDE, и на верхней вкладке выберите “Sketch“. Прокрутите мышью до Include Library> Add Library и установите библиотеки.
По той же схеме добавьте библиотеки «Capacitive Sensor», и “MIDI Library”.

Затем устанавливает на Ардуино код:

#include p>

#include p>

MIDI_CREATE_DEFAULT_INSTANCE (); p>

const int sensorPin1 = A0; p>

int sensorValue1 = 0; p>

int threshold1 = 100; p>

const int sensorPin2 = A1; p>

int sensorValue2 = 0; p >

int threshold2 = 100; p>

const int sensorPin3 = A2; p>

int sensorValue3 = 0; p>

int threshold3 = 100; p>

const int sensorPin4 = A3; p>

int sensorValue4 = 0; p>

int threshold4 = 100; p>

const int sensorPin5 = A4; p>

int sensorValue5 = 0; p>

int threshold5 = 100; p>

const int sensorPin6 = A5; p>

int sensorValue6 = 0; p>

int threshold6 = 100; p>

int note1 = 60; p>

int note2 = 62; p>

int note3 = 64; p>

int note4 = 65; p>

int note5 = 67; p>

int note6 = 69; p>

// Элемент управления 16 = общего назначения p>

int cc = 16; p>

// Настройка: p>

void setup () { p>

p>

p>

/ / Запуск MIDI-соединения p>

MIDI.begin (); p>

p>

// Последовательное соединение 115200 для безволосого MIDI p>

Serial.begin ( 115200); p>

p>

p>

analogRead (sensorPin1 == 0); p>

analogRead (sensorPin2 == 0); p >

analogRead (sensorPin3 == 0); p>

analogRead (sensorPin4 == 0); p>

analogRead (sensorPin5 == 0); p>

analogRead (sensorPin6 == 0); p>

p>

} p>

// Loop: p>

void loop () { p>

p>

p>

if (analogRead (sensorPin1)> = threshold1) {< / p>

MIDI.sendNoteOn (note1,127,1); p>

p>

} p>

p>

p>

else { p>

p>

MIDI.sendNoteOff (note1,0,1); p>

p>

} p> < p> p>

if (analogRead (sensorPin2)> = threshold2) { p>

MIDI.sendNoteOn (note2,127,2); p>

p> < p>} p>

p>

p>

else { p>

p>

MIDI.sendNoteOff (note2,0,2); p>

p>

} < / p>

if (analogRead (sensorPin3)> = threshold3) { p>

MIDI.sendNoteOn (note3,127,3); p>

p>

} p>

p>

p>

else { p>

p>

MIDI.sendNoteOff (note3,0,3); p>

p>

} p>

p>

if (analogRead (sensorPin4)> = threshold4) { p>

MIDI.sendNoteOn (note4 , 127,4); p>

p>

} p>

p>

p>

else { p>

p>

MIDI.sendNoteOff (note4,0,4); p>

p>

} p>

p>

if (analogRead (sensorPin5)> = threshold5) { p>

MIDI.sendNoteOn (note5,127,5); p>

p>

} p>

p>

p>

else { p>

p>

MIDI.sendNoteOff (note5,0,5); p>

} p>

p >

if (analogRead (sensorPin6)> = threshold6) { p>

MIDI.sendNoteOn (note6,127,6); p>

p>

} p>

p>

p>

else { p>

p>

MIDI.sendNoteOff (note6,0,6); p>

p>

} p>

p>

p>

p>

p>

// 50 мсек p>

задержка (53 ); p>

} p>
Этот код для Windows. Для Apple OSX код можно загрузить здесь.

Шаг шестой: настройка
Далее нужно включить программное обеспечение MIDI и Аудио программу. Мастер показывает настройку на программе Loop MIDI.
После установки панель конфигурации Loop MIDI пустая. Щелкните PLUS в нижней части панели, и в списке программ появится новый коммуникационный порт Midi, классифицированный как « loopMIDI Port » или «loopMIDI Port 1».

Запустите Ableton LIVE. Затем выберите LIVE> Preferences. После отображения панели настроек выберите MIDI Sync TAB. Нажмите «Track, Sync and Remote». Порты в колонке INPUT должны стать желтого цвета.

Далее переходим к программе Hairless MID.
Введите в окошко t/dev/cu.usbmodem3d11. Затем в « MIDI OUT» и « MIDI IN » установите « Loop MIDI Bus 1».
Установите галочку в окошке Debug MIDI messages.
Далее перейдите в программу Ableton Live. Откройте любой виртуальный инструмент и понажимайте клавиши. В окошке Hairless MID в строка должна отображаться цифра от 0 до 127, а в динамика должна звучать соответствующая нота. Такие же цифры будут отображаться и при прикосновении к датчикам.

Шаг седьмой: использование устройства
Ниже прописаны технические характеристики для каждого датчика. Мастер настроил сенсорные датчики по умолчанию, используя протокол MIDI на 3 ° октавы фортепиано в виде отдельных нот в следующем порядке:
Датчик 1; MIDI канал 1 # / MIDI Note C3
Датчик 2; MIDI Channel 2 # / MIDI Note D3
Датчик 3; MIDI канал 3 # / MIDI Note E3
Датчик 4; MIDI канал 4 # / MIDI Note F3
Датчик 5; MIDI Channel 5 # / MIDI Note G3
Датчик 6; MIDI канал 6 # / MIDI Note A3

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

Вот несколько видео с демонстрацией работы устройства.



Источник (Source)

Источник: https://usamodelkina.ru/

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *