Оглавление:

Quick Fruit Piano с MIDI: 6 шагов (с изображениями)
Quick Fruit Piano с MIDI: 6 шагов (с изображениями)

Видео: Quick Fruit Piano с MIDI: 6 шагов (с изображениями)

Видео: Quick Fruit Piano с MIDI: 6 шагов (с изображениями)
Видео: Когда решил тихонечко поиграть на пианино и никому не помешать 😆 #ИринаБулахова 2024, Ноябрь
Anonim
Image
Image
Быстрое фруктовое фортепиано с MIDI
Быстрое фруктовое фортепиано с MIDI

Это действительно простое пианино с емкостным сенсорным управлением. Постучите по фруктам, банкам с газировкой, бутылкам с водой, полоскам алюминиевой фольги и т. Д., И вы получите полифоническую фортепианную музыку со своего компьютера. Теперь, когда программное обеспечение написано, проект не должен занимать более 10 минут, чтобы собрать версию для Arduino.

Тебе нужно:

  • Arduino (Mega для 8 ключей, Uno для 6 ключей) или плата STM32F103C8 с черной таблеткой (2 доллара на Aliexpress) плюс преобразователь UART-USB (например, Arduino или CH340)
  • USB-кабель
  • немного алюминиевой фольги
  • тестовые зажимы в идеале, но перемычки и скрепки подойдут (идея отсюда)
  • фрукты или пластилин, или кусочки бумаги с участками, окрашенными карандашом
  • компьютер.

Никаких дополнительных компонентов не требуется, поскольку здесь используется код из великолепной библиотеки ADCTouch от martin2250, а Arduino отправляет MIDI-команды на компьютер через последовательный порт. Воспроизведение звука Arduino осуществляется либо с помощью встроенного скрипта python на компьютере, либо безволосого мидисериала.

Если вы используете отладочную плату STM32F103C8, то это еще лучше: пианино становится настоящим USB-MIDI-контроллером, без необходимости в безволосом-мидисериале.

Примечание. Чтобы предотвратить повреждение Arduino / STM32F1 статическим электричеством, особенно в сухой день или на ковре, я предлагаю не прикасаться к алюминиевой фольге или тестовым зажимам во время работы устройства. Вместо этого прикоснитесь к фруктам, пластилину и т. Д., Сопротивление которых должно обеспечить некоторую защиту от электростатического разряда

Шаг 1: библиотеки Arduino

Библиотеки Arduino
Библиотеки Arduino

В среде Arduino IDE выберите Sketch | Включить библиотеку | Менеджер библиотеки. Найдите мой ADCTouchSensor. Установите библиотеку.

Затем выберите Файл | Примеры | ADCTouchSensor | Емкостное пианино.

Если у вас есть Arduino, подключите Arduino к USB-порту компьютера и загрузите эскиз CapacitivePiano на Uno или Mega. Скетч отправит данные на компьютер через последовательный порт USB о том, какой из 8 (Mega) или 6 (Uno) емкостных датчиков сработал.

Если у вас есть STM32F103C8, сначала установите загрузчик и настройте для него Arduino IDE (с моей веткой ветки addMidiHID), выполнив первые три шага здесь. Затем вернитесь в диспетчер библиотек и найдите мою библиотеку USBHID_stm32f1. Установите его.

Шаг 2: прикрепите провода к клавишам пианино

Присоединение проводов к клавишам пианино
Присоединение проводов к клавишам пианино
Присоединение проводов к клавишам фортепиано
Присоединение проводов к клавишам фортепиано

Проложите провода от контактов A0-A7 (A0-A5 на Uno) на вашем Arduino или STM32F103C8 к тому, что вы хотите использовать в качестве клавиш фортепиано. Например, я использовал перемычки с зажимами из крокодиловой кожи или тестовые зажимы, соединяющие кусочки алюминиевой фольги, на каждый из которых я кладу банку содовой или апельсин в качестве ключа. Алюминиевая фольга может использоваться напрямую как ключ. Или можно воткнуть проволоку в фрукт, овощ или пластилин.

Шаг 3: Установите программное обеспечение: Вариант A: Arduino и Hairless MIDI на последовательный мост

Вы можете загрузить и установить Hairless MIDI to Serial Bridge (Win / OSX / Linux), чтобы связать последовательный USB-выход Arduino с программным обеспечением синтезатора вашего компьютера.

