Сенсорный интерактивный музыкальный инструмент (играем на фруктах, воде и т.д.)
Не хотите попробовать сыграть мелодию на бананах, помидорах, огурцах? А на воде или лимонаде?
С помощью этого устройства можно сыграть мелодию практически на любой токопроводящей поверхности.
Давайте посмотрим небольшой видесюжет.
Интересно? А теперь давайте последуем за автором этой самоделки, и он нам расскажет, как собрать такое устройство.
Инструменты и материалы:
-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 <CapacitiveSensor.h> #include <MIDI.h> MIDI_CREATE_DEFAULT_INSTANCE(); const int sensorPin1 = A0; int sensorValue1 = 0; int threshold1 = 100; const int sensorPin2 = A1; int sensorValue2 = 0; int threshold2 = 100; const int sensorPin3 = A2; int sensorValue3 = 0; int threshold3 = 100; const int sensorPin4 = A3; int sensorValue4 = 0; int threshold4 = 100; const int sensorPin5 = A4; int sensorValue5 = 0; int threshold5 = 100; const int sensorPin6 = A5; int sensorValue6 = 0; int threshold6 = 100; int note1 = 60; int note2 = 62; int note3 = 64; int note4 = 65; int note5 = 67; int note6 = 69; //Control 16 = general purpose int cc = 16; //Setup: void setup(){ //Start midi connection MIDI.begin(); //Serial connection 115200 for Hairless MIDI Serial.begin(115200); analogRead(sensorPin1 == 0); analogRead(sensorPin2 == 0); analogRead(sensorPin3 == 0); analogRead(sensorPin4 == 0); analogRead(sensorPin5 == 0); analogRead(sensorPin6 == 0); } //Loop: void loop(){ if ( analogRead(sensorPin1) >= threshold1) { MIDI.sendNoteOn(note1,127,1); } else{ MIDI.sendNoteOff(note1,0,1); } if ( analogRead(sensorPin2) >= threshold2) { MIDI.sendNoteOn(note2,127,2); } else{ MIDI.sendNoteOff(note2,0,2); } if ( analogRead(sensorPin3) >= threshold3) { MIDI.sendNoteOn(note3,127,3); } else{ MIDI.sendNoteOff(note3,0,3); } if ( analogRead(sensorPin4) >= threshold4) { MIDI.sendNoteOn(note4,127,4); } else{ MIDI.sendNoteOff(note4,0,4); } if ( analogRead(sensorPin5) >= threshold5) { MIDI.sendNoteOn(note5,127,5); } else{ MIDI.sendNoteOff(note5,0,5); } if ( analogRead(sensorPin6) >= threshold6) { MIDI.sendNoteOn(note6,127,6); } else{ MIDI.sendNoteOff(note6,0,6); } //50ms space delay(53); }
Этот код для 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
Для пользования устройством нужно подключить сенсоры к любой токопроводящей поверхности.
Вот несколько видео с демонстрацией работы устройства.