Если у вас Windows 7 или новее, вы можете использовать встроенный Microsoft Wavetable GS Synth, поэтому все, что вам нужно для установки, - это Hairless. Для некоторых других программ воспроизведения потребуется loopMIDI.

В других системах вам может понадобиться синтезатор MIDI, такой как VirtualMidiSynth или Garageband. Вы также можете использовать VirtualMidiSynth в Windows, если хотите.

Шаг 4: Установите программное обеспечение: Вариант B: Arduino и Python

Установить программное обеспечение: Вариант B: Arduino и Python
Установить программное обеспечение: Вариант B: Arduino и Python

Вы также можете просто использовать простой встроенный скрипт Python, который воспроизводит MIDI-ноты.

Убедитесь, что на вашем компьютере установлен Python. Подойдет либо 2.7, либо 3.x.

Убедитесь, что у вас установлен пакет Python pygame. Если нет, запустите это из командной строки:

python -m pip установить pygame

Узнайте, какой адрес последовательного порта вашего Arduino. В вашей Arduino IDE будут последовательные порты, перечисленные в Инструменты | Порт.

В пакете CapacitivePiano, который вы скачали, вы найдете скрипт music.py, который является частью проекта на ПК.

Шаг 5: Установите программное обеспечение: Вариант C: STM32F103C и программное обеспечение для синтезатора MIDI

Установка программного обеспечения: Вариант C: STM32F103C и программное обеспечение синтезатора MIDI
Установка программного обеспечения: Вариант C: STM32F103C и программное обеспечение синтезатора MIDI

Если у вас есть STM32F103C, вы можете использовать любое программное обеспечение, которое работает с контроллером MIDI-клавиатуры.

На компьютере я использую виртуальную MIDI-клавиатуру для фортепиано (VMPK). Подключив STM32F103C, выберите Edit | MIDI-соединения | Введите MIDI-соединение, а затем выберите Maple MIDI или Diro Synth.

На устройстве Android я успешно использовал (с кабелем USB OTG) Common Analog Synthesizer и Synth DX7 Piano.

Шаг 6: Играйте

Играть!
Играть!
Играть!
Играть!
Играть!
Играть!

Подключите Arduino с эскизом CapacitivePiano к компьютеру. Не прикасайтесь ни к одной из «кнопок», пока не загорится только светодиодный индикатор питания, чтобы можно было откалибровать емкостные кнопки.

Для варианта без волос запустите мост MIDI без волос, выберите последовательный порт из раскрывающегося списка. Затем выберите синтезатор. В Windows, если вы выберете Microsoft Wavetable GS Synth, все должно работать.

Если вместо этого вы хотите использовать скрипт Python, убедитесь, что вы находитесь в каталоге, где у вас есть piano.py, и запустите:

python piano.py последовательный порт

где serialport - это последовательный порт из Arduino IDE (например, COMx в Windows).

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

Теперь нажимайте свои «кнопки» и получайте удовольствие!

Образовательные идеи для детей, с которыми можно экспериментировать:

  • Поэкспериментируйте с разными предметами на алюминиевой фольге и посмотрите, какие из них работают, а какие нет, а затем поговорите о том, почему они работают, а другие - нет.
  • Пластилин работает очень хорошо (и тогда вам даже не понадобится фольга и зажимы - вы можете просто воткнуть провода в пластилин, хотя, по общему признанию, это выглядит как бомба!).
  • Вы даже можете взять лист бумаги и заштриховать участки карандашом (он не должен быть очень темным, но штриховка - это хорошо) и закрепить их.
  • Вы можете прикрепить зажим из крокодиловой кожи к действительно большому металлическому предмету, например, к краю доски, и сделать гигантские ключи.
  • В качестве эксперимента попросите меньшего человека держать зажим из крокодиловой кожи, прикрепленный к одному из проводов, а затем попросите более крупного человека пожать руку или дать пять меньшему человеку и посмотреть, регистрируется ли это. Затем попробуйте еще раз, держа его в руках более крупного человека, а другого - касаясь его.

Просто убедитесь, что после каждого изменения того, что подключено к Arduino, вы сбрасываете Arduino, либо нажав кнопку «сброс», либо повторно подключив USB-соединение (а затем повторно запустите код python, так как он, вероятно, выйдет из строя), чтобы заново откалибровать датчики.

Можно обсудить электрическую емкость и емкостное зондирование.

Рекомендуемые